How to rename Cargo tables safely
· ☕ 8 min read · ✍️ River
Cargo actually provides a way to cleanly rename tables without any "downtime," but it's not obvious or documented how to do this.

Bot passwords & you (& your bot (& you))
· ☕ 8 min read · ✍️ River
What's a bot password? What's the difference between bot accounts and bot passwords? Why do I need all this anyway?

Don't use _pageName
· ☕ 10 min read · ✍️ River
Sometimes it can seem convenient to use the built-in _pageName field that Cargo provides; however, _pageName is a metadata field, and you should take care to use it only as such.

Die, DisplayPort!
· ☕ 3 min read · ✍️ River
DisplayPort sucks in a multi-monitor setup and I'm celebrating not using it anymore.

Vscode 2
· ☕ 2 min read · ✍️ River
In which I report a bug and discover I have to write an extension, sigh

A new-tab-in-container Firefox hotkey
· ☕ 3 min read · ✍️ River
A new AutoHotKey mini-adventure, in which I want a hotkey to create a new tab in a specific container, but here there be dragons!

Adventures in caching primary keys
· ☕ 15 min read · ✍️ River
The pattern of store -> query -> store -> query can lead to caching nightmares when working with Cargo or SMW in MediaWiki. This is the story of how I dealt with one.

Popups
· ☕ 25 min read · ✍️ River
Here's how I've built a framework for both static and lazily-loaded popups.

VSCode 1
· ☕ 8 min read · ✍️ River
Last week I installed VSCode for the first time, after using exclusively SublimeText for about two years (and Notepad++ prior to that). I'm going to document my learning curve.

Highlighting disambiguations
· ☕ 29 min read · ✍️ River
Disambiguations are typically somewhat user-unfriendly; I describe my method for improving quality of life when disambiguation links do appear.

CharInsert: Why you should "char"
· ☕ 12 min read · ✍️ River
CharInsert is one of my favorite extensions. Here's how I made a Lua wrapper for it to create a user-friendly interface for anyone to add snippets they want.