-

Common TypeScript errors and how to fix them
At work we recently changed the builds for our project to fail when new TypeScript errors are added, so I took some time to clean up a bunch of old TS errors in our codebase, some of which have been there for over 5 years. There were close to 600 errors when I started (down…
-

The Hunted Queen
As in the before times, this year I wrote a D&D one-shot adventure to share with my co-workers at Automattic. Sadly, I was only able to run the adventure for a few people because 2020. Still, it was a fun adventure and I wanted to share it with the internet, so here you go. (It’s…
-

grepdef: a quick way to search for definitions in code
I live inside my code editor all day and something that I need to do pretty often is to search for the definition of a symbol (a variable, constant, or function). For example, I might be debugging a problem in a JavaScript file when I come across this code: I need to see translateDataFromRaw to…
-

Unusual Things
Every year I write a D&D one-shot game for my friends and co-workers at the Automattic Grand Meetup. This year’s adventure was titled “Unusual Things” and has a certain… upside down feeling to it. I hope you like it! Here’s the blurb: Nothing much happens in the mountaintop town of Hawkurns, where the populace mines…
-

What I learned writing a game engine
One of the things I did on my recent sabbatical was to start coding a video game in JavaScript. I learned a lot in the process, and I thought I’d write down some of my experiences. (For the record, while I wrote the game engine myself, I used the excellent Pixi library for graphics.) Classes…
-

The Box of Souls
Another D&D one-shot I wrote, this one was run for my co-workers in Rome! Two powerful countries have been at peace for twenty years thanks to the actions of the mysterious Candlemane Family, who created The Box of Souls, a weapon so fearsome that both sides were forced to disarm. However, something strange is happening…
-

Time Greed and the benefits of slowing down
I just came back to work from a three-month sabbatical, and I wanted to capture some of the things I learned during that time. Part of my sabbatical was a meditation retreat where an important theme was paying attention to the forces of Greed and Aversion in our minds. Over the course of the retreat…
-

Await, there’s more!
This week I gave a talk at my local JavaScript meetup on the history, use, and future of Promises and I thought that you, dear reader, might be interested as well. Here’s the blurb: JavaScript is an asynchronous language; it is designed to react to events and to trigger jobs that take an unknown amount…
-

Alternatives to Else
One of the first imperative programming concepts I ever learned was if/else. With this relatively simple power tool I could make decisions in my code based on any number of factors. Of course, my early programs were… a little hard to read. I hadn’t yet learned one of the maxims of programming that I try…
