RSSAmplifier

Blog

Michael Was Here

Recent content on Michael Was Here

michaelwashere.netRSS feed ↗49 posts

Latest posts

Cosplaying as a Telco: VCF Southwest 2025

This is the third year I have stood up SneakyNet, my fake telephone company at the Southwest Vintage Computer Festival. SneakyNet supplies dial-tone and IP transit to exhibitors around the show, and does so with a mix of period correct and modern hardware. I thought it would be fun to take a step back and talk about how this whole network is put together, and how things actually work. Before we…

Reading Durations with IOS TCL IVRs

I have recently been doing a lot of work with Cisco IOS Interactive Voice applications written in TCL. This is a dated technology at this point, but still a very stable one. In my application, I wanted to be able to have a duration spoken aloud. Getting the duration itself is not hard, IOS provides a robust timer system to meter calls and set deadlines for actions. Speaking the duration on the…

Building a Nomad Cluster: Traffic Ingress

In the last post I showed how my cluster is maintained day to day and using various industry standard tools. This is a fairly robust process as I build out the cluster, but just having a cluster isn’t particularly useful. To build upon this we need to put up a means for outside network traffic to come into the cluster and become inside network traffic. This traffic might be HTTP destined for…

Building a Nomad Cluster: Configuration

In the last post, I talked about how I setup my Nomad cluster running on bare metal using Void Linux and Ansible. I talked a lot about the basic design, but not how I actually executed on that design. That’s what we’ll get into in this post. There are 3 main elements to configure in the cluster. First, the network, routing, and data-plane needs to be configured as a foundation that can…

Building a Nomad Cluster: Foundations

I recently decided to rebuild my development cluster so that I can finally nail down a few services that I’ve wanted to understand better for some years now. To get to the point that I have a working cluster meant setting out some requirements, rebuilding the entire software stack, and then finally making physical changes to the cluster itself. This will be a series of posts detailing the…

Incident Un-Response

Its late at night, you’re on a walk, and you see something wrong. What do you do, who do you call? I walk several miles daily to try to keep my health up given that my career has me sitting at a desk all day. As a result of this, I somewhat regularly encounter situations that need to get called in, and over the years, I’ve become increasingly weary to try.

Launching the Gizmo

People who’ve known me for a while know that I’m an alumni of a program called BEST Robotics, and that I still actively volunteer with the program. This is an experiential learning program with a strong focus on industry exposure. Students compete in many different aspects in Spring and Fall, but I am most heavily involved with the flagship BEST Robotics Competition in the fall. This 8…

Insecurity Through Mandates

One of the topics of discussion in my circle of friends we keep circling back to is security of personal, work, corporate, and production systems. Its no surprise since many of my circle have backgrounds in highly academic fields and have between us bordering on a century of experience in operating systems at all points on the scale spectrum. From active red-team work to defense of mission…

Software 'Defined' Networking with Terraform

My home network is complicated. A good friend recently described the network as having the complexity of a small to medium enterprise. I’m inclined to agree, since my network participates in multiple internal and external Border Gateway Protocol (BGP) arrangements, has close to a dozen internal security zones each with unique set of firewall rules and access control rules. The network…

Unstable DisplayPort video on 12th and 13th Gen Intel

TL;DR - If you’re using USB-C displays with Intel 12th or 13th gen hardeware, its probably a DRI firmware issue in the i915 kernel module. Roll back your DMC blob to adlp_dmc_ver2_16.bin. I’ve recently been building a machine for doing video production work at the robotics competitions I support as well as other small events where a video mux is required. In my pursuit of ever smaller…

The Fleet of the Future

I was recently asked at my day-job to think about what the global fleet would look like if I had the powers of Star Trek’s Q and could snap my fingers with a flourish and re-form prod into what I think would be better. Without the restrictions of design documents, dozens of project management strategies and more meetings than I can shake a stick at, I’ve put a lot of idle time into…

Has Everyone Forgotten About Support Agreements?

Recent changes in high profile open source projects has got people talking about sustainability in companies that build open source again. Usually I don’t really care about this as it comes across as just poor business management, but Hashicorp taking the entire core portfolio out of the Open Source ecosystem has lensed this through a new perspective for me. That perspective is when business…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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.

Eternal September of the Corporate Open Source Project

I am too young to remember the first day of eternal September personally. The idea goes like this though: in September 1993, an engineer at AOL flipped a flag and granted UseNet access to all AOL subscribers. It was a clever marketing move, UseNet was easily the largest online gathering at the time, spanning university and company networks, and containing a wealth of knowledge. If you’ve…

What Is Open Source?

Those who are near me for any length of time know that I like open source. To me it speaks of a kind of engineering purity that I don’t see in a lot of places. I thought I’d take some time and write down what open source means to me, and what I look for in projects that I work on. First, I think its important to define the two kinds of source that there are and the degrees of openness…

Not my project anymore

I was recently talking with some people from the open source world about what it means to own a project and this got me thinking about some of my own projects. What is my stake in them at this point? Really for me the question is less of “is this my project” and more “do I need to take this more seriously now”. Let me explain. For my own projects, they are things that I do…

Technical Debt - or - Why 'Its just a Demo' is Bullshit

I often get asked about why I am always so frustrated with the code that people tend to write. This discussion came up recently between some friends about why NetAuth is both in production with Void, and not 1.0 yet. For me, this has to do with the expectations of quality I subject most software to and my expectations for the risks an organization should be willing to put up with.

Nomad on Alpine

Recently at work I’ve been setting up a Nomad cluster to take over the production workload in our primary serving cluster. This process has taken several months at this point to prototype and develop, and along the way I’ve learned a lot about cluster operations with Nomad. Coming from the world of Google and Borg I had a pretty good handle on how cluster level schedulers work, but…

Apollo 11

I’ve just gotten back from the Apollo 11 movie, which I saw in IMAX. The film is a documentary that is all about Apollo 11 and steps you through in a very linear view the progress of the Apollo 11 mission. The story is told without narration or interviews, and features many segments that are shown in real time. Some of the things that I think are so incredible about this film are that it…

Not in Prod - Or - Why I Won't Put a Compiler on a Webserver

I was recently asked by a few different people about why I have such strong feelings about Python in production on Void’s infrastructure. I’ve also been asked at work about why I’m unhappy with using Ansible even though it ticks all the boxes for being a pretty good host management tool. I figure its high time to look at why I care about languages in production. So at first this…

What Is Production Grade?

I recently decided to try the Caddy webserver project’s implementation of a webserver written in Golang. It had many interesting things going for it, including automagic certificate renewal via ACME and Let’s Encrypt; “plugins” written in a sane language; dramatically simplified configuration; and perhaps in one of the most boastful statements I’ve seen of any…

ENOBDFL

As anyone who’s spent more than 10 minutes around me knows, I’m fascinated by software and by the development and management of the infrastructure that surrounds it. While I’m usually more interested in the machinery and software that surrounds projects I work on, the human machinery is also fascinating, especially when it breaks down. When I joined the Void project I started out…

Faster Than Light - Ansible Mitogen

Ansible is a configuration and systems management tool from RedHat. The general idea is that you express in Ansible the state you would like the machine to be in, and then when you run Ansible against a host the state will be applied. For example, you don’t say you want to restart a service, you define its state as “restarted” and then Ansible will ensure that this happens at…

A Side Project...

For about a year now I’ve been working on a side project. After working at UTD and having run LDAP and Kerberos, I thought it would be very nice to have something like those services, but much easier to stand up and operate. Thus NetAuth was born. If you’d like to find out more, NetAuth lives at https://netauth.org.

Bringing a new platform to Void

When you download an image for your Raspberry Pi or Beaglebone or other SBC do you ever pause to think about how that image came to be? Installing the system for a single board computer rarely involves booting into an installer, indeed it rarely looks like an x86 system until well after the system is up. Why is this? To answer this I’m diving into what it took to add the latest hardware…

Very Old Void System Updates

I have a lot of computers in my collection from machines I’ve wanted or otherwise picked up over the years. Some of these machines were aquired as projects and spend a lot of time in the off state. One of my oldest Void machines has been off for around 2 years now. With October fast approaching I decided I wanted to try and project a halloween scene into my window. I had the projector…

Into The Void

Into the Void. It sounds quite dramatic doesn’t it? These are the words you see when you start up the Void Linux installer and I thought it was quirky and different a few years ago when I installed Void for the first time. I still think its a little quirky now, but for different reasons. Enough people have asked me what I see in Void and why I think its special that I decided to write it…

First Day

First day at Google! Its been a long ways getting here, but opportunity only knocks once. If nothing else, it will certainly be interesting.

Achievement Get! College Degree

Finally I’m done. I have my degree, I’ve finished my educational track, and in a few short weeks I’ll be moving to Mountain View, California to start my career as an SRE at Google. I couldn’t have gotten here without some incredible people, I’d like to list them below. Without your incredible help, I would never have finished, these people are listed in chronological…

CV Network Refactor

My last spring break and I’m spending it doing a massive network refactor. I can’t say I didn’t see this coming. For a long time the CV gateways have been custom managed OpenBSD machines. With the rest of the network now under full Ansible control with very nice setups for managing them, its time the OpenBSD network layer was given the same treatment. About a year ago I started…

Senior Design

Senior design is shaping up just as bad as everyone said it would be. Update February 2017: This program is wierd, how did we get our project approved? Update March 2017: I’ve heard of software scope creep, but never this bad. Update April 2017: Finally a build freeze and bugfix window. Update May 2017: Finally done; I would not wish this class or experience on my worst enemies. I have…

Void on Ansible

Twas the night before christmas and not a creature was stirring save an infrastructure engineer. The rest of my family has gone to sleep, the tree is nicely lit and tomorrow will come early. But we’re burning SLO and the contract will expire for Void’s current build machine on the 31st of December. I’m capturing all the state with Ansible to stand up the new build server on the…

Christmas!

Its the start of December. I’m pretty much finished with finals and projects for this semester. Because of the stuff for the next semester this largely represents the end of my undergraduate career. Its been a long time gettings here and I wouldn’t be here without the help of many people. Looking back at this semester has had some incredible things: In September the LUG started up in…

Void Linux on T100TA

As I imagined getting Void into the T100TA would not be easy. It required custom install media and lots of fuss to get it to boot and then even more to install. Right now this just isn’t ready for prime time, the wifi doesn’t even work! Update January 2017: Wifi works out of the box now Update March 2017: Void supports hybrid boot, its possible to run x64 kernels now

Starting Up One Last Time

Its a late night tonight as I setup the honors network for a smooth start one last time. Its been a long summer to make a clean startup on Void after migrating off of Ubuntu. Here’s what’s happened. So Ubuntu is a fine platform and I still would probably recommend it for new Linux users. It worked well for setting up the platform and was a decent system for a long time.

No More Windows

Well that didn’t last. A midst the reports of Microsoft telemetry that can’t be disabled, continuous system updates that are broken, and a lack of real need anymore for Windows. I’m uninstalling from my T100. Given that this platform wasn’t designed to run Linux it will be an interesting learning experience to get Void running on here. A later post will incorperate the…

Windows 10

I am a staunch supporter of Linux and open source software. Why then, would I run an MS Windows system, much less a system on the bleeding edge? Why? A year ago I was working for UTD Residential Life in the capacity of an RA. Like many departments that have a high dependence on technology, they used Microsoft Office for forms regardless of if that was the best solution available. As a result, I…

Pi in the Sky

One of the many irons I have in the fire is amatuer radio. A good friend of mine is way better at it than I am and tomorrow he will be demonstrating his skills. A year ago Andrew Koenig and I were working with UTD’s Science and Engineering Education Center running a space themed summer camp. In the first week there was lots of ballistic rocketry, and the second week had lots of weather…

It Works!

This site is a dramatic improvement over the apache webserver’s default page. I obviously do not have a large amount of content yet, but as time goes on I will add to this site accordingly.

About

My name is Michael Aldridge, I work with computers and this is my website. From time to time I post information here on projects I’m working on or on things that I’ve found that I want to make sure I can find again. I’m probably one of the most demanding engineers I know. I don’t tolerate bullshit and I expect correctness in work I am expected to review, maintain, or…