I’m a technologist at Viget in Durham, North Carolina, USA. I’m passionate about making things (both digital and analog), sharing what I’ve learned, and consuming mindfully. More about me.
Journal
Migrating from GitHub to SourceHut (2024-11-05)
I’ve moved this site’s repository from GitHub to SourceHut, an alternative, open-source Git host. I thought I’d take a few minutes to explain the why and the how.
Dispatch #20 (October 2024) (2024-10-01)
Note: I’m trying to get back to posting these in the first couple days of the month, so this dispatch only covers the last two weeks.
I turned 42 this month (apparently I have a very common birthday). Hitchhiker’s Guide aside, 42 doesn’t seem a particularly important milestone, but it is the product of six and seven, and so 42 represents the end of my seventh six-year cycle, which is an interesting way to think about the phases of life.
Dispatch #19 (September 2024) (2024-09-15)
Highlights this month were our annual trips to Rehoboth Beach and Beaufort. There’s something I really like about travel traditions, especially with kids. You get the benefits of breaking the normal routine, but you’re able to build familiarity and not feel the need to see and do everything. It’s different than visiting some place you probably won’t see again.
Dispatch #18 (August 2024) (2024-08-13)
Our boy’s two months old today! Look at this little dude.
Dispatch #17 (July 2024) (2024-07-10)
We welcomed baby Nico on June 12. He and mama are both healthy and well. Nev’s a great big sister, if a little vigorous with her affection at times. It is a big shift, going from double coverage to single, but Claire and I both grew up in four-person households, and something about adding a second kid resonates at a very deep level.
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. My current project is a social network of sorts, and includes the ability for users to connect with one another. I’ve built this functionality once or twice before, but I’ve never come up with a database implementation I was perfectly happy with. This type of relationship is perfect for a graph database, but we’re using a relational database and introducing a second data store wouldn’t be worth the overhead.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. In short, it’s a Raspberry Pi Zero connected to a roughly 5-by-7-inch e-paper screen, running some software I wrote in Go and living inside a frame I put together.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.
Links (from Pinboard)
Stop Pretending Trump Is Not Who We Are (2024-11-06)
For those who have long insisted that Trump is “not who we are,” that he does not represent American values, there are now two possibilities: Either America is not what they thought it was, or Trump is not as threatening as they think he is. I lean to the first conclusion, but I understand that, over time, the second will become easier to accept. A state of permanent emergency is not tenable; weariness and resignation eventually win out. As we live through a second Trump term, more of us will make our accommodations. We’ll call it illiberal democracy, or maybe self-care.
On Working With Your Passion | datagubbe.se (2024-11-05)
I think this - be it romanticized fantasy or actual historical fact - is what a lot of us programmers, deep down, desire from our professional life. Sadly, we're not celebrated geniuses working at the research department of a telecomms monopoly during the rise of an empire. We're instead doing yet another customer checkout form for a mid-sized e-commerce site, helplessly watching our profession slowly, as Marx put it, "sink into the proletariat". Meanwhile, we secretly feed the little part of us...
How many hobbies is too many? • Buttondown (2024-11-04)
Hobby is capitalism’s word. It’s a crumb from capitalism’s table. Capitalism is happy that you have a hobby, especially if it can sell you HO-scale train sets to complete it, but that hobby can never be taken as seriously as what capitalism might need from you. (Oh, and that thing capitalism might need from you? Well, design is your passion, so they don’t really need to pay you adequately for that, do they?)
Cabel Sasser · Videos · XOXO (2024-10-21)
“Don’t waste this. Keep everyone guessing. Make me proud.” When Panic co-founder Cabel Sasser spoke at our second festival in 2013, the Mac software company had just started venturing into games by funding the studio behind Firewatch, an indie blockbuster that launched Panic’s games publishing business and, eventually, the Playdate handheld console.
The Static Site Paradox | Loris Cro's Blog (2024-10-21)
If you didn’t know any better, you would expect almost all normal users to have [2] and professional engineers to have something like [1], but it’s actually the inverse: only few professional software engineers can “afford” to have the second option as their personal website, and almost all normal users are stuck with overcomplicated solutions.
Exploring desktop Linux (2024-10-21)
Part One in what is likely to be a long series on my explorations in modern Linux desktop land.
Thinking Like an AI - by Ethan Mollick - One Useful Thing (2024-10-20)
However, I do think having a little bit of intuition about the way Large Language Models work can be helpful for understanding how to use it best. I would ask my technical readers for their forgiveness, because I will simplify here, but here are some clues for getting into the “mind” of an AI.
A Syllabus for Generalists – Syllabus (2024-10-19)
A syllabus for generalists is comprised of four weeks of general education; that is, a little bit of everything. It contains something for everyone—for specialists looking to branch out, and for generalists searching for new beginnings of knowledge
How to do the RSS - annie's blog (2024-10-18)
This is a simple guide for people who are not super tech-oriented. I like the recent You should be using an RSS reader article that’s being shared. And I think we need a simple little guide for people who might read that article and think, Yeah. Good idea. I should do that.
World of Warcraft is still here, and it’s still huge (2024-10-18)
Reviewing the private record, it’s clear World of Warcraft tore through my life like an experienced raiding party of max-level grinders through the Deadmines. Admittedly, it was the kind of nymph-stage young adult life that was conceptually made of crepe paper and easily shredded by a video game. But something about the predictable rhythm of ordering junk food delivery after an exhausting workday, logging onto World of Warcraft, and hopping through some lush environment searching for herbs to ma...