Inklings: a tumblelog

Diffoscope

diffoscope tries to get to the bottom of what makes files or directories different. It will recursively unpack archives of many kinds and transform various binary formats into more human-readable form to compare them. It can compare two tarballs, ISO images, or PDF just as easily.

pkgdiff

Package Changes Analyzer (pkgdiff) — a tool for visualizing changes in Linux software packages (RPM, DEB, TAR.GZ, etc).

Copier

Essentially a better cookiecutter.

Speeding up Terraform caching with OverlayFS

A speed up would be nice, but what I’m really looking for is making it safer to run terraform init in parallel for multiple projects.

Indexed Reverse Polish Notation, an Alternative to AST

Tutorial: How to Write a 1-Bit Music Routine

How to write beeper music, essentially.

SecretSpec

Current secret management forces applications to answer three questions at once:

  • WHAT - Which secrets does the application need? (DATABASE_URL, API_KEY)
  • HOW - What are the requirements? (required vs optional, defaults, validation, environment)
  • WHERE - Where are these secrets stored? (environment variables, Vault, AWS Secrets Manager)

This coupling creates vendor lock-in, runtime failures, poor developer experience, and inconsistent practices.

SecretSpec solves this by separating secret declaration from secret provisioning. Your application declares what secrets it needs in secretspec.toml, but the actual secret values are retrieved at runtime from your chosen provider - never stored in configuration files.

Documenting Architecture Decisions

Etymological Dictionary Of Proto Celtic

Saphyr

A YAML parsing library for Rust.

bomctl

bomctl is format-agnostic Software Bill of Materials (SBOM) tooling, which is intended to bridge the gap between SBOM generation and SBOM analysis tools. It focuses on supporting more complex SBOM operations on multiple SBOM files that represent systems by being opinionated on only supporting the NTIA minimum fields or other fields supported by protobom.

Ruffle

A modern, open source Flash player written in Rust.

Sequoia PGP

A modern PGP implementation that attempts to avoid the flaws of GnuPG, such as the lack of a proper underlying library (gpgme is just a CLI wrapper) and the poor UX.

While PGP in general has a lot of flaws, this looks like a promising alternative where there’s a necessity to use a PGP implementation.

libgodc: Write Go Programs for Sega Dreamcast

Pretty cool, and the documentation looks really extensive. I can’t see myself using it ever, but it’s cool nonetheless.

I see, I can draw!

A brief reflection on learning drawing skills as an adult.

TIL: Restarting systemd services on sustained CPU abuse

Something like this would’ve been useful when we started seeing fluentd being misbehaving at $DAYJOB a while back.

jAsm

[A] 6502, 65C02, 65CE02, 45GS02 and Z80 assembler. […] It is heavily geared towards C64 development, since that’s what it’s intended to be used for.

Manic Miner on ORIC

Clock-Signal

A latency-hating emulator of: the Acorn Electron, BBC Micro and Archimedes, Amstrad CPC, Apple II/II+/IIe and early Macintosh, Atari 2600 and ST, ColecoVision, Enterprise 64/128, Commodore Vic-20 and Amiga, MSX 1/2, Oric 1/Atmos, early PC compatibles, Sega Master System, Sinclair ZX80/81 and ZX Spectrum.

It’s installable on Ubuntu as a snap. You need to get the ROMs however. I managed to get working for the Oric previously.

The power of keeping a coding journal

Also, see jrnl. I think I’ve given it goes before, but I don’t think I’ve ever used it in anger.