RSSAmplifier

Blog

Christian Emmer

Software engineer with 14+ years of experience developing full-stack solutions in JavaScript, PHP, Go, Java, and Python.

emmer.devRSS feed ↗20 posts

Latest posts

Buy-In Before Implementation

Shifting the discussion left causes outside contributions to have a higher acceptance rate.

Monitoring PostgreSQL Index Creation

PostgreSQL has the ability to monitor the progress of index creation, which is very helpful for long-running queries.

Shell Command Throttling

You can restrict how often a command executes by remembering its last execution time.

Confidence is a Requirement

You should not ship changes that you aren't confident in. Full stop.

If It Doesn't Page Me, I'm Not Looking at It

If an alert isn't important enough to wake me up at 2 a.m., then it isn't important enough to interrupt my working hours.

Your Service Should Make a Sound When it Flatlines

When (not if) your service dies, do you have an EKG to tell you so?

The Rings of Legacy Code

It's easy to see the growth of a tree in hindsight by cutting it down and measuring its rings. Software at your company has growth rings, too.

Career Gratitude in 2025

What I'm thankful for in my career in 2025.

What is a Script "Shebang"?

No, it's not a Ricky Martin song.

Defensive Shell Scripting with Shell Options

Unlike typical programming languages, Bash doesn't terminate when it encounters a variety of exceptions.

Be an Engineer Who Invites Collaboration

I don't care if you're a 10x engineer, I care if we can build great things together.

One, Few, or Many: A Guide to Rapid Impact Assessment

Stakeholders love this one simple trick.

Querying MySQL Row Counts the Fast Way

SELECT COUNT(*) requires an expensive full index scan, which probably isn't what you want.

Installing Old Homebrew Cask Versions

Homebrew makes it very difficult to install older versions of a cask.

Pin Your GitHub Actions to Protect Against Supply Chain Attacks

Pinning third-party GitHub Actions to a commit SHA helps protect you against supply chain attacks.

Installing Old Homebrew Formula Versions

Homebrew makes it very difficult to install older versions of a formula.

I Don't Want to Have to Think About It

I spent a substantial amount of time in the first half of 2025 ensuring that I don't have to think about microservices my team owns that have a low rate of change.

Resetting the Working Directory on Shell Function Exit

Sometimes you need to change the working directory in a shell function. You should take care to reset it back after.

Copying Changes Between Git Clones

How to copy uncommitted changes from one clone to another of the same repository.

Discussion Guide: The Pragmatic Programmer, 20th Anniversary Edition

A guide with discussion prompts for David Thomas and Andrew Hunt's The Pragmatic Programmer, 20th Anniversary Edition.