The Canadian government is trying to push through yet another intrusive digital mass surveillance law , this time Bill C-22 . Here's the letter I wrote to my MP, Evan Solomon, outlining my hostility not just to its contents but to its entire vibe. I CC'd the sponsoring minister, Gary Anandasangaree, and the prime minister. Evan, Gary, and Mark, I’m writing to express my opposition to Bill C-22,…
A while ago I ran across a stack of old photos that I took at summer camp. I recall the camera I used quite clearly, because it used disc film . This marginal, unpopular format produced grainy, unfocused images due to the small size of the exposed negative. However, the compact format allowed disc cameras to be small, portable, and cheap; perfect for a kid to take camping. Looking at these photos…
It wasn't my intent, but quite a few of these turned out to be about work, labour, and power. In every sense of the word, folks were on the hustle, either head-on as in The Hammer , Offshore , and The Soul of a New Machine , or more obliquely, as in Niko Stratis's The Dad Rock That Made Me a Woman or Colson Whitehead's Crook Manifesto . Ancillary Mercy , by Ann Leckie Ancillary Sword , by Ann…
After more than 10 years, it’s finally the end of the trail for my Salomon X-Ultra 5 hiking boots. They go to their reward having safely delivered me across the deserts of Utah, the mountains of the Yukon, and the mossy cliffs of the Faroe Islands, among many other places. They were good boots because they were both sturdy and lightweight, and provided a good balance between support and…
I recently switched my Eleventy site from Nunjucks to Vento for templating. Mostly I just wanted to try it out, but I find I do prefer the {{ }} syntax over {% %} , and the ability to run vanilla JavaScript inside tags is nice. I won't rehash Chris Kirk Nielsen's thorough post on migrating to Vento , which came in very handy. But I'll share what I learned the hard way about Eleventy pagination in…
Only 13 total this year, although one of them was a biggie. The Age of Innocence , by Edith Wharton American Midnight: The Great War, a Violent Peace, and Democracy’s Forgotten Crisis , by Adam Hochschild Everything and More: A Compact History of ∞ , by David Foster Wallace How Infrastructure Works: Inside the Systems That Shape Our World , by Deb Chachra Hyperobjects: Philosophy and Ecology after…
This week, 1,779 days after publishing the first version of the first plugin, Embed Everything earned its 100th GitHub star . It’s a nice little milestone, and a good opportunity to take stock. By the numbers A snapshot of key stats about the project as of today: 1,512 commits 20,455 unit tests 1,924,929 npm downloads [1] More important than the vanity metrics of GitHub stars or npm downloads is…
Last week, I finally deleted all my tweets [1] . I haven't used Twitter for some time, and hadn’t posted in years, but the latest round of vaguely sinister terms-of-service updates prompted me to pull the plug for good. However, I wanted to keep an archive of my account, on my own terms. I wanted it to be lo-fi, low-maintenance, and low-cost. I'm happy to report that it worked: I’ve now got a…
The Environmental Registry of Ontario asked for comment on the province’s plot to kill Toronto’s bike lanes . Comments are open until November 20, 2024. Here's what my submission said: As someone who actually lives in a high-density urban environment, I can say from first-hand experience that adding bike lane infrastructure has made my life better and safer. I'm a frequent pedestrian, occasional…
This year I focused on completing some book series, while tracing back the original influences for others. Overall number is down this year, so something to work on. Ada, the Enchantress of Numbers , by Betty Alexandra Toole The Dark Forest , by Liu Cixin Death’s End , by Liu Cixin Dinosaurs , by Lydia Millet Eileen , by Otessa Moshfegh In Lonely Places: Film Noir Beyond the City , by Imogen Sara…
The first reason I like this song is its ’70s throwback vibe. That melodic bassline, the steel pedal guitar wailing in the middle distance, Natalie Mering’s Quaalude-deadpan delivery. Big-time Carpenters vibes. Here for it. The second reason is that it explores comparatively uncommon emotional terrain for pop music: the vague melancholy of an eroding platonic friendship. I think most adults can…
Background I maintain an Eleventy plugin, Embed Everything , which aggregates a bunch of other plugins. Until recently, I was keeping a separate Git repository for each package. It was getting to be a hassle, having to track issues, dependencies, and maintenance tasks across nine different repos. So after some experimentation, I decided to combine them all into a single monorepo . Here's how I did…
I leaned toward novels this year, while belatedly picking up some older non-fiction titles that had been on my to-read list for some time. Archives , by Andrew Lison, Marcell Mars, Tomislav Medak, and Rick Prelinger The Boy Kings: A Journey Into the Heart of the Social Network , by Katherine Losse Cleanness , by Garth Greenwell Dark Age Ahead , by Jane Jacobs The Heat of the Moment: A…
“Metropolis”, 2007, by Denyse Thomasos. Collection of the Art Gallery of Ontario. This week I had a day off and decided to go to the Art Gallery of Ontario, with no particular agenda. And I was absolutely blown away by the exhibit Denyse Thomasos: Just Beyond . I’d never heard of Thomasos (1964–2012) before, or seen any of her work. That added to the thrill of wandering aimlessly up to the…
Front and back views of a volunteer T-shirt from ChangeCampTO, February 2010. Recently I was clearing out some old stuff that no longer sparked joy™ and decided the time had come for this T-shirt. Instead of thanking the shirt , however, I thought it was more meaningful to eulogize the era for which it’s personally emblematic. I got it in exchange for being a volunteer facilitator — a “change…
🚨 Update, December 2024 Eleventy Image 5.0+ offers a better method for achieving this same result. It’s better for a few reasons: Relative image paths just work out of the box. You use standard image Markdown (  ), instead of a non-standard shortcode. In dev mode, images get processed on-demand, so build times are faster. I no longer use the custom shortcode method documented…
Years ago I wrote a blog post on creating dark mode with CSS variables . At the time it was more about jotting down the basic idea for my own benefit, but I never actually implemented it. A few weeks ago I felt the itch and decided I wanted to finally follow through for real. I’m pleased to report that the basic idea works well — you’re looking at it right now — but in putting it into practice, I…
Not a terribly long list this year but I went back to pick up some previous reads that I'd tried and failed to get through, so I’ll take it. In alphabetical order: Age of Extremes: The Short Twentieth Century, 1914–1991 , by Eric Hobsbawm A Children’s Bible , by Lydia Millet Death in Her Hands , by Ottessa Moshfegh Expressive Design Systems , by Yesenia Perez-Cruz Filthy Animals , by Brandon…
March 2025 I recently discovered that the Shopify UX blog was shut down and its archives are no longer online. So I'm updating this post with the full text of the original article. Many of the links are to the Wayback Machine, because Shopify.dev itself has changed again since I originally wrote this. Last week we unveiled Dark Mode for Shopify.dev , the developer docs hub for the Shopify…
From 2012 to 2018 I worked at Canadian Business magazine. The publishing business itself was crumbling around us, but I still loved the work and the magazine we were putting out. The dwindling budgets fostered a foxhole spirit among the remaining staff; we had to get creative to keep it all going. The magazine all but folded in 2017, when Rogers Media ended its print edition. CanadianBusiness.com…
One year ago, I published my first Eleventy plugin (and my first npm package of any kind): eleventy-plugin-youtube-embed . I’d recently rebuilt my personal site using the Eleventy static site generator, and wanted a simple way to add embedded YouTube videos in Markdown. I suspected others might want to do the same. Quite a few did ! Today I know that while it’s possible to make this task easy ,…
You’d think the waking nightmares of 2020 would prompt more escapist reading, but instead I zagged toward nonfiction. I do notice this list of authors is very male: something to work on. In alphabetical order: 1491: New Revelations of the Americas Before Columbus , by Charles C. Mann Against the Grain: A Deep History of the Earliest States , by James C. Scott American Radical: The Life and Times…
I recently released an open source Eleventy plugin called Embed Everything . It’s actually seven different plugins and counting , bundled together. I think it has potential! What it does The plugin turns URLs into embeds. For instance, drop a YouTube URL into a markdown file, and it comes out as the full thing. So this: https://www.youtube.com/watch?v=SQIYZ-iKuG4 Becomes this: Why do this? I…
March 2025 I recently discovered that the Shopify UX blog was shut down and its archives are no longer online. So I'm updating this post with the full text of the original article. Many of the links are to the Wayback Machine, because Shopify.dev itself has changed a few times since I originally wrote this. Photo by Nicole De Khors from Burst Today, Shopify relaunched its developer documentation .…
I’ve been working on a project recently where we occasionally deal with some pretty gnarly rebases. I recently learned how to recover from them much more easily. This is our setup [1] , which is quite common : The master branch runs in production The team contributes to a very active and long-lived feature branch. We branch off the feature branch and merge contributions back into it. Anytime…
Recently at work I had the opportunity to work on Shopify App CLI , a command-line tool to accelerate the development process for developers building on Shopify’s platform. For a product content strategist, an all-text user interface is both intriguing and intimidating. I got to write about the process for Shopify’s Partner Blog : Normally, content strategy is one piece of a much larger design…
February 2022: I finally got around to implementing this method for real . Apple introduced “dark mode” for macOS in late 2018 and now designers are scrambling to duplicate the look everywhere . While Apple’s own guidelines say dark mode is strictly an aesthetic preference, others cite benefits like improved battery life and reduced eye strain . I'm currently dabbling in my own site redesign, and…
Cron is the utility that allows you to schedule repetitive tasks on Unix-like systems. Mostly I use it to schedule backups: I have a little script that sends a copy of my database to Amazon S3 every day. It seems like it should be straightforward, but there’s a gotcha that I didn’t understand for a long time, and I think I’m not alone. You control Cron by editing your Crontab file with this…
February 2021: A few years ago I was involved in a digital theatre project called SpiderWebShow , which is still going today. In early 2015, the project members were each asked to articulate a vision of theatre in 2030. Our answers appeared as part of Sarah Garton Stanley’s article “ Spinning a National Imaginary ” in Canadian Theatre Review . I recently stumbled over my answers again and thought…
July 2022 : I recently ran across this recording again and wanted to make sure it was saved in my archive. Some of this advice still holds, although, listening today, it definitely shows its age. Recently I spoke about web analytics with Tina Pittaway, host of the Magazines Canada podcast, AudioMag . We talked about some of the ways magazines can measure their success online, distinguishing signal…