• How to use Jest mocks

    For better or worse, my life has become infested by Jest mocks. I come from the land of dependency injection (I even gave a talk once!), but whenever I talk about dependency injection to JavaScript developers I get this reaction: Instead, mocking is king. Unfortunately, I’ve found Jests’s API to be confusing and the docs…

    Read More

  • Obfuscated Rhythm Games

    I’ve been a rhythm game fiend since my introduction to Dance Dance Revolution in the early 2000s. I spent years obsessed with DDR, took a detour into Beatmania, then played Guitar Hero / Rock Band nonstop for years. I haven’t gone deep on any rhythm games recently, but I check in on the genre from…

    Read More

  • There’s more to software development than coding

    Like many software developers, I’ve been considering the future of my profession in the face of AI. AI can write code. Our job is to write code. It seems natural that we’d be replaced by AI, no? But recently I’ve been considering the warning we give to up-and-coming hot shot coders. Folks flying through college,…

    Read More

  • Nitpicking in code reviews wastes time

    I once wrote about how I’ve stopped nit-picking in code reviews, which improved the signal-to-noise ratio and helped everyone get along better. I’m back with a third reason to ditch the practice: nit-picking wastes time. By definition, nitpicks are about minor problems: poorly named variables, slightly confusing logic, bits of duplicated code, that sort of…

    Read More

  • Hacking Displate (For Fun!)

    During the pandemic my weird vice/obsession became Displates (metal wall art hung up by magnets): Some of my Displates (along with other tchotchkes in my office) For me, part of the hobby was poking holes in their website. I’ve long stopped trying to give their devs heartburn, so I figured I’d document some of my…

    Read More

  • Don’t Cite Unsold eBay Listing Prices

    Journalists, I beg of you: please stop confusing unsold eBay listings for actual sales. I’m ticked off after seeing this Patch post about NYC MetroCards selling for $5,000 and this WSJ article about Trader Joe’s totes going for $50,000. Yes, someone listed these items for absurdly high prices (MetroCard, tote bag). But no one has…

    Read More

  • Balatro’s Least Erratic Decks

    My most recent “just for fun” project was to find the least erratic of the Erratic decks in Balatro (a poker-ish roguelike deckbuilder game). Before each game, you pick a deck that has a special power. The Erratic deck completely randomizes the ranks/suits of the cards (such that you could end up with 10 aces,…

    Read More

  • When Your Source of Truth is Reality

    Let me tell you a story about why one should be cautious with databases that track the real world. I play trombone in a local community orchestra. For the past two years, I’ve been the board secretary; part of my duties is keeping a roster of who is in the orchestra. We’ve got a database…

    Read More

  • Fix Your Microphone

    It’s likely that, at some point, you’ve had shitty audio during video meetings. Why? Because you don’t get immediate feedback for audio issues. With video, you can instantly see if your image is out of focus or if you’re not in the frame. You can’t easily tell if your microphone is unplugged, you’ve set the…

    Read More

  • Programming Priorities

    Software development (or, you know, life in general) is all about juggling priorities. For this post, I’m thinking specifically about code design priorities. You only have a limited amount of time to implement a feature, so you have to pick and choose which aspects of it to spend time on. Do you spend your hours…

    Read More