From the Couch of Ben Johnson

Father, Principal Engineer at Prodigy Education, serial hyperbolist.

✴ Lemons

Alex Russell in an amazing screed about JS-heavy frameworks:

These technologies were initially pitched on the back of “better user experiences”, but have utterly failed to deliver on that promise outside of the high-management-maturity organisations in which they were born.

This whole article mirrors my increasing sense of the failure of rich JS web apps. I don’t know if I’d go as far as Russell to suggest that this was deliberate, but I do agree the world of SPAs has not turned out as promised.

But even as the complexity merchant’s well-intentioned victims meekly recite…

Continue Reading…

✴ Remaking Iron Man

My 7-year-old recently watched the first Iron Man movie and part of the 2nd. Afterwards, he was inspired to re-create the film. He does this. We’ve done Jurassic Park, Godzilla, and Jumanji. Iron Man is the just the latest.

This whole process has yielded a few discoveries.

First, I’m impressed that he can tell that Iron Man 2 is not a great sequel. I mostly expect when he’s watching this stuff that he’s watching for the action scenes, but about 30 minutes in, he was not impressed and wanted to turn it off. So he’s picking up on more than I’d expect (or it’s a much worse movie than I remember).…

Continue Reading…

✴ A Fresh Coat of Paint for 2023

I love personal blogs as a place to experiment and play. In my day job, I don’t get to do much design work anymore, so my personal blog gives me a place to stretch those (very atrophied) muscles.

For this year my goals were to make something simple and clean, with more whitespace. The last few years have been somewhat suffocating. It’s time to crack open some windows.

The theme uses the Rosé Pine Dawn colour scheme (for both light and dark modes). It’s typeset in the same type as last year, Capricho by Hoftype. Check out those italics.

This site is powered by Micro.blog. Micro.blog is hard to…

Continue Reading…

✴ Scale to Zero with Fly.io Machines

I’ve written a bunch of hobby apps over time that I use to keep my life moving forward. I’ve got some small side projects, like http.ist and Lemur that need web hosting. I also have utility apps that filter podcasts from podcast feeds, truncate my RSS news, or show me the swimming schedule for my local pool (their website was terrible).

I’ve been managing a Kubernetes cluster on DigitalOcean for this, but it feels like massive overkill in cost and resources. As an alternative, I’ve been looking at Fly.io, a Heroku-like PasS. Fly has been great for an easy single-command deployment.

In the past…

Continue Reading…

✴ The Places of Mastodon

I’ve spent a few days diving into Mastodon and the ActivityPub Fediverse. It’s new to me, but so far there’s a lot I like about it.

I’m one of those old people who are still mourning the loss of blogs. The internet moved onto Twitter, but I’ve always valued having my own place online to write, think, discuss, and archive my thoughts (this website has existed in some form since 2001). In the past few years, I’ve been using Micro.blog to bridge my blog with the world of Twitter by cross-posting (I like and recommend it).

Domain names are really powerful. They communicate something more than just…

Continue Reading…

✴ Introducing RenamerThing

I’ve been a devoted “Paperless” person since 2012. I first got started with the ideas in David Sparks’ Paperless book, and I’ve grown my systems and practice from there.

The goal is that all the documents I might need are digital, organized, and findable. And all the paper is shredded and out of my life (and house).

For every document that needs safekeeping, my process roughly looks like this:

  • I use a ScanSnap scanner to scan to an OCR’d PDF in a folder called “Action”.
  • I shred the paper. This fills me with glee.
  • Hazel detects the new file, renames it, and moves it to the proper folder based…
Continue Reading…

✴ Arduino

I’m years late to this party, but the Arduino is so cool.

I’m a software person. I have almost no hardware experience outside of a high school class decades ago where we built hardware logic gates.

But, my kiddo has been falling down the Ghostbusters rabbit hole and he really wanted to make a ghost trap with blinking lights, sounds, and doors that open. It sounded like a perfect excuse to learn some basic electronics.

I bought the Arduino Starter Kit for like $100 CDN and it came with:

  • A microcontroller
  • LEDs to blink
  • Piezoelectric buzzer for beeping
  • A servo to open the ghost trap (naturally)…
Continue Reading…

✴ 1Password 8

1Password’s major rationale for moving from AppKit to Electron has been speed of development. They want to ship fast, and they don’t want the cost of supporting another native platform in AppKit. Allen Pike has a great rundown on this argument:

Slow is a dangerous place for a product company to be. Slow product teams tend to be outcompeted by fast ones. We complain about how Figma and Slack don’t feel native, but why are most of us using Figma and Slack? We’re using them because they outbuilt and outcompeted their native competitors. There are so many things that could improve in these…

Continue Reading…

✴ The Highlights

A few years ago my wife bought me a Kindle for my birthday, and I converted all my reading to the Kindle. I love the e-ink screen. But the feature that I’ve grown to rely on is the highlighting.

I’ve never really been a highlight-while-reading person. In university it always shocked me to see people tarnishing the pages of their incredibly expensive textbooks with brilliant yellow highlights. But, of course, highlights made on a Kindle are digital and sync their way up into the Amazon cloud. The highlights are downloadable, storable, and are a great starting place for notes.

To this, I’ve…

Continue Reading…

✴ Get Your Life Together With This Fridge Thing

I was on Amazon looking for a replacement crisper bucket for my fridge. I did not find one.

But, some of these before and after photos are amazing.

Who stores their eggs in a pile at the bottom of a fridge?

Before and after scene. Before has a pile of eggs on the bottom of the fridge. After has an egg rack.

There is no way that the food on the left is the same as the food on the right. Someone has clearly become a healthier eater.

Before and after photo. Before has no colour and has a lot of food all wrapped in bags. After has fruit and healthy foods displayed in drawers.

The secret to keeping your fridge tidy is to throw out half of what’s in it. (There might be some truth in this one.)

Before and after. Before has lots of food in a fridge. After has only a few things badly photoshopped in.

Continue Reading…

✴ Bring Back Captain Planet

It’s been 31 years since Captain Planet and the Planeteers was on TV. It was somewhat influential to my upbringing. My childhood self had awareness that the planet could use some help and there was actually something people could do about it.

Now that I have a kiddo of my own, I’m wondering what it would be like if you revamped this for today. Some rough thoughts in no particular order:

  • Just make the whole thing about climate change.
  • Jeff Goldblum is still working and is crazy enough to agree to reprise his role as an enormous rat-based villain. (Maybe he’s anti-vax and so wasn’t vaccinated…
Continue Reading…

✴ Lou’s Rum Cake

In April, my grandfather, Lou Siminovitch, passed after 100 incredible years.

He was famous in science circles for significant contributions to the study of genetics, the mentoring of hundreds of scientists, and sending letters to people to tell them how to do their jobs better. Later in life, the relationship he had with his wife provided fuel for the Siminovitch Prize in Theatre, the largest prize for theatre in Canada. He was honoured with the Order of Canada, the Flavelle Medal, and a slew of other awards. Personally, he had an incalculable impact on my worldview, ethics, motivations, and…

Continue Reading…

✴ Some People Are Still Hurting

This week my mind keeps floating back to a post written by Kottke from early in the pandemic:

Some people feel helpless & anxious.

Some people are bored.

Some people are self-quarantined alone and are lonely.

Some people are realizing that After will be very different from Before.

Some people are really enjoying this extra time with their kids and will miss it when it’s over.

Some people just got off their 12th double shift in a row at the hospital and can’t hug their family.

The whole piece is worth reading. It was written in March 2020 when we were all scared and trying to surf the…

Continue Reading…

✴ Start Small

I have a pattern I want to look out for and avoid.

When I have a habit I want to start, I bring the baggage of an expectation of what it would mean to do the final version of that habit. For instance, if I want to start running, I bring the expectation that a “proper run” is at least 30 minutes, or at least X fast, or at least 5 days per week. But, the critically important thing is just starting the habit. It’s way better to run for 3 minutes a day, slowly, twice a week than to push myself hard at the beginning, burn out, and never do it again.

I find myself doing this all the time. I can see…

Continue Reading…

✴ OmniFocus 4 Beta

Learn OmniFocus has a First Look at OmniFocus 4 coming on the heels of Omni announcing the beta.

TLDR: Switching to SwiftUI is allowing Omni to build new components for the iOS platforms that are much more akin to what we get on the Mac.

The iPad and iPhone versions of OmniFocus are great for quick entry or checking a list but I find they are not as easy to think in or work in as on the Mac.

The rapid editing of tasks and notes on display in OmniFocus 4 is a huge step in closing this gap. It also feels aligned with the design style of touch interfaces that have you directly manipulate your…

Continue Reading…

✴ Smart Home Standards “Matter”

We have some details on the new smart home alliance (now called Matter).

Stacey Higginbotham:

With Matter, consumers won’t have to research if their Nest cameras will work with their Schlage locks or if their HomeKit compatible sensors will also work with Alexa, for example. Developers won’t have to keep up with multiple ecosystems and integrations. Initially, this will only work across a limited number of devices, but those devices include lighting, blinds, HVAC, TVs, access controls, safety & security products, access points, smart home controllers, and bridges.

I’m half surprised it…

Continue Reading…

✴ Flushy the Toilet

We woke up yesterday to find a whole bunch of water puddled in our kitchen. There’s a toilet in my son’s room above the kitchen, but my wife and I investigated and it didn’t seem like it was leaking. Nevertheless, she called an emergency plumber to come check it out.

The plumber got here and in five minutes was like, “there’s a huge puddle of water on the floor… the toilet has been leaking for a long time.” I guess we didn’t look with our eyes. We think that maybe we had a waste basket underneath the leak for a while and so we never noticed.

The…

Continue Reading…

✴ Goodbye, Nest

The iPhone revolutionized more than just phones. When Tony Fadell first started taking about Nest, his startup that would take the battery and processor innovations from the iPhone and put it in something as boring as a thermostat, it was a revelation.

Nest had an incredible early run. With an extremely small team (less than 130 people) Fadell essentially created the smart home industry. The original Nest had Apple’s insane focus on out of the box experience, app design, and delight applied to a device that hadn’t changed in decades. It meaningfully improved user experience and the…

Continue Reading…

✴ Lemur Dev Diary: Filtering Continued

Lemur is a simple meal planning app in active development. I’m documenting some of the design, product, and development decisions as part of the Lemur Development Diary.

I’ve made some changes based on the discussion in the last post.

Current Design

I’m liking the distinction between main and sides. But, this introduces some new challenges:

  • I was having no problem categorizing things until I ran right into “Caesar Salad”. The salad can be a main or a side. And, of course, there are lots of dishes that operate that way. This isn’t boolean.
  • Restaurant is sort of weird here. Mains and sides have Difficulty,…
Continue Reading…

✴ Lemur Dev Diary: Filtering

Lemur is a simple meal planning app in active development. I’m documenting some of the design, product, and development decisions as part of the Lemur Development Diary.

The basic structure of Lemur has two main areas.

This is the Plan:

And this is the List of Dishes:

Choosing a meal time displays a list where you can populate a meal with a dish that already exists or create a new one:

Lemur’s core mission is to make the flow of looking at your week (or a few days into the future) and populating the list with meals as quick and painless as possible. To make this efficient, I want to focus…

Continue Reading…

✴ Lemur Development Diary

Some of my favourite programming writing is Brent Simmons’ Vesper Sync Diary. Brent does an amazing job of describing the challenges encountered while implementing sync: one of the hardest things in programming to do well. Sync is often talked about in the abstract, but Brent discusses the specific tradeoffs of various solutions in concrete examples for the late notes app Vesper. The sync diary made a huge difference to the way I think about programming and writing about programming. I’m going to experiment with doing something similar.

For the last four years, I’ve been working on a little…

Continue Reading…

✴ COVID via Aerosols

From a compelling article by Professor of Chemisry Jose-Luis Jimenez on the argument that COVID is transmitted via aerosols:

The visual analogy of smoke can help guide our risk assessment and risk reduction strategies. One just has to imagine that others they encounter are all smoking, and the goal is to breathe as little smoke as possible.

When I’m in uncomfortably close proximity, I naturally hold my breath. It’s nice to know that’s not entirely insane.

I propose the following: Avoid Crowding, Indoors, low Ventilation, Close proximity, long Duration, Unmasked, Talking/singing/Yelling (“A…

Continue Reading…

✴ Quickly Create Email Rules

I’m trying to get better at setting up email rules. If you’re not going to use Hey or something like it, you have to do some work yourself to not be buried.

I recently discovered that both Fastmail (which I use for personal) and GMail (which I use for work) support a flow to quickly create a rule from an example email.

In Fastmail, this option is “Add Rule from Message” in the hamburger menu:

This then pre-fills the sender and the subject:

GMail has the same option as “Filter messages like these”.

If you get into the flow of doing this regularly, this can quickly help get recurring and…

Continue Reading…

✴ From Kindle to Bear

I was looking for an easy way to import my Kindle highlights into Bear, as I’ve been using Bear as my knowledge management system (Zettelkasten). I want to be able to put my highlights in the same place as the notes for the books I read.

Two things made this really easy:

  1. Bookcision is this amazing bookmarklet that can take the Kindle highlights from Amazon’s highlights page (read.kindle.com) and dump it into a text file, or XML, or JSON so you can save it. This is good in case the Kindle site ever goes away, and it gives us a document we can work with. No matter where you’re putting your…

Continue Reading…

Reading this article I can’t help but think of a preschooler who desperately needs a time-out.

Mr. Trump is facing about as dire a run-up to a presidential election as any incumbent could imagine: the worst quarter in the economy on record, an unceasing health crisis, protests nationwide and a country paralyzed by the lack of a financial recovery plan with no solution in sight — all compounded by his own inability to curtail his behavior.

Sometimes 4-year-olds find curtailing their behaviour challenging.

Aides have described him as pained by the widespread rejection he is seeing in public…

Continue Reading…