brandur.org

Atoms

Multimedia particles in the style of a tweet, also serving as a changelog to consolidate changes elsewhere in the site. Cross-posted to an atom feed. Frequently off topic.


Published a post on the River blog: The evolution of background job frameworks in Ruby, tracing the history of async job frameworks in the Ruby ecosystem from BackgrounDRb to Solid Queue, and our experience moving the Heroku API from Delayed::Job to Queue Classic to Que.


Nanoglyph 049 is published, on the end of Heroku (?), things we could’ve done to stave off its untimely demise, and a brief trip report from paradise in Raja Ampat.


Nanoglyph 048 is published, with mixed thoughts on LLMs, the past, present, and future of programming, Ambon, and psychedelic frogfish.


Nanoglyph 047 is published, on joining Stainless, six months at Snowflake, and going to view Komodo dragons on Rinca Island.


Trying Ghostty.

I didn’t switch before because I couldn’t find anything in the feature set that improved anything enough over iTerm to be worth the switching cost.

Easy theming and an automatic light/dark switching is what won me over.

In ~/.config/ghostty/config:

theme = dark:Belafonte Night,light:Belafonte Day

Strong recommendation for Mars Express. It’s been quite a few years since I’ve seen a good science-fiction movie, and doubly so for an original IP.

Mars Express is a breath of fresh air. No politics, no California identitarianism, just cool technology concepts, good plot in a tight runtime (it says more in a mere 90 minutes than Hollywood’s able to express with three hours), and great art/animation.


Nanoglyph 045 is published, on a few features from Postgres 18 and a note on upcoming travel to Indonesia.


A short one for the Crunchy blog: OLD and NEW Rows in the RETURNING Clause.

Postgres 18 was released today. Most of us know about async I/O and UUIDv7 by now, but this was a nice smaller surprise that I hadn’t heard about until reading the release notes.


Nanoglyph 044 is published, on a visit to the STRAAT museum in Amsterdam Noord and thoughts on the iPhone Air.


Nanoglyph 043 is published, on a visit to Amsterdam for Rails World 2025, CI loops measured in days + why to make sure that CI can run locally, and a visit to the Ruby Embassy at Beurs van Berlage.


Published fragment Occasionally injected clocks in Postgres, on using a coalescable parameter to stub time as necessary in tests, but otherwise use the shared database clock across all operations.


I enjoyed A deep dive into Solid Queue for Ruby on Rails. Does a nice job of showing some user-facing API while also covering the database implementation. I didn’t realize that Solid Queue supports job concurrency right out of the box!


Movist Pro has added shortcuts for deleting videos right from the app. From the 2.13.1 changelog:

2.13.1

• Added file deletion feature
    • [File > Move to Trash ⌘⌫]
    • [File > Delete Immediately ⌘⌥⌫]
• Fixed crash issue on macOS Tahoe beta

I don’t know about the rest of you, but Google finally succeeded in killing my uBlock Origin’s capability of filtering out YouTube ads a few weeks ago. I’m test driving Brave as my main browser right now which seems to do a good job of ad filtering, but an equally good or better option is to use yt-dlp to fetch videos, then watch them in Movist. No ads, and with the benefits of a desktop app like fast scrubbing, offline use, and pinned windows.

This feature makes that workflow a little smoother. Download video → watch in Movist → finish watching → delete video directly without leaving Movist.


Published fragment Testing the graceful handling of request cancellation in Go, 499s, on using built-in net/http facilities to make sure that canceled requests are abandoned immediately to save time and resources.