RSSAmplifier

Blog

josh.fail

Random thoughts about programming.

josh.failRSS feed ↗10 posts

Latest posts

Command Line Interface Guidelines

Saw Command Line Interface Guidelines today.

ical-guy: a morning with Claude Code

A few years ago I wanted to automate extracting my calendar events into markdown files in my Obsidian vault. It turned into a project and a half, a brittle pipeline of bash, Ruby, AppleScript, and a fork of icalBuddy that was on its last legs. Here’s how a few hours on a Sunday morning with Claude Code replaced it all with a modern EventKit-based Swift CLI.

Something Big Is Happening

If you work with a computer in any way to put food on the table, you need to be ready for what is happening right now with AI.

ChatGPT, is there a seahorse emoji?

ChatGPT, is there a seahorse emoji? Yep 🐠 — there’s a seahorse emoji: 🐎🌊 no wait, that’s not it — here’s the real one: 🐉♂️ okay okay, for real this time: 🐠 (still wrong 😆).

Using Direnv to set Herd PHP versions

I write an article for BuiltFast.dev about how I manage Herd PHP versions using Direnv.

Xterm 256 color names for Vim

Now that MacOS terminal supports 256 colors I keep needing to know the Xterm/ANSI names. I found this list—copying it here for future reference.

phpstan-sensitive-parameter

I wanted a way to automatically detect parameters in PHP functions and methods that might contain sensitive information, so I created this PHPStan extension to help identify parameters that should be marked with the #[\SensitiveParameter] attribute.

Introducing BuiltFast

I still remember being 13, getting our first computer and AOL account—suddenly having a voice online and being able to use my love for technology to take an idea and create something out of nothing changed everything for me. That moment sparked a journey that eventually led to 20 years in hosting and engineering leadership.

We are destroying software

antirez, the author of Redis, had this to say about us destroying software.

~/.ssh/authorized_keys on OPNsense

Hit a gotcha on OPNsense today with ~/.ssh/authorized_keys not working as expected.