Soft launch of River Pro for Ruby —
✅ Private gem source up and running.
✅ Feature parity with Go.
✅ Interoperable with Go.
✅ Postgres + SQLite.
We workshopped nice, compact syntax for the core features like workflows (especially compared to Go).
riverqueue.com/docs/pro/gett…
What the hell. How come none of these guys have a legion of angry anime avatar Gruber-ites fighting them in the replies.
I'm the only one that got hit? What's the deal.
nitter.cf/thekitze/status/211556…
It's so dishonest that for years Apple told us that a single USB-C port on a laptop was all anyone needed (or later, 2x USB-C ports), and now puts images like this in their marketing materials.
Like, I'm glad you changed your minds, but congrats, you're lying sociopaths.
☕ Shipped: River for Java. ☕
As with Ruby/Rust/TS, River is 100% reimplemented in the native language including core engine, migrations, and maintenance services, but fully interoperable with other Rivers. No Go required.
Supports Java 21+ (2023 LTS).
riverqueue.com/blog/java
Everybody needs to stop using reCaptcha. It's been absurd a long time. Now it's cruel and unusual.
This captcha followed a successful login with high-entropy password and was followed by email OTP. @Spotify you need a security team that engages in less dogma and more security.
A really short piece (point form) on the Postgres subtransactions and exorcizing them from River. Written in part to remind myself why they're so prone to causing performance issues in the first place.
riverqueue.com/blog/subtrans…
Listened to an interview with Dylan Field (@zoink, Figma CEO). Like everywhere, they've had a vast proliferation of internal LLM use, manifesting as everything from commit messages to slide decks.
He proposed a simple rule that Figma uses: if you are using AI in your writing of any kind, just put at the top, 'written with AI'.
This strikes me as the most reasonable requirement of all time. You're using AI. That's fine, we all are. But how about we all agree to not try to hide it.
If text is LLM generated I want to know so I can skim it/not read it/have my LLM process it. Equally, if text is human written, I want to know so I give it extra attention and a high effort human reply.
I'm personally reconfiguring my bots to require this (or I will try to anyway, even just a 🤖 emoji prefix is enough). It's such a good idea. I hope it's the compromise most orgs reach internally in the coming years.
🚢 Fun ship last week!
Reminded me it's not only about exchanging tokens for software. There's a lot of ancillary work that goes into a finished product: buy-in, refinement, docs, marketing, changelog, etc.
Prototype took ~24 hours. E2E ship ~8 days.
nitter.cf/turbopuffer/status/211…
the official tpuf Rust SDK is now in beta 🦀
typed, async access to tpuf from your Rust applications
github.com/turbopuffer/turbo…
At $previousJob, we had a guy who's overarching theory for the use of Ruby was that it operator-optimized language due to its REPL: a relatively uncommon feature (not in Go, not in Rust) that was invaluable for the ad-hoc management of production systems.
Combined with terse syntax, you can easily (for example) issue a reboot to ever one of a specific user's clusters:
Cluster[user_id: X].each { |c| c.reboot }
It just hit me: you never need a REPL anymore.
A one-off LLM-generated script will be better, fast, more bug-free, safer, and even produce prettier output.
Guys, I'm starting to be more than a little afraid for Ruby.
This is just my work code directories after 1.5 weeks doing a job where they use mainly Rust. I'm not doing anything weird. Total ~40 repos and worktrees.
$ du -sh .
121G .
Looks like I'm trying Mr Boxington? Kinda crazy this is the language's out-of-the-box experience.
Growing up in Alberta, can't even explain the veneration my friends and I had for BioWare. They weren't only making good games by Canadian standards, they were making the best games by ANY standard, and founded right on our doorstep in Edmonton. Getting a job there would've been on par with being drafted into the NHL.
But that was a long time ago. Their recent history has been true test in credulity — games so objectively bad that the lowliest playtester could have called out years in advance that they'd flop hard on release. The people at the top certainly would have known, but went through with anyway because proselytizing their regressive brand of political doctrine was more important than staying in business.
A very hard lesson that a game studio isn't about a name or an office — it's about the people that work there and the people that run it. Take BioWare, swap out the founders, OG engineers/artists, and leads. You technically have a shell that's called "BioWare", but it's not really BioWare in any way but name.
This should be a cautionary tale that every company (and country for that matter) should take to heart. There's so many shops doing the same thing (e.g. Blizzard, Disney, Nike, Pixar), but are still proximately alive because they have better legacy revenue engines than BioWare did. But even the lucky ones can't dependent on that staying true forever.
nitter.cf/bioware/status/2112953…
A good quote from an R&D meeting yesterday:
"The frontier models are unstoppable."
This wasn't a statement about security or a black-pill/white-pill value judgement, but rather on the subject of DX/docs.
The insight was that the frontier LLMs will figure out how to do anything, but burn any amount of resources on both sides to get there. Tokens on one, bandwidth / server resources on the other.
Specifically in this case, the LLM was happy to to pull down a multi-metabyte JavaScript bundle and de-obfuscate it to reverse engineer pricing details when if it were available, a tiny JSON or Markdown file would've let it finish ~instantly.
The key today is getting them what they need to short circuit to their objective faster. Better docs / more capable API / transparent data is a win-win.












