Welcome! This is a blog about programming and adjacent topics that interest me. You’re cordially invited to subscribe to the feed. Here’s everything I’ve ever published on here:
2024
-
BookStack Hacks: Adding External Link Icons, Fewer Clicks to Copy a Page's Permalink, and More
-
Setting Up Amazon WorkSpaces With Simple AD Even if That's Unavailable in Your AWS Region: Through VPC Peering, AD Connector, and a Route 53 Resolver Outbound Endpoint (Orchestrated With Terraform)
-
One Million Hits Per Month
-
Zeroing a Column of a CSV File With PowerShell
-
Determining Which Country a Location Is in Without an API (…But With MariaDB)
-
Case-insensitive Search Term Highlighting With JavaScript
-
19 Blogs Worth Binging
-
Secure Backups of Important Files to Insecure Locations
-
Something Wrong With Your
venv
? Just Reset It! -
Colorful Generative Art With Chaotic Iterated Function Systems
-
Popping up a Notification When a macOS App Stops Running
2023
2022
-
Moving a Swinsian Library to a New Location (or Computer) Without Losing Playlists or Resetting Play Counts and Other Metadata
-
UJI – Creating Generative Art With a Parametric, Iterative Line-Drawing Routine
-
Infinite Bash History (& More)
-
Adjusting a Mac's System Volume on the Command Line
-
Pandemic Birds
2021
-
An Ode to Archive.org
-
Simulating Rule 30 With Recursive SQL and Window Functions
-
A Guide to Scattering a Document All Over Your Desk, But Not Really
-
A Selection of FFmpeg Invocations That Have Proven Handy in Various Situations
-
Controlling the Settings in Chrome's Print Dialogue With CSS
2020
-
Quick and Dirty Redirect of a Jekyll Blog to Its New Domain
-
Drawing the Sierpiński Triangle With Recursive SQL and SVG
-
Displaying an Accurate Reading Time Estimate in Jekyll
2019
-
Using Shortcuts to Delete All Photos Not Located in a Specific Album on iOS
-
Removing Large Files From a Git Repository's History
2018
-
Isomorphisms Between Integers and Some Composite Types in Haskell
-
Recreating the Starfield Screensaver in JavaScript
-
Representing, Multiplying, and Transposing (Sparse) Matrices in SQL
2017
-
Approximating π Using the Monte Carlo Method in Postgres
-
How to Write a Spelling Corrector (in Haskell)
-
Converting Numbers to Strings in C11