I was at a Broken Social Scene show in Toronto and as the band walked onto the stage a handful of cell phones were raised to attention for the perfect shot.
To my left, an older man with a thick white mustache and complementary wiry beard pulled his phone out of his pocket. It was folded inside one of those leather cases with an awkward little peephole window in the front. Over the course of the show he recorded various snippets of songs with his camera app, each time flipping open the case, turning it on, hovering his thumb to find the icon he desired before tapping open a folder with a single camera app – the folder in question?
This was a minor distraction for someone who’s easily distracted. But there was something that distracted me more.
Behind the band, a kaleidoscopic background was spinning and spreading a trippy palette of color across the back wall. Watching the background transition and morph across pictures I quickly spotted the hallmarks of “AI generated” images. Each frame slipped into view, melding and merging, incremental shifts as faces and shapes surfaced as if seen through a technicolor fog.
There were unintelligible words, transcriptions of descriptions of letters no one has ever seen before.
All the lines drawn had a strange alien quality, gloopy ink splotches always straining to escape along their axis.
I thought about the artist who created the visuals. I thought about what prompt they used. I wondered how long it took them to generate the video – was this edited after the fact or was it the raw stream from an almost-bleeding-edge tool. Had there been a deadline?
And what happened when they first showed the results of their work to the band or whoever signs off on this sort of thing? Were they impressed? Did they comprehend how much this work was the result of a melting pot of the work of countless, uncredited artists? Did the artist consider the same, fatalistically wondering if their art in turn would be remixed and blended into a creative sludge, a stablised average of every unique inspiration anyone had ever conceived?
I would say I’m someone who’s slightly more online than average. As a result I know the tells of art that’s been procedurally generated. It’s not a notable skill, I’m sure thousands if not millions of others could do the same.
But for the average attendee of the show – or for people who don’t know or care to change the default name of a folder on their phone – I would wager these AI manifestations were only distracting because of their virtue: they looked impressive.
I’m not sure what happens next. We are nowhere near the widespread adoption of these techniques. They are yet to become commonplace although there are indications this transition is well on it’s way. Image generation may be able to lose those qualities that make it obvious but I think the aesthetics will be harder to scrub away.
The aging superfan next to me reached into his trenchcoat once more and fumbled for his phone. He flipped open the case, turned it on, hunted for the right app and tapped: “Folder name.”
A friend challenged me to describe 2022 in a single word and – true to my nature – I bristled at the mere idea. How could I summarise 365 full days around the sun with a single word?
Despite my reluctance, I think there is a single word to describe it: fragmented. 2022 was much more fragmented, bitty, piecemeal than the last few. I read less, wrote less, sent fewer newsletters, did fewer personal coding projects and – to cap it off – I failed to run a marathon in October.
But fragmented works as there were a few wins. I ran a half marathon earlier in the year, ramped up to some significant mileage over summer before pivoting to alternative gym exercising in the past few months of the year as a result of injury. I read a respectable number of books, partially aided by audiobooks (love you, Libby). I wrote (a bit) more about each book I finished and poured a lot of time into my blog. I picked up a new (old) camera and enjoyed rekindling my eye for photos.
It was fragmented because I was all over the place. My travel has picked up since the pandemic and I spent a lot more time with family in the UK and back in Ontario. I returned to my UK company HQ in Cambridge twice and was lucky enough to take a long week’s holiday in Japan in November.
I figured there’s a lot to reflect on this year. Here’s my attempt to digest and share what went well and what might happen to me now I find myself in the early days of 2023.
Slow newsletter year
Around the beginning of the pandemic I started a newsletter, ostensibly about network graph analytics and data visualization. In the last year, it morphed into more personal-adjacent writing about graphs and networks in the real world. In hindsight I had more time to devote to this side project during the pandemic and struggled to do it justice in 2022.
I never managed to define my target audience, real and ideal, and didn’t quite land the takeaways. It wasn’t clear to me why I was holding myself to strict publishing timelines of every other week.
I was also blithe in my unawareness of other, “real”, data visualization newsletters that have found and grown a strong audience for years.
I suspect the more personal writing alienated more of the original technical readers. But I learned not to care too much about this. I was writing what I wanted to be writing about. If it’s not for me then what’s the point?
After seven editions at the beginning of the year, I announced I was taking the summer off and made the mistake of closing my June edition with
I’ll see you again in September.
This… didn’t happen. And it’s not like readers are vocal or demanding, but the fact that I wasn’t able to polish and publish anything in the latter half of the year has weighed on my mind.
I have a draft almost, kinda ready to go, and I’m committed to getting it out. But is this something I want to dedicate more time to in 2023? I’m not certain.
Part of me thinks I was writing to aid my career, but three years later I’m comfortable with my progression and I’m not sure that’s necessary any more. There was always dissonance and conflict writing around the same sort of topics commercialized in my day job. Should I make an effort to write and learn more about things that aren’t graphs and data visualization? I’m not certain.
I read 56 (!) books in 2021 and 37 in 2022.
Prompted by reading “The Penguin Book of Japanese Short Stories” in 2021, I read a disproportionate amount of Japanese fiction this year. Particular highlights were two quirky novellas from Yoko Tawada and a magnetic little book called “Kokoro” by Natsume Sōseki. It took me a long time to get through the Makioka Sisters by Jun’ichirō Tanizaki – as I wrote in September, “glad I stuck with it but it was a slog at times.”
Looking back at the full list, “fragmented” is a good way to describe my reading. I struggled with a lot of books this year, leading me to add a new category to my reading log for “did not finish.” I have a few books I’m meaning to go back to and shelves of novels stacked in a silent prayer, waiting to be read. I like to think 2023 is looking bright for that.
The proportion of books read as audiobooks was up this year thanks to time spent at the gym or travelling. I listened to Bob Odenkirk’s memoir which was pleasant but uninspired, and followed it up with Steve Martin’s which was much more impactful.
Recording my reading publicly is a net benefit for the feeling of accomplishment and sharpening my critiquing pencil. I find it hard to have novel opinions but I’m slowly getting better. It does sometimes get in the way of choosing and taking time when reading books as my mind will drift to what I’ll say about it on my blog. The reduction in number of books finished this year and (gasp!) not including some books on my site helps with this.
My podcast consumption shrunk in favour of audiobooks. Apart from listening to standalone episodes of podcasts with interesting guests, I mainly spend my podcast time with lighthearted comedy podcasts from the UK and Canada.
I still read Private Eye every two weeks (thanks Dad!) but I let my Economist subscription lapse. I always find it rewarding but couldn’t carve out the time required for such a dense “newspaper.” I try to pick one up every once in a while as a little treat.
There’s been a shake-up in my newsletter consumption. I read Money Stuff and Today in Tabs religiously and have picked up nothing here as an horrifyingly essential summary of news around technology, climate and social issues. I’m finding other old favorites to be… less essential. I still like hearing of Duncan Geere’s updates although there’s a lot of “viral intellectual content of the week” filler. Daniel Miessler’s cybersecurity-skewed news update has become less interesting to me and I subscribe to Sentiers but find it aloof and aspirational rather than realistic and actionable. It takes a lot for me to swipe “mark as read” but I’m learning to do it more and it’s strangely liberating.
Albums of my year
More fragmentation. I’ve always prided myself on having an eclectic taste but find myself skewing towards accessible indie-pop/rock/folk instead of anything challenging. This is fine, here are some highlights!
Labyrinthitis by Destroyer is probably my Album of the Year. June is transcendent.
Actually, scratch that, the Deluxe version of Remi Wolf’s Juno album came out in May and it’s incredible. I’ve almost certainly listened to much more of that this year than any other album. Infectious vocals, fresh approach to music production and so. many. ear worms.
Blue Rev by Alvvays blew me away, Expert in a Dying Field by The Beths is another winner but has made me aware of their even-better earlier album, the hooky Future Me Hates Me.
I have a real soft spot for Bleed Out by the Mountain Goats. It’s the best Mountain Goats album in years – and that’s coming from someone who loves latter-day Darnielle. Only the clanger “Need More Bandages” with the uninspired chorus chant of “We’re going to need more bandages!” distracts from an album of perceptive lyrics and sinewy melodies. Don’t skip on “Hostages” – for some reason that eludes me, the line
Good luck to the guys.
makes me laugh out loud every single time.
I spent a lot of time with 4 Guitars by Bill Orcutt – deliciously dissonant.
Asphalt Meadows by Death Cab was my official “album to listen to while on a plane”
The horrifically-titled d E A T h ~ b U g by ORANGEPURPLEBEACH (a new moniker for John Vanderslice) was a sleeper hit for me.
Other strong contenders: Painless by Nilufer Yanya, Turn it On! by Romero, Vulture Prince, Bartees Strange, Indigo De Souza, oh my.
I don’t know Wilco that well, although I suspect I saw them live once. Their older, less popular album, “Sky Blue Sky” was on heavy rotation for me this year.
Over in the guilty pleasures department, I listened a lot to Hotel TV by Lawrence and In These Silent Days by Brandi Carlisle.
One new ritual this year is putting on Iggy Pop’s Confidential on a Sunday morning. It’s a fantastic mix of music and I always find at least 5 new artists or records I want to spend more time with.
None of these music choices are unique but this unwieldy section makes me think I should enthuse more about music on this here blog in the future.
I can’t say I moved the needle on my guitar playing this year. I want to play more music in 2023 and even try to record and release a selection of original music.
I’ve always wanted to be a person who is proficient editing text with vim, my lack of vim skills has irritated me for decades but this year I made a concerted effort and learned to use vim and am actually okay using it and: I’m not sure it was worth it?
It’s weird to cross off an aspiration as half-complete but actually complete but that’s what I’m going to do. I know enough vim to be dangerous and can extend my knowledge more over time. But this isn’t hanging over my head like it was before. How stupid of me.
After falling for the hype of “tools for thought” as procrastination for true intellectual and creative output, I’ve pared my use of productivity tools down to Things, Readwise w/Reader and Obsidian and I’m not sure about Obsidian.
I’m particular about the tools I use and have been a Workflowy maximalist for a few years. I used it to track lists and todos in it’s unique infinite list capability.
I’m more interested in battle-tested native macOS and iOS apps in 2023. I want to support small teams that have a laser-focus on good UI and UX. The broadening of the capability for both Workflowy and Obsidian gives me pause and, ultimately, their “wizzyness” and novelty is a distraction from getting shit done.
Projects and shipping
I had two large projects this year: tweaking my blog site and thinking about all the source/target newsletters I wanted to write.
I adore the layout of my blog. The thin, responsive column format is unusual but has a density and personality to it. There’s scope for a re-style but I think it will last in it’s current form for a while. I streamlined the ability to add photos this year and added automated Twitter Social Share image generation but, on balance, I’ve spent more time on writing and publishing than on site tweaks. I’d like to post more “notes” and longer-form “posts” in 2023.
Hit by COVID and self-isolating in July, I did something totally reasonable and made a new website. I forked a repository for a site that documented book review scores from a productivity podcast and rebuilt it to track reviews from one of my low-key favourite podcasts, Evil Men. This was a lot of fun although I the low-level Eleventy configuration and my still-poor CSS skills bogged me down.
I spent a lot of time on three other projects: one semi-secret, one barely released and a third set to be mothballed.
The semi-secret one was something I’ve been proud to be a part of. I’ve long been a lone coding coyote pup, rattling around a git repo on my own. Collaborating with a small team on something I like to think I know something about has been eye opening. I don’t see many chances for this in the future so it’s been a nice change.
For part of the year, I worked on a tiny little project that made me smile. The idea came to me earlier in the year and I couldn’t stop thinking about it until I cobbled something together. I worked out how to host a website from the Raspberry Pi in the corner of my office and kickstarted leaving.live back in September.
What is leaving.live? It’s a website that tells you when other people leave the website.
I had big, small plans for leaving.live but couldn’t find the time to enact them. And then something funny happened, I linked to it as a work in progress earlier this week and it resonated with others, to my surprise!
Thousands of people have shared and marvelled at it since then and I’m so pleased. All my planning and anguish over not finding the time for improvements melted away. It was perfect as it was.
The final project is a public labour of love: many people use Send to Workflowy to quickly add text and links to their Workflowy account. It’s bizarre that this capability is missing in an otherwise feature-rich product. I released it in May of 2021 but I never truly “launched” it. I was hesitant to be fully responsible for a live service and aware of the shaky foundations I was building a pseudo-SaaS product on. I spent a fair amount of time this year hacking on new infrastructure using fancy low-cost tooling like fly.io and CloudFlare Workers. In the end a low key announcement that first-party API support for quick capture is on the way means that it’s just not worth my time any more. I’m proud that one of my repos on Github has accrued a (small) number of stars and I learned a fair bit.
Both leaving.live and Send to Workflowy teach me something for 2023: ship and share your projects early! Everything is a draft! Oh and: kill your projects early too!
After six years in the same role, my company promoted me at the tail end of 2022. I’ll face some new challenges as a manager as we continue to grow the business. I suspect this will fill my winter long work days but I prefer that to twiddling my thumbs and stagnating.
I do want to carve out the time away from work to keep happy and healthy. This means recovering from my injury enough to get back to running. It means making time for fun projects and not letting the less-fun bits drag me down. It means making time for my wonderful partner and family.
In short: more of the good stuff, less of the bad stuff. A bit less fragmented, a bit more joined up.
On November 29th I gave a talk at the CambridgeJS meetup on a favourite topic of mine: the static site generator Eleventy. I gave it the listicle-adjacent title “Eleven Reasons to Love Eleventy” but I didn’t go to great lengths to declare what each of these were.
Slides and notes from my presentation are available but I wanted to spell out the bones of my talk and record the magnificent Eleven for posterity.
Simple & Flexible
Unlike other static site generators, Eleventy supports many template languages out of the box. My preference is Nunjucks, a reasonably intuitive language to do a sort of meta-programming on top of whatever file you wish to generate.
Eleventy allows you to use a blend of different templating languages in one site. One benefit of this flexibility is that it makes the process of migrating over from a alternative generator a cinch: you can “progressively” migrate content and formats as needed.
Eleventy pagination makes it easy to split collections of materials into chunks for your site. It can also be used to create multiple outputs for the same input – I use it to generate OpenGraph images for social sharing and email markup for my newsletter.
Underpinning every Eleventy configuration is a flow of data from a variety of different sources and blended together according to a hierarchy of inheritance. For the best summary of what this means check out Ben Myer’s full coverage.
Eleventy doesn’t care about the other libraries and tooling you may wish to use. There are countless starter templates covering a wide variety, from Gulp to PostCSS, Tailwind to Vite. As an extra bonus many of these have full marks over on Google Lighthouse.
There are a wealth of fantastically useful plugins for Eleventy. Many plugins are official ones solving real problems in convenient and modular packages.
The documentation and ethos of Eleventy prioritises and promotes accessibility when building websites. Official plugins like Inclusive Language normalize considering accessible language when writing content for an Eleventy site. As per the documentation (emphasis mine):
It’s very important that we take responsibility for the code we publish and deliver and strive to correct accessibility issues with the same veracity as a full service outage.
I’m a nosy web browser – whenever I come across a site that impresses me I reach for one of my favourite Firefox extensions: Wappalyzer. This takes an educated guess at the technologies used to build sites. A site built with Eleventy will have very few “tells” that give away it’s generator and it’s invariably the fastest sites that don’t have anything in their Wappalyzer results.
On the other (server) side – Eleventy builds are very quick to run and will provide pointers if particular configurations start to slow down the build.
My experience with the Eleventy ecosystem is that of collaboration and camaraderie in the name of making great websites. The Eleventy community Discord is friendly and the regular Eleventy meetups are supportive and welcoming.
Finally I find that the documentation and general ethos of Eleventy is fun – from the reassuring possum mascot to irreverant humor sprinkled around the documentation.
I like to say that Eleventy sites are “hand-crafted but not by hand.” By being in full control of the process outputs it’s fun to build sites that have everything you need and nothing you don’t.
My handwriting isn’t very good. You might even go so far to say it’s bad. I remember being told to write my name again and again at school as I couldn’t seem to get my cursive to a good enough quality for my teacher. After years of preferring to hammer away with the clacky safety of a keyboard I find myself reaching for a pen a lot more often than ever before. I scratch away with a feisty little compact fountain pen in a little journal and dabble with sketching pictures as a form of self-acceptance for a handwriting ability I was always ashamed of.
At this time of year my usual error is to coast into a “Christian” when I mean to write “Christmas,” but writing a handful of cards today my mind wandered and I slipped out a “great” when I meant to write “grateful.” I stared blankly at the page and considered scrapping the card in favour of a clean slate – a fresh card without evidence of err.
It’s hard to make this sort of error when typing an email. You may make typos but you’ll summon the squiggly reds and some forgiving, trusty backspacing will make everything okay. The tablet I use for sketching has a helpful undo button but every press and resulting removal of the last stroke feels like a cheat, a betrayal of the intent of the moment.
I leaned into the “great” mistake and made it part of the message with a splotch of extra ink. I don’t think it looked bad. In fact, in some small way, I think it made it better.
When writing a card my handwriting is me, writing a card, by hand. Making mistakes is okay.
I get a small amount of joy from the handful of newsletters I subscribe to. Here they are in no particular order.
Drawing Links is the newsletter I recommend to everyone. Subscribe for little comic strip vignettes from Edith’s day-to-day accompanied by high-quality recommendations and her sharp eye for humour.
Dense Discovery is a blend of productivity and design along with a smattering of climate and environmental coverage. It’s one of the more beautiful emails I receive and, arriving on Monday, it slots comfortably into my inbox as I start my week.
This newsletter feels like a secret: Paul collates submissions to Hacker News that point to personal and independent sites. By avoiding the links that ascended to the front page it’s a helpful look at the nearly-made-its.
The signal-to-noise ratio is skewed slightly to the noise, but it’s smaller compared to the Hacker News firehose. I’ve found a wealth of interesting views and people through this newsletter.
Hello from Duncan
Duncan’s newsletter helped me appreciate the value of working in public. In it he recounts and discusses that which he’s worked on in the last 10 days. Since reading the reborn version of his newsletter I’ve understood better how I work and reflected on how I can be a better contributor to projects.
I don’t remember actively registering for this newsletter and I stopped listening to Reply All a while ago but I let these recommendations slip into my inbox as they’re often good value. It’s funny to see the creep of Spotify links into the recommendations since the acquisition.
Today in Tabs
A relative newbie, it took me a few editions to appreciate the zippy, irreverent Today in Tabs from Rusty Foster. I’m since a convert, Rusty lives and breathes misanthropic internet and exudes equal parts joy and disdain for the world wide web in 2021.
Like an overstuffed tab bar of pages you promise you’ll read, each edition groans under the weight of itself. I always get a mixed wave of disappointment/relief when I reach the end.
An Irritable Métis
I love Chris La Tray’s writing and appreciate his perspective on some important topics. Arresting and disarming.
Exclusive Content by Megan Koester
Exclusive Content is exhausting. Acting as a biographical outlet, commentary on the dysfunctional comedy industry and scathing look at late-stage capitalism, Koester’s emails are an (un)healthy dose of anger and skepticism.
Daniel Miessler’s weekly email summarizing news on cybersecurity and technology was the first newsletter I subscribe to where I realized people were committing to writing and creating a newsletter.
Miessler does a great job at giving enough commentary on news to be helpful but not overbearing.
Where’s Your Ed At?
When I first read Ed Zitron’s newsletter I was turned off by his tendency to ramble. Recently, however, he’s truly knocked “it” out of the park with some head-turning takes on remote work and related topics. It’s refreshing to read someone so utterly committed to their takes and I like that.
I subscribed to Money Stuff years ago but had to cut it loose after feeling overwhelmed by the sheer volume and quality of this daily newsletter. I picked it up again this year during the GameStop chaos and find it a really rewarding read. Levine’s writing is superb and I’m constantly in awe of his voice and ability to explain. It’s also really funny!
I find this newsletter a little infuriating – it seems so effortless. Photographer Noah Kalina shares some photos and a short commentary on life’s mundane side quests. It always makes me smile.
An airy mix of internet and art, Laura Olin’s newsletter is short and well-crafted.
Data is Plural
A fantastic newsletter and resource: Jeremy Singer-Vine curates and provides links to datasets available online. It’s an impeccable treasure trove of real-world data.
I don’t remember the last time I used a public water fountain on a run but I do remember using them. It’s a sunny day, I’m sweating profusely and dehydrated, perhaps planned or maybe stumbled upon, it’s a welcome pause.
Here in Victoria a lot of the public water fountains are encased in stones and cement. There’s often a bowl at the top with a button for operation and a mirrored bowl at the bottom for dogs – it makes a pleasing Z-shape to the eye. I say the bottom bowl is for dogs, I occasionally see people walking rabbits on a leash nearby but I’m not sure they use the fountain. During the pandemic I’ve settled into a running route that has at least three of these water fountains but for various competing reasons (winter, COVID) I haven’t touched them.
On a run a few weeks ago I saw a tall dog drinking out of the human end of the fountain. This dog was very tall, it’s head was comfortably above the basin and his owner/enabler had pressed the button. I thought back to the many times I’ve used water fountains in the past, how I’d been told they were unclean but how I’d used them anyway. Was the assumption today that the fountains weren’t being used due to COVID so why not? It’s unclear. Perhaps the dog was simply too tall to bow it’s head to the ground? It’s a possibility but perhaps unlikely. The bottom bowl was left alone.
I like loops and cycles. The feeling of resolution when something comes back to where it started. Or the synchrony of two plans coming together. I don’t like carrying things when I run so on multi-hour routes I’ve resorted to stashing a coin for a convenience store refuel. I sometimes daydream about leaving a bottle at a strategic point and looping back halfway through my run. I never do it, I’m concerned it would look suspicious or – more unlikely – be tampered with in some way.
Last week I saw a human sweep a little, short dog into their arms before holding them above the water fountain. Perhaps this dog was simply too short for the dog end of the stony-Z? As he lapped at the stream I thought how the fountain would look untouched once the thirst of the terrier was quenched.
I’m ruthless when it comes to the apps and tools I use. I could have used a piece software for a decade but if it becomes unmaintained or lags behind an alternative I’ll drop it. I’ll also try anything out in the name of a potential productivity or minimalism improvement. Here are the applications and software that have made the cut. For now.
I used the indispensable Homebrew package manager to install most of the software on this list. I don’t like the way it tries to update everything before running the command I want it to. Otherwise it’s perfect.
I use these in a few ways integral to how I work. I bind CapsLock to ^+⌥+⌘ and use it to launch all my apps with a single keyboard shortcut. When pressed alone it counts as a single ESC press. I’ve replaced the use of various window management tools over the years with a home-baked approach cobbled together in Lua.
I’m not sure how it’s happened but my ⌘+TAB muscle memory has been miscalibrated to fail me almost every time. It could be because I often use ⌘+W to hide an application window which then makes it impossible to un-hide from the ⌘+TAB.
I found AltTab last week and it’s a game-changer. Another Open Source tool, the aim of the software is to replicate the Windows Alt-Tab pane but it’s the most feature-complete and responsive application switcher I’ve ever seen.
The thumbnail previews are nice but overall my favourite feature is preventing the pane from showing applications which don’t have any visible windows.
In defiance of the name I’ve mapped it to ⌘+TAB and I’m never looking back.
I used standalone licenses of 1Password for over a decade but couldn’t bring myself to finally stump for a subscription to an app that seems to be getting worse by the year. BitWarden has been an admirable replacement that syncs across all my devices (macOS, iOS & Android) with minimal fuss. After using it for a few months I bought a modestly priced subscription.
The product design restraint on this tool is remarkable: it has a single feature.
Aware keeps a running total of how long you’ve been actively using your Mac. That’s it. It doesn’t force you to take a break or shame you for getting lost in some code, it’s just a simple reminder of the time you’ve invested in the current task.
After extensive evaluation of other notetaking tools I always slip back to Workflowy — and for good reason. The multi-platform app now houses, as a non-exhaustive list, my many todo lists, nodes, writing outlines, meal plans & newsletter planning.
The keyboard shortcuts are a little janky and the iOS experience leaves a lot to be desired but the reliability, collaboration, minimal interface & longevity puts it ahead of alternatives.
There are thousands of “text expanders” or snippet tools out there. My pick is aText for the one-time cost and flexibility. This has saved me countless hours of typing: any text I copy-paste more than once goes into aText.
After a few years of using VSCode I’m back using Sublime as my daily driver. The visual cruft and overstuffed sidebars of VS Code were becoming a little too much – I missed the simplicity and speed of a native text editor. There’s more setup required and the plugin ecosystem is a little stale but it feels good to be back.
My use of Sublime Text for years led me to use Sublime Merge on release. I love the keyboard-oriented interface and native app experience. As a mediocre git user who often resorts to fresh clones to avoid reading the docs Sublime Merge is a dream to use.
Is it necessary? No. Does it feel nice to use good software? Yes.