How I Manage My Time: Fractional Reserve Spoons

I’m involved in a lot of projects both in and out of work, and people have often asked how I keep it all running at once. The simple answer is I don’t. This post came to me as I was driving back from a fast food place and thinking about where my time management strategy has broken down. First off, the phrase “out of spoons” is one that my parents and grand parents have said before, but I have to give credit to my manager at work who used it recently to describe the situation our operations group was near with the number of projects we were committing to.

Read More...

Convincing debian-installer I don't want swap

Debian has an autoinstaller. With some difficulty, you can even get it to automatically install Debian. What the autoinstaller actually does under the hood is interesting in its own right since Debian doesn’t technically install from Debian, but instead from a different operating system that uses a distinct package collection and its own distinct package manager. This distinct system, which as far as I am aware doesn’t really have a name beyond “debian-installer” is a very compact system that is not designed to be particularly user editable, after all its sole purpose is to install Debian, which is designed to be extremely user modifiable.

Read More...

Modded Minecraft on the Steam Deck

Though I don’t have a huge amount of time for playing computer games, I do spend a lot of time playing minecraft, as well as a number of retro games and point and clicks. As my desktop is optimized for compiling code and having many terminals up, it doesn’t exactly fit the bill of a gaming optimized machine. It doesn’t help either that I built my most recent desktop at the height of the 2019 GPU craze.

Read More...

How Not to Run an Ecosystem - gRPC

I was recently going through deprecation warnings and doing some housekeeping in one of my personal projects, NetAuth. In the process, I came across that I was using a deprecated import for the protocol buffers support libraries. As the major version number hadn’t changed, I assumed that the update was safe and changed my import. Given that the import was changing from github.com/google/protobuf to golang.google.com/protobuf I made the assumption that the import path had been changed for aesthetic and branding reasons.

Read More...

Dialed In: How Small Can You Make Dial-up?

I am fascinated by most network technologies, and having spent several years at this point looking at the latest and greatest I’ve now decided to look back at some of the technologies that got us to here. Circuit switched networks have always fascinated me and as I’ve recently gotten into running my own local phone systems, dial-up networking seemed like the logical place to jump in head-first. First off, lets define some terms and concepts that are central to this kind of network.

Read More...

PG&E, ERCOT, and Engineering Black Swans

I’ve seen over the last few days a lot of comparisons being made between the power outages occurring in Texas and the power outages that are an annual event for parts of California. These events aren’t particularly compatible due to the wildly different circumstances at play, and I want to talk about why. This post will get into what engineers look at when designing a system, the concept of calculated risk, and how black swans can really come from nowhere.

Read More...

Awards are Bogus Metrics

I recently had the baffling experience of reaching out to a company to ask about commercial support for their product as I was having a lot of trouble getting it installed and working. Those in the know of FOSS software can probably already see the red flag that needing to engage commercial support to get even a tech demo working is usually a sign of poor engineering quality and a fragile solution.

Read More...

The confluence of cheapness and dubious design: AT&T FTTH

For annoying reasons that I won’t get into here, I’m finally building out a home office. For me this meant getting another IKEA desk, and then making sure that the network path from my main network rack out to the garage where my office will be is built well and reliably installed. This has so far been a case of pulling wire through the attic, and then putting in a network terminal in the closet where all the network gear lives.

Read More...

Early Config Binding

Early and late binding are often discussed in terms of symbol resolution in programs that have symbols loaded from shared objects and static libraries, so what does this have to do with configuration? It turns out that a lot of the pitfalls and concepts that have to do with symbol resolution also apply to configuration management. IN a traditional systems management environment, configuration binding is typically performed very late. The binding happens either by a tool such as Ansible writing config files into place, or a package containing configuration files being installed, or even an admin logging into a machine and writing the config data.

Read More...

Alpine Hashistack 6 Months On

Just over 8 months ago I wrote about running the complete HashiCorp stack on top of Alpine Linux. Since then, the entire production workload of my work has moved over to this cluster, and through a handful of upgrades we’ve learned a lot about how it works and how to maintain it. This article is a followup to the original, which if you haven’t read, you should take a break and do so.

Read More...