RSSAmplifier

Blog

doug.sh

Recent content on doug.sh

doug.shRSS feed ↗5 posts

Latest posts

erm: A Local CLI That Strips Ums, Uhs, and Erms From Speech

Linguists have a word for the um s, uh s, er s, and elongated versions ( ummmm , uhhhhh ) that pad spoken English: disfluencies . 
 I don’t record a lot of voice audio, but a few friends do, and they tell me editing those out by hand is miserable. So I built 
 erm
 to do it. 
 uvx erm input.wav
 That’s the whole interface for the common case. It writes a cleaned…

Give Your Coding Agent a Journal

Journaling 🔗 Coding agents forget what they just did. The session ends, context gets compacted, or you walk away for lunch, and when you come back the agent is ready to try the same fix that failed an hour ago. The usual memory setups ( CLAUDE.md , project wikis, and so on) are fine for things that don’t change much, but they don’t capture what’s actually happening in the task…

Route53 as a Key Value Store, 2026 Edition

Five Years Later 🔗 Back in 2021 I 
 wrote about using Route53 Private Hosted Zone TXT records as a key-value store for GitHub Actions
 . The trick is still good in 2026 — Route53 is cheap, durable, globally replicated, and you almost certainly already have an AWS account. I still use it. 
 But the implementation in that post has aged badly. Two things in particular: 
 
 It…

Using Route53 as a Key Value Store in GitHub Actions


 2026 update: 
 a modernized version of this post is here
 — uses OIDC instead of static AWS keys and fixes the deprecated ::set-output syntax that broke the Get action on current runners. 
 
 The Need 🔗 GitHub Actions is great, but one thing it’s missing is a form of persistence, or simple key-value store. Sure, you could persist to a git repo - and that might be the right…

Using Composite Actions with GitHub Actions

Basics 🔗 When developing new automations it’s best to make each component as modular and reusable as possible. When using GitHub Actions, Composite Actions may be your answer for quick development and reusability. 
 Composite Actions allow you to execute multiple shell steps by calling the Action. These shell steps can be bash, python, nodejs, or powershell. This functionality can be…