Nothing like opening a server, seeing it almost out of disk, and having zero clue why.
Turned out one file was eating 124 GB. It belonged to the monitoring tool I'd installed to keep things healthy. I'd switched on every safeguard it had. It grew anyway and nearly took the whole server down.
Deleted it. Wrote up what happened:
https://t.co/Xnu0ZYAQiS
Super cool news tonight: Rails realtime now runs on the server of your choice 🔥🔥🔥
Vova’s Action Cable server adapterization PR was merged 🥳. Same Channel and Connection code, swappable runtime underneath: Falcon, Fibers, async-cable.
This is the groundwork AnyCable has been proving in production for years, now landing in Rails itself.
People credit Rails’ longevity to DX. I think the secret behind it is adapterization pattern: every layer hides a default behind an interface, so the framework absorbs each new wave of innovation without a rewrite. Others wire it up with extra services. In Rails you swap the implementation as you wish, keeping the code intact.
Two years in the making, with
@ioquatix, @matthewd and @rafaelfranca steering the reviews. Congrats @palkan_tula 🥳
I paid five dollars to read a Medium article about my own free, open source library. It was sold as hard-won production experience.
It was fabricated.
https://t.co/ZWbtRbF7Fu
Couple weeks ago I wrote about moving BSPK off Heroku as an agentic-engineering story. This week, the technical companion: Kamal, Terraform, 1Password for secrets, Caddy in front of kamal-proxy, the cutover playbook, and the bugs I spent the most time on.
The one I'm still thinking about is the encrypted-attributes dance. SHA1-derived ciphertexts in the old database, SHA256 in the new Rails defaults. If you flip the setting, every existing row becomes unreadable. The fix is invisible if you do it right.
https://t.co/v8fqjolWjn
I really like you're take here. Doing something similar for a new project and will try to apply this idea of multiple plugins (connectors in my case) to harness the software
AI slop is good, actually. Slop is what enables fast parallel experimentation. The etiquette and skill is understanding the boundaries of where slop exists and the extent to which it should be cleaned up and how.
A few examples:
I’m working on the internals of some system right now. The API and GUI of this thing is fully zero shame slop. It’s horrible. But it lets me focus on the core quality while shipping a usable piece of alpha quality software to testers (transparent about the slop frontend).
Similarly, this system has plugins. We sent agents in Ralph loops overnight to generate dozens of plugins. The plugins are slop. The quality is bad. The plugin API/SDK is absolutely not done.
But we can test a full GUI with a full plugin ecosystem. When we change the API, we can regenerate them all. The cost of change is just tokens, the velocity is incomparable to before.
I built Terraform. We tested and shipped TF 0.1 with about 3 very weak providers. Because we ran out of time. Building was slow. And when we changed our SDK the cost was immense. Totally different today, 10 years later. Today, I would’ve slop generated 100 providers (again, with transparency and cleanup later, but just to prove it out).
As an anti example, I would not PR this (without prior warning) to another project. I would not throw this onto customers without full review or transparency (as I’m already doing). I would not accept first pass slop. It’s almost never right.
Slop is a tool. And like anything else it’s not blanket bad or good. The context is everything.
.@chat_with_work is now open.
No waitlist, no manual invites. Sign up with Google and start asking questions about your Google Drive docs in seconds. You can connect Slack too. Other integrations coming soon.
Note: Google may still show an “unverified app” warning while the OAuth verification/security review (CASA) is in progress. The app only requests read-only Drive access and never creates, edits, deletes, or shares your files.
The hosted preview is free during review: 200 credits/month.
https://t.co/i8QAtYFmNI
@VictorTaelin Did you try Karpathys LLM wiki idea: https://t.co/0Vi3UU7hlk
Used this is other context and worked wonderfully. My next step is creating this for our codebase
Two and a half months ago I started moving BSPK off Heroku to AWS. Mostly solo, no downtime, cost down 60%+, kept shipping features the whole time.
I didn't write much of the code that did this.
Wrote up what "agentic engineering" actually looked like for a real production migration, including the Caddy boot loop debug session that took five minutes instead of forty.
https://t.co/O9boIb21ZS
My kid kept asking me about Andy's dad in Toy Story. So I told him I'd write him a book about it.
Built a Karpathy-style LLM wiki first, from a few dozen YouTube videos and articles about the Toy Story 0 fan theory. Then used that wiki to draft the book. Illustrations with Stitch, EPUB in beta, in his hands now.
The wiki turned out to be the easy part. Once it was solid, writing was almost trivial.
https://t.co/VGogltlUkP
Crazy people like you! :D People that has a vision and belief to make an amazing experience in a small town, with no airport and proving wrong the people that have doubts about that(including me). Viana turned out to be an amazing place for the conference and the bus ride actually made the experience even more fun. The conference for me started on the bus with a great chat with @kcdragon_.
I hope to see you Henrique in Brno this year!
Linus Torvalds said Ruby people are weird and he is right. But you what's also weird? @euruko. I attended this conference for the first time last year and just learned that it is totally community driven. Every year, it is organized by someone else. At the end of every edition, the some of the attendees present a pitch for the next edition and the community votes. They hand over the gong and the baton is passed over to the next organizer.
Crazy, isn't it?
https://t.co/7XrWReFzdD
Linus Torvalds said Ruby people are weird and he is right. But you what's also weird? @euruko. I attended this conference for the first time last year and just learned that it is totally community driven. Every year, it is organized by someone else. At the end of every edition, the some of the attendees present a pitch for the next edition and the community votes. They hand over the gong and the baton is passed over to the next organizer.
Crazy, isn't it?
https://t.co/7XrWReFzdD
The Rails World website, CFP, Rails at Scale application, and Corporate support tickets are live. We can't wait to see what talks and workshops you have in mind. Huge shout out to @wyeworks for getting this made and shipped!
Rails World is coming to Austin, Texas in 2026. With last year selling out in mere minutes, we've made it bigger than ever with room for 1,200 developers! Corporate support tickets are on sale now, general admission will open May 12. CFP is open now too! https://t.co/AjnXXmWXx2
I made Solid Queue fiber-based.
Threads need one DB connection each: they can all query concurrently. Fibers share one connection because only one runs at a time.
100 concurrent jobs:
threads: 102 db connections
fibers: 3 db connections
Plus 20% faster on real LLM streaming workloads.
PR is up on rails/solid_queue.
https://t.co/Wqdm7NsR9x
Henrique is writing a bunch of useful posts recently. I can highly recommend to follow his blog.
@cooperx86 not sure if he is on your radar, but should be I believe.
A customer reported a Stripe button that didn't work. I checked Solid Errors. The click itself wasn't logged anywhere. Just duplicate-creation errors from them clicking again.
Turbo submits forms via fetch. Fetch can't render a cross-origin response. My redirect to Stripe was silently dropped. No error, no log, no stack trace.
Wrote up the full story, the audit that followed, and why three separate things had to line up for the bug to exist at all.
https://t.co/PfLCbdZ84i