Wrote up five specific ways Rails' "boring" conventions turn out to be an unfair advantage when the reader is an LLM.
https://t.co/VAF3dXGaSc
https://t.co/wDPFKaCzhH
#Ruby#Rails#AI#Architecture#RubyOnRails
Rails didn't set out to be AI-friendly. It is optimized for the tenth engineer joining on day one.
LLMs want the exact same thing, for the exact same reason.
Full write-up, five conventions:
https://t.co/VAF3dXGaSc
7/7
Spent the last few months watching a Claude-based agent read our production Rails codebase — tracing scopes, following jobs, finding bugs I'd written years ago.
The strange thing isn't that it works.
It's how little I had to do to make it work.
🧵 1/7
`config/routes.rb` is the densest map of app structure I've ever handed an LLM.
Ticket → routes → controller → service → line where the exception was raised. Under a minute, zero guidance, no custom index, no LSP.
One file, top to bottom.
6/7
> AuditTrailReplayJob.perform_later(study_id, since: 24.hours.ago)
You told me what happens without reading the class.
Alternative: generic queue + JSON payload + routing consumer. Four files, three inferences, one typo away from silent breakage.
5/7
Active Record scopes are self-documenting in a way that no repository pattern is.
Tenancy rule + association path + lifecycle rule. One line. Agent reads once, knows.
4/7
`app/services/` is a keyword — even to the model.
Ask where the logic for X lives; it opens app/services/ and is often right on first read. Trained on millions of Rails apps following the convention.
Per-repo clever conventions don't compound. Shared ones do.
3/7
Mental model that helped most: the agent is a new hire on day one.
No institutional memory. General knowledge of Ruby/Rails. Reads fast, forgets nothing, believes what it reads.
Under that frame, every naming/layout decision is either cheap or expensive for the agent.
2/7
I'm thrilled to invite you to join me on Wednesday, August 14 for an insightful session on Secure Development Life Cycle!
In this session, I'll be covering how to integrate security into every phase of the Software Development Life Cycle (SDLC), from ...
https://t.co/qAOHr1hNjh
@PuVVNLHQ kept closing my online requests from last 2-3 yrs without taking action for name correction. It's a data entry issue by deptt itself. There is no way other than to raise a new request. My latest request number is 3630148913. Kindly fix the data and stop harassing custs
A heartfelt thanks to the entire #TorontoRuby team for organizing such a stellar event and inviting me as a speaker. To the brilliant organizers, the enthusiastic audience, and the whole supportive community...
https://t.co/0pgJECoT1B
Rails 8 is coming soon, so @dhh will kick off the second edition of #RailsWorld in Toronto with an Opening Keynote highlighting what is new in Rails today, and where the framework is headed tomorrow. The rest of the speakers will be announced in the coming days, so stay tuned for more. #rails #rubyorails #rails8
@TheOfficialSBI 2 weeks ago, I created an FD from a savings account using internet banking. I got emails and notifications that amt has been deducted from savings a/c and FD has been created immediately.
However, even after a week that FD didn't show under my internet banking.
@TheOfficialSBI Branch communication lacks control. Despite a guided call and assurance from the Bank Manager for resolution in 2 days, there's been no update even after follow-ups. They not responding to emails as well.
Almost 2 months and SBI is not bothered for the issue.
@RBI@SBIChairman
Gratitude to @CapitalOneCA and @ScaleWOB for the exclusive invitation to the "Immigrant Leaders in Software Engineering" event! It was an honor to...
https://t.co/hAzZRdkJ2Z