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 #43 (September 2026) (2026-09-06)
We had a couple trips essentially back-to-back in August, which made for a choppy, whirlwind month. First up, we flew out to California to spend a long weekend in Napa with some of Claire’s friends. Highlights included renting e-bikes and riding the Napa Valley Vine trail and visiting Muir Woods. The kids did great on the flight; guess they’re old pros at this point. Then we headed up to Delaware for our annual Rehoboth Beach trip. Even managed to make it onto the beach a few times, unlike some years past (the kids are generally much more excited about the arcade and candy store).
Dispatch #42 (August 2026) (2026-08-04)
August 2026 marks two big personal anniversaries: 25 years in Durham and 10 years in this house. Who would’ve thought? Certainly not Duke freshman Dave. Couldn’t be happier to be right here right now, though I might have made some different decisions had I known I’d be raising two small children in these increasingly cramped quarters. But that’s not how things work, is it?
Dispatch #41 (July 2026) (2026-07-14)
Nico turned two in June. What the hell! Where’s my baby boy, and who’s this sassy little dude running around my house. We threw him a farm-themed birthday (my man loves cows), then took the kids up to see their cousins in Richmond. The next weekend, we went camping with Claire’s family at Carolina Hemlocks Recreation Area. This was awesome – bit of a haul for sure, and the boy couldn’t handle the switchbacks on the way up the mountain, but we were rewarded with a beautiful campsite with river views and temperatures a good 20°F cooler than around here.
Dispatch #40 (June 2026) (2026-06-06)
April bled straight into May, so it felt like a three-week month and flew right by. We celebrated Claire’s birthday and spent Memorial Day weekend at Lake Norman. Then summer kicked in – ran the Running of the Bulls 8K with the kids and a friend of mine, and went to our local pool for the first time this year.
Dispatch #39 (May 2026) (2026-05-12)
Man, what a month. Rich with the stuff of life. THICK. High highs (Nev’s first ballet recital, an incredible trip to Asheville), low lows (the death of our next door neighbor Joel, a major health scare – don’t worry, everyone’s alright). Impossible to capture the feeling of it as I sit here, and frankly it feels silly to document all the dumb stuff I get into alongside the heavy shit, but I’m committed to this project. Let’s go.
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 Marky)
The joy of making stuff with a 3D printer | Note to Self (via) (2026-09-06)
Once I discovered Gridfinity, I went to town. When life feels out of control, there are few things more soothing than organizing small objects in little boxes.
Tiny E-Reader Is the Best Piece of Technology in Years - The Atlantic (2026-09-06)
In person, the Xteink is many things: plasticky. Flawed. Finicky. Nevertheless, it is the single best piece of technology that I have purchased in years. In the two months before getting this cartoonishly tiny e-reader, I finished only one book. In one month with the X3, I read three books without even really trying—and my iPhone’s average daily screen time dipped by 25 minutes.
Spring clean, fall prune – amanda untangled (2026-09-01)
Since it's the first of September and I can literally feel autumn in my bones, I wanted to spend some time today talking about a routine that my family and I came up with over the last several years. It's a rhythm that we've really come to enjoy at the turn of the season, every spring and fall equinox.
Changes to SourceHut's terms of service regarding LLMs (2026-08-31)
The use of LLMs or other generative AI tools to produce or assist with the production of source code, assets, tickets, emails, and so on, will no longer be permitted on SourceHut once these terms take effect.
ArtLung: Chuck Tingle and the Internet ~ 23 Aug 2026 (via) (2026-08-25)
The promise of the internet was that it was beautiful. “Charlie bit my finger” is such a fascinating thing. (The internet) was great but then the hand of capitalism evolved it against what it started as–human fostering human connection–and capitalism works to crushes connection. But the inertia of the universe is love, and sincerity is good. I think we can cycle back to that beautiful fostering of human connection.
The Future Of Knowledge Workers In An AI-Driven World (via) (2026-08-12)
But Workism has a weakness. Like religion, it relies on faith’s triumph over logic. What would happen, then, if something threatened that faith? A paradigm shift that broke the spell of Workism? A sort of enlightenment that caused Knowledge Workers to start asking tough questions of their organizations and themselves. And what would happen if Knowledge Workers awoke from the spell of Workism with no financially viable alternative? Well, it seems AI might offer us the pleasure of finding out.
A Philosopher’s One-Word Theory to Explain Why the World Feels So Weird (via) (2026-08-12)
In general, goodness is more context-dependent than badness. There isn’t really anything that’s good all the time for everyone independent of context ... But there are reliable ways to make people unhappy. There’s a set of evils that are close to universal: death, pain, illness, violence.
Pluralistic: Surveillance vs guillotines (11 Aug 2026) – Pluralistic: Daily links from Cory Doctorow (via) (2026-08-12)
In other words: for Bettencourt, doing nothing at all produced more wealth as founding the most successful corporation in the world did for Gates. Bettencourt, a person who owned things, did better than Gates, a person who did things.
FrostCam — Pause your webcam mid-call (2026-08-04)
A virtual camera for macOS that lets you freeze your webcam — or loop a short recording — in Zoom, Meet, Teams, FaceTime, and any video app.
LLMs reward expertise (via) (2026-08-04)
The usefulness of domain knowledge suggests that human expertise will continue to be useful even as models get stronger. For many tasks, the human is the bottleneck, not the model, because the difficult part is in communicating to the model exactly what kind of solution the human wants. The information is “in the model” already, but it takes a very smart human to pull it out.