RSSAmplifier

Blog

Excessively Adequate

This is a blog about programming and adjacent topics that interest me.

excessivelyadequate.comRSS feed ↗10 posts

Latest posts

Wikipedia-style Redirects in BookStack

In lieu of writing a novel introduction, allow me to recycle1 the one from a previous post… It’s good for the planet.

BookStack Hacks: Adding External Link Icons, Fewer Clicks to Copy a Page’s Permalink, and More

At work1, we recently moved our internal knowledge base from a relatively creaky DokuWiki instance to a much more modern BookStack setup. It’s great and requires very little configuration, which – perhaps counter-intuitively – made me want to inflict some custom CSS (and a bit of JavaScript) upon2 it. Three of my most recent four posts start with those two words. Boss makes a dollar, I make a dime…

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)

Long title, but whatcha gonna do.

One Million Hits Per Month

…is surprisingly (to me, anyway) relatively few – about one per 2.5 seconds. Something1 to keep in mind when speccing out systems. Of course, access patterns won’t ever be distributed uniformly and different workloads are spikey to varying degrees.

Zeroing a Column of a CSV File With PowerShell

Earlier today at work, a coworker called in with a little data munging task for me to solve: a column of a CSV file supplied by a third party on a regular basis needed to be redacted (for technical rather than sneaky reasons) before the file was passed along to another third party.

Determining Which Country a Location Is in Without an API (…But With MariaDB)

A few days ago, I wrote about implementing search term highlighting as part of a tool my partner and I have long been using to track our shared purchases. Another set of improvements deals with location data – towards the tail end of our recent vacation to South Korea, on a whim, I added a feature where logging a purchase on a device with geolocation support also captures the current location1 (as…

Case-insensitive Search Term Highlighting With JavaScript

My partner and I track our shared expenses using a tiny little web-based tool I wrote back around the time we started dating – so now, nine-ish years later, it was about time to add search functionality.

20 Blogs Worth Binging

…20 times this one, of course! Obvious falsehoods aside, here’s a listicle (is that still what people call them?) of blogs I can wholly recommend1 reading, if you’re so inclined, from beginning to end. My deeply immoral goal here is to gently knock you into blog-shaped rabbit holes you’ll spend hours reading your way through until you emerge, with a bunch of knowledge (or just having had a good…

Secure Backups of Important Files to Insecure Locations

I’ve mostly1 done away with keeping binders of important documents, instead storing everything in a directory on my computer. In addition to my usual backup routine, which comprises With the exception of a few paper originals I’m legally required to keep (or not totally confident I’m not), which I store in order of receipt in a file folder. (Of course, there’s a German word for keeping loose…

Something Wrong With Your `venv`? Just Reset It!

Most folks developing Python applications will have experienced instances of a virtual environment (for non-snake-charmers: a directory containing a specific version of the Python interpreter and relevant libraries bound to a project, avoiding dependecy hell when working on multiple projects in parallel) that’s been chugging along nicely for months on their local development machine just kind of…