Using SQLite's immutable and mode flags to get around "database is locked" error

One great thing about SQLite is that it's a super-widely-used format, so you can fire up sqlite3 to poke around your applications' data, or use your favored programming language's SQLite library. However, oftentimes you'll get this error message (eg. when accessing Firefox's various *.sqlite files):

Read More...
Posted on 2025-10-28

Which labels will Prometheus send to Alertmanager?

Like many users of Prometheus, at work we use labels with AlertManager's routing to make sure the right people get paged when something goes wrong. Prometheus allows you to provide their labels via a number of sources (if I missed any, please reach out and let me know!):

Read More...
Posted on 2025-06-19

Using git-describe output for version pinning

The fact that tj-actions/changed-files was compromised is kind of old news at this point, but I had an insight the other day about this problem and its remediation that I haven't seen mentioned yet.

Read More...
Posted on 2025-04-12

Prometheus Vector Operations Are Not Associative

I was working on a PromQL query at work to find disk usage on Kubernetes control plane nodes - the first step was to identify those nodes:

Read More...
Posted on 2025-03-29

Restic Snapshot Groups, AKA "Why isn't restic forgetting my snapshots?"

I use restic to manage backups on my machines, and not too long ago I ran into some surprising behavior that I thought I'd share.

Read More...
Posted on 2025-03-23