Hello, I'm David!

Herein I ramble.

Intro to Blogging: Engineer Edition

Blogging is supposed to be super easy, low effort, and high reward. compare the effort it takes to produce a video for YouTube. Maybe how long it takes to code an application. Or publish an academic article. All of those make information you have to say publicly available, but how much work is put into it to get the content processed and over the finish line? For this reason, among many others, blogging is a form of self-promotion, of self-discovery, and of public navel-gazing (you didn’t think it’s all sunshine and roses, did you?

Dopamine to Create

Looking at the Nivenly Discord, I saw Hachyderm.io was having some HTTP 504 issues indicating some backend service was malfunctioning. This lead to a link of a post-mortem last time this happened. 19:06 @dma status.hachyderm.io updated acknowledging the root cause From blog.hachyderm.io This small snippet from the timeline sparked an urge. It was an urge to do web development for a running service, not just a static site or two—of which this very blog is one.

Neurodivergence and Remote Work

I’m seeing an influx of people talking about “everyone back to the office!” with responses like “lol, I moved. When should I expect the travel itinerary with accommodations you’ve booked?” I too have moved. I too would respond this way. I too believe if I am able to do my job well remotely, it shouldn’t friggin’ matter if you’ve spent millions of dollars on a state of the art office. Your poor investment is not my problem.

Facets of a Good README

I see a good project README answering the following 3 questions: What does this do? How do I install/use it? What do I need to do/know to make changes? I tend to answer this with a few key sections of a README with some self-evident headings. Doing so, in my case, generally looks something like this: # My Project This is my project. It does cool things and talks to neat people.

Nix Is Worth the Complexity

Recently I’ve gotten fed up with the breaking changes in Homebrew package manager. After some research, using Nixpkgs seemed like a far more stable option for GNU/Linux tooling on MacOS, albeit with a decent learning curve for configuration. Without going too much further into it Nix is pretty cool. Over the following months, I’d been spending what free time I had tinkering with Nix on MacOS, specifically with Home Manager and nix-darwin.

7 principles of a good sysadmin

This seems to be a common topic of conversation, so I figure I should put it on paper (so to speak) what I value as a systems administrator, or “sysadmin.” Keep it simple Ensure it can be reproduced Keep it close to stock Magic is bad No development tools on the server Prefer complexity at compile time over runtime Consume artifacts What does this mean? The fewer moving parts, the easier to diagnose By keeping things simple, reproduceable, and close to their defaults, this sets a sysadmin up for success when things go wrong.