I’m a technologist in Durham, North Carolina, USA. I write about adventures with my family, stuff I make, and interesting things I find on the web.
Journal
Dispatch #32 (October 2025) (2025-10-04)
Claire took the kids away for a weekend with her sister and some childhood friends, all of whom have boys roughly Nico’s age. I find myself home alone for the first time in … I don’t know how long, before Nev was born almost four years ago. Strange feeling – so quiet. Not bad, just so different from my normal life. I can’t believe I used to live like this.
Dispatch #31 (September 2025) (2025-09-08)
Big month! Nico took his first steps. Nev’s onto a new school (well same school, but moved from the 0-3 building to the 3-5). She seems to be taking to it pretty well, but keeps asking if she can go back to being a little girl, which is adorable and absolutely heartbreaking.
Dispatch #30 (August 2025) (2025-08-05)
Nice to have a quieter month. We went down to Lake Norman for the Fourth, but otherwise stuck around town. Mom and Dad came down to celebrate Mom’s birthday, hit up Marbles (which Nev loved so much she snuck away and we had to organize a search party) and a Durham Bulls game.
Dispatch #29 (July 2025) (2025-07-03)
Big month: birthdays, travel, lots of music. My boy turned one – time friggin’ flies. He is on the move, talking up a storm, and getting into everything.
Dispatch #28 (June 2025) (2025-06-05)
Bamboo killing season is over, now we’re onto goddamn cockroach season. I’ve lived in the South for a quarter century but I don’t think I’ll ever get used to seeing one of those things scurry across the floor. We went down to Lake Norman for Memorial Day weekend, spent a bunch of time on the new (to us) pontoon boat. So much fun. The kids loved it, and I look forward to many more years with them out on the water.
Elsewhere
Local Docker Best Practices (viget.com, 2022-05-05)
Here at Viget, Docker has become an indispensable tool for local development. We build and maintain a ton of apps across the team, running different stacks and versions, and being able to package up a working dev environment makes it much, much easier to switch between apps and ramp up new devs onto projects. That’s not to say that developing with Docker locally isn’t without its drawbacks1, but they’re massively outweighed by the ease and convenience it unlocks.
“Friends” (Undirected Graph Connections) in Rails (viget.com, 2021-06-09)
No, sorry, not THOSE friends. But if you’re interested in how to do some graph stuff in a relational database, SMASH that play button and read on.
Making an Email-Powered E-Paper Picture Frame (viget.com, 2021-05-12)
Over the winter, inspired by this digital photo frame that uses email to add new photos, I built and programmed a trio of e-paper picture frames for my family, and I thought it’d be cool to walk through the process in case someone out there wants to try something similar.
Why I Still Like Ruby (and a Few Things I Don’t Like) (viget.com, 2020-08-06)
The Stack Overflow 2020 Developer Survey came out a couple months back, and while I don’t put a ton of stock in surveys like this, I was surprised to see Ruby seem to fare so poorly – most notably its rank on the “most dreaded” list. Again, who cares right, but it did make me take a step back and try to take an honest assessment of Ruby’s pros and cons, as someone who’s been using Ruby professionally for 13 years but loves playing around with other languages and paradigms. First off, some things I really like.
Links (from Pinboard)
The Autistic Half-Century (2025-10-05)
But in another sense, all this separation makes them more integrated with society than they've ever been. A disproportionate share of the software and hardware I used to write this article, and that you're using to read it, was produced by people on the spectrum. You are, in some tenuous but meaningful sense, interacting with all of them. And, mercifully, you aren't even attempting to make eye contact.
Is the “cost of inference” going up or down? – David Crespo (2025-10-05)
In Zitron’s analysis, it’s always bad. It’s bad when they raise too little money because they’ll run out. It’s bad when they raise too much money because it means they need it. It’s bad that AI is so little of big tech revenue, but somehow also “Google, Microsoft, Amazon and Meta do not have any other ways to continue showing growth.” Meanwhile, they are posting record revenue and earnings every quarter.
Two modes of Internet use – Tracy Durnell's Mind Garden (2025-09-29)
I’ve found my relationships are healthier when I keep my offline-first relationships offline (e.g. not following each other on Facebook or Instagram) — following someone’s Instagram makes it feel like I know what’s going on with them without interacting. Following offline friends on social media can reduce what used to be normal friendships into parasocial relationships.
Why I'm not rushing to take sides in the RubyGems fiasco (2025-09-29)
We are in the midst of a Ruby drama for the ages. I'm sure a bunch of people figured we were all too old for this shit, but apparently we are not.
Hades II: v1.0 Now Available! | Supergiant Games (2025-09-27)
We couldn't possibly be more excited to announce that we've completed the Early Access development of Hades II, and officially launched v1.0 of the game!! It's now available on Nintendo Switch 2, Nintendo Switch, Steam, and the Epic Games Store. Whether you've been playing all through Early Access or this will be your very first foray into our take on the Underworld of Greek myth, we welcome you and thank you for joining us!
GitHub - jwilber/roughViz (2025-09-27)
Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.
Uses This / Roly Allen (2025-09-27)
I'm the author of The Notebook, a History of Thinking on Paper, which so far as I know is the first and only book on the subject, and thank-you-Jesus has been well received. I'm currently writing another history, but I can't tell you what of, and my day job is in illustrated book publishing.
David, please stop posting (2025-09-26)
I think most rubyists would be pragmatic enough to just accept things for what they are and let them settle, if he'd just let them. If he stopped posting inflammatory rightwing nonsense then we could all pretend he wasn't drunkenly stumbling towards the open arms of QAnon and the manosphere with tears of joy on his face. The deal is this: if he can shut his mouth, we can hold our noses. Then we can all make this work despite our differences.
The Last Days Of Social Media (2025-09-16)
The problem is not just the rise of fake material, but the collapse of context and the acceptance that truth no longer matters as long as our cravings for colors and noise are satisfied. Contemporary social media content is more often rootless, detached from cultural memory, interpersonal exchange or shared conversation. It arrives fully formed, optimized for attention rather than meaning, producing a kind of semantic sludge, posts that look like language yet say almost nothing.
Just a few years ago, Rails was supposedly “dead.” The framework that once powered 90% of Y Combinator batches had lost favor. Shiny new alternatives took center stage. Rails was declared passé. What happened next teaches us everything about how to evaluate a technology, not just Rails, but any framework, language, or tool that promises to change how we build and collaborate.