Henrique Cardoso
887 posts

Henrique Cardoso
@hencf
Agentic engineer at @BSPKLuxury. I direct AI agents to ship production software. Ruby, Elixir, AI. Writing at https://t.co/7uEOOII3W3


I am (with Claude) working on rewriting the SafariPortal test suit from RSpec to Minitest. If you don't want to follow the whole story – I managed to go from 16 minutes 52 seconds to run 7003 examples to 111 seconds for 5698 runs and 19375 assertions. 9x times faster! (locally)


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.






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? 2026.euruko.org


The Rails World 2026 website is live thanks to the hard work and support of our sponsor @wyeworks. And most importantly, the CFP is open! Check out our latest #RailsWorld update here and apply to speak by May 16: rubyonrails.org/2026/4/23/big-…




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. hencf.org/blog/turbo-ate…




zal ik het in het Portugees posten zodat Grok het naar het Engels vertaalt, of beter in het Engels posten zodat Grok het naar het Portugees vertaalt?
