A handful of things that caught my attention this week.


1. MySQLGenius

Last week I mentioned PgHero as part of the Postgres cleanup thread – and wouldn’t you know it, the MySQL crowd has been feeling left out. MySQLGenius is a new Rails engine, explicitly inspired by PgHero, that surfaces slow queries, unused indexes, table bloat, and the other usual suspects for MySQL databases. While we’re on the topic, pg_reports is worth a look too – it takes a different angle to PgHero by focusing on integration. It has built-in support for sending reports to Telegram, and even a clever bit of IDE integration that lets you click a query’s source and open it directly in VS Code or Cursor. It also has a “copy for AI” feature that generates a prompt with all the context for Claude or Cursor to help you fix a slow query. I will be adding both PgHero and pg_reports to the staging environment on the project I am working on with Magnolia and will report back on my findings in a future post.

2. On Building a Framework Agnostic Gem

Joe Masilotti walks through his approach to building a Ruby gem that doesn’t assume any specific front-end framework – whether you’re using Vue, React, or just plain ERB. It’s a clever read, and the pattern he lands on – keeping the core logic plain Ruby and layering framework-specific adapters on top – is one of those things that seems obvious in hindsight but is easy to get wrong when you’re up to your elbows in ActiveSupport. If you maintain (or are thinking about writing) a gem and want it to be useful for front-end frameworks outside of the standard Rails/Turbo stack, this is a good starting point.

3. Self-Updating Screenshots

Speaking of clever, James Adam has a lovely write-up on keeping screenshots in your documentation fresh by generating them using the same infra from your test suite: a headless Chrome browser via Capybara and Cuprite. Documentation screenshots rot faster than just about anything else in a project – you change a button, ship the feature, and three months later someone points out the docs still show the old UI. Having automation for screenshots that runs whenever you build your documentation means they update whenever the code does.

4. Whimsical Software

A small directory of desktop toys and pets – the sort of software that serves no purpose other than to delight. It’s a short list at the moment, and I’d love to see it expand. There’s something wonderful about an app that exists purely because someone thought it would be nice to have a little creature wandering around their screen. We could all do with a bit more of that.

5. The Names of Ruby’s Operators

A thread from Pavel Yegorov listing the names (and alternative names) for various Ruby operators. You know the <=> – is it the spaceship operator, the UFO, or the “combined comparison”? Turns out most of them have a handful of names, some more official than others. There’s the &. (the lonely operator or safe navigation), the !! (double bang), and the << (the shovel).

But my absolute favourite has to be the set of names for the =~ operator. Depending on who you ask, it’s the bacon cannon, the eek squeak, or the tadpole. It also goes by cigarette operator, is like, pretty much, equal like, and the very literal kind of equals. It’s the kind of thing you don’t strictly need to know, but it makes for a more fun conversation next time you’re debugging something gnarly with a colleague.