james clear

Mar
02
60 Days (Mainly) Without Twitter

60 Days (Mainly) Without Twitter

Nearly two months later after planning to avoid Twitter, lead me to question the value of social media in my life. Here is what I discovered about the absence and return.
7 min read
Mar
17

Infrastructure in Life

The connections between building an infrastructure in your daily life and the book Atomic Habits by James Clear.
1 min read

Latest

DigitalOcean Referral Badge

Social Links


Mastodon
document.addEventListener('DOMContentLoaded', function() { // Get all links in the document const links = document.getElementsByTagName('a'); const currentDomain = 'foursides.ca'; const amazonAffiliateTag = 'four0b-20'; // Replace with your Amazon affiliate tag // Process each link Array.from(links).forEach(link => { const href = link.getAttribute('href'); // Skip if link is null, empty, or just a hash if (!href || href === '' || href.startsWith('#')) { return; } try { const url = new URL(href); // Handle Amazon links if (url.hostname.includes('amazon.')) { // Remove any existing tag url.searchParams.delete('tag'); // Add your affiliate tag url.searchParams.set('tag', amazonAffiliateTag); // Update the link attributes link.setAttribute('href', url.toString()); link.setAttribute('target', '_blank'); link.setAttribute('rel', 'nofollow noopener noreferrer'); } // Handle other external links (not Amazon and not internal) else if (!url.hostname.includes(currentDomain)) { // Add referrer parameter url.searchParams.set('ref', 'foursides.ca'); // Update the link attributes link.setAttribute('href', url.toString()); link.setAttribute('target', '_blank'); link.setAttribute('rel', 'nofollow noopener noreferrer'); } } catch (e) { // If URL parsing fails, it's likely a relative URL (internal link) // Do nothing for internal links console.debug('Skipping internal link:', href); } }); });T