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
Dispatch #13 (March 2024) (2024-03-04)
Highlights this month: a weekend in Wilmington, a successful 10K, and a solo dad weekend (including a rainy bike adventure followed by an incredible rainbow over Central Park). Plus some new music and a bunch of website improvements.
Encrypt and Dither Photos in Hugo (2024-02-06)
I encrypted all the photos on this site and wrote a tiny image server that decrypts and dithers the photos, then created a Hugo shortcode to display dithered images in posts. It keeps high-res photos of my kid off the web, and it looks cool.
Dispatch #12 (February 2024) (2024-02-04)
We spent MLK weekend with my folks in the Shennandoah Valley, and visited Luray Caverns, something I’d done as a kid and still rips 30 years later. Neat place, highly recommended if you’re ever in that area. We also got some snow at our cabin, which was pretty fun for Nev.
Dispatch #11 (January 2024) (2024-01-10)
That’s a wrap on 2023. Our little Nevie turned two in December. It’s hard to imagine her changing as much in the next year as she did in the last, but I suppose it’s inevitable. We spent Christmas at Claire’s folks’ house and hit up both the Greensboro Children’s Museum and Greensboro Science Center.
Dispatch #10 (December 2023) (2023-12-06)
We spent the week of Thanksgiving with my sister near Albany, New York. Tough drive, but it was great to get the whole family together and for Nev to get some extended time with her cousins. Highlights included the Catskill Mountain Railroad Polar Express and some unexpected snowfall.
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)
Getting Started | fx (2024-03-18)
Fx is a dual-purpose command-line tool tailored for JSON, providing both a terminal-based JSON viewer and a JSON processing utility. While the JSON viewer is crafted in Go and functions without external dependencies, the JSON processing tool is developed in JS, compatible with Node.js and Deno.
Churn (2024-03-15)
The main reason Web Components aren’t going to save you from the JS treadmill, however, is that the JS treadmill is first and foremost a cultural product.
Any Technology Indistinguishable From Magic is Hiding Something (2024-03-14)
But none of that really matters. We keep waiting for the next iteration of the web, or the internet, but the future is now, baby. We’re living it at this very moment. It snuck through the backdoor when no one was looking.
Your Blog Should Have an About Page | Brain Baking (2024-03-13)
The site stats tell me that my about page at /about is consistently one of the most visited pages on this website. That confirms what everyone already knows: people are very curious, sometimes even nosy.
Periodical 17 – Optimization - Christopher Butler ☼ (2024-03-10)
Optimizing a home is a years-long process.
Podcast #972: Down With Pseudo-Productivity: Why We Need to Transform the Way We Work (2024-03-06)
The last several years have seen the rise of a sort of anti-productivity movement. Knowledge workers who feel burned out and that work is pointless, meaningless, and grinding, have been talking more about opting out, “quiet quitting,” and doing nothing.
Intersitial logging | Mike Hall (2024-03-06)
After watching enough videos from people who desperately want to be tools influencers I am saturated and tired of the entire frivolous scene. Nobody should take tools advice from people whose job it is to write about tools. I say this as a former tech journalist who wrote an ungodly number of articles about tools whose efficacy I could attest to because look at how prolific I was writing about tools.
Ten Rules | Corita.org (2024-03-05)
In the 1960s, artist, educator, and social justice advocate Corita Kent asked her students to collectively reimagine what a learning environment could be. Their contributions comprised the now widely recognizable Immaculate Heart College Art Department Rules (commonly referred to as “Ten Rules”). In the ensuing decades, this perennial work has gone on to lovingly hang in classrooms, studios, and homes of individuals and groups as they explore their own creative pursuits.
More Files Please - Jim Nielsen’s Blog (2024-02-27)
Can you imagine working on a codebase — which is a set of files — but the files were locked to a particular IDE? Craziness. Personally, I’m a file guy. I love files. And I wish more products worked in the currency of exchange of files.
The internet used to be fun (2024-02-27)
I’ve been meaning to write some kind of Important Thinkpiece™ on the glory days of the early internet, but every time I sit down to do it, I find another, better piece that someone else has already written. So for now, here’s a collection of articles that to some degree answer the question “Why have a personal website?” with “Because it’s fun, and the internet used to be fun.”