Posts

multipass-compose

This post is about “real” virtual machines, not container-based virtualization. So the “you can just stuff it into Docker” reflex doesn’t quite apply here.

Building cloud services means we constantly use virtual machines. In production, type-1 hypervisors — the kind that, simply put, run on bare metal; on our local machines, type-2, the familiar ones — VirtualBox, qemu, and possibly Parallels Desktop.

Read more →

Makefile ToC

Sadly, despite all the modern build systems available, we still end up using make and writing Makefiles by hand.

I needed to put together a help screen for the build targets in a project’s current Makefile. Out of the box, the ancient utility doesn’t give you a list of build targets and their descriptions — it was never meant to.

Read more →

Semantic Line Breaks

All of our project documentation is written in Markdown. It’s a simple, convenient format you can read in raw form without any post-processing.

Read more →

A self-hosted local Sentry

I often need to experiment with monitoring settings and error/metric collection across various environments.

Rather than carving out a separate project in our shared Sentry, I prefer to spin up my own local copy.

The deployment takes a while; on an “old” laptop it can take about ten minutes.

Read more →

adr-tools

Many teams discuss and maintain ADRs using tools like Confluence and Wiki. We all know perfectly well that this is a “write once, read never” approach.

Read more →

ADR

ADR — Architecture Decision Record.

I keep running into engineering teams that underestimate ADRs.

Read more →

asdf

asdf is a runtime version manager.

It can replace nvm, rbenv, pyenv, gvm, and a pile of other version managers with a single tool.

Read more →

jo

jo is a command-line json builder.

I often see coworkers in chats passing around request snippets or API call examples with the json baked in as escaped strings.

Read more →