Sign in

Lucian Ghinda

@lucianghinda.com
1.9K followers 836 following 2.6K posts

Product Engineer, Ruby on Rails Developer ‣ Curator of newsletter.shortruby.com ‣ Helping #Ruby developers design better test cases at goodenoughtesting.com

PostsRepliesMedia
Reposted by Lucian Ghinda
Marco Roth @marcoroth.dev · 24/09/2026
Today is a big day for Herb! It's built into Rails 8.2 by default for all HTML+ERB views. My talk at #RailsWorld in Austin today answered three questions: What is Herb? What ships in Rails 8.2? And what does this enable? Herb v0.11 and ReActionView v0.6 released alongside it.
36511
Reposted by Lucian Ghinda
Amsterdam Ruby Meetup @amsrb.org · 24/09/2026
The first talk of the night is from Stanislav Katkov about #Ruby documentation!
Stanislav giving a presentation in front of an audience.Stanislav giving a presentation in front of an audience.
033
Reposted by Lucian Ghinda
Aaron Patterson @tenderlove.dev · 24/09/2026
Support Local Variables arxiv.org/pdf/2609.01502
arxiv.org
1132
Lucian Ghinda @lucianghinda.com · 10/09/2026
The creator of superpowers plugin kindly asked us to change the name of github.com/lucianghind... to something else and not use superpowers. So I need your help for choosing a new name for this project. What would you think it should be called?
github.com
GitHub - lucianghinda/superpowers-ruby: Claude Code superpowers: core skills library for Ruby and Ruby on Rails projects
Claude Code superpowers: core skills library for Ruby and Ruby on Rails projects - lucianghinda/superpowers-ruby
010
Lucian Ghinda @lucianghinda.com · 09/09/2026
Most of my work these days on my personal projects (which are a bunch of small Ruby gems that I use in various projects) is using Astra medium to orchestrate and Luna subagents to implement and execute various tasks.
Text discusses collaboration on Ruby gem projects, detailing subagents running and tasks like verification and documentation.
110
Lucian Ghinda @lucianghinda.com · 09/09/2026
I was creating some content for #GoodEnoughAgents workshop and wanted to make it even more practical so I found this gem that provides an interface to tiktoken algorithm from @OpenAI An LLM model never "reads" your text, it works with numbers. gem install tiktoken_ruby
100
Lucian Ghinda @lucianghinda.com · 08/09/2026
Did not have time to announce that together with @skatkov.com we will deliver a workshop about Good Enough Agents at EuRuKo 2026 but now seems late cause it is fully booked :) Looking forward to meeting everybody at @euruko.org
Workshop titled "Good Enough Agents: How Coding Agents Actually Work" scheduled for September 18, 2026, with no available seats.
032
Reposted by Lucian Ghinda
tapster @mileswoodroffe.com · 03/09/2026
If you’re in London next week, it would be great to see you at “Ruby in London” at Mindful Chef HQ, where me, Tobias and Tom are all speaking. Lots of #rubyfriends already coming but room for a few more! It’s going to be a busy one! www.meetup.com/ruby-in-lond... #ruby #rails
meetup.com
Ruby in London with Mindful Chef, Wed, Sep 9, 2026, 5:30 PM | Meetup
Welcome back to another Ruby in London meetup!! The event will be hosted again by the wonderful team at Mindful Chef on Wednesday 9th September at 5.30pm. Speakers/Talks
084
Lucian Ghinda @lucianghinda.com · 03/09/2026
Hmmm, coincidence? :)) Maybe it is time for a break.
Warning messages indicate ongoing issues with ChatGPT and Codex, including elevated error rates and updates on investigations.
030
Lucian Ghinda @lucianghinda.com · 03/09/2026
I think one important change from Anthropic related to Fable 5.1 is the Data Retention There are a lot of organisations who disabled Fable due to data retention policy. And it seems Anthropic does not plan to disable it but maybe this EFS could help more organisations use Fable
Text discusses a new data retention system called Enterprise Frontier Safeguards (EFS) for improved privacy and customer control.
020
Reposted by Lucian Ghinda
hsbt @hsbt.org · 02/09/2026
RubyGems 4.0.20 and Bundler 4.0.20 are out. This is a cumulative bug fix release for the 4.0 series, and it backports the fixes for running gem and Bundler under RUBY_BOX=1 on Ruby 4.0: blog.rubygems.org/2026/09/02/4...
blog.rubygems.org
4.0.20 Released
RubyGems 4.0.20 includes enhancements, bug fixes and documentation and Bundler 4.0.20 includes enhancements, bug fixes and documentation.
0135
Reposted by Lucian Ghinda
Peter Zhu @peterzhu.ca · 02/09/2026
Ruby's GC and ZJIT got a new collab! We recently introduced inlining of the garbage collector's fastpath into ZJIT. Read more about it here: railsatscale.com/2026-09-01-z...
railsatscale.com
ZJIT 🤝 GC: Inlining GC Fastpath in ZJIT
Object allocations from the garbage collector are now inlined in ZJIT.
1145
Reposted by Lucian Ghinda
John Nunemaker @johnnunemaker.com · 02/09/2026
Nice little pattern for background tasks that need to be rate limited a bit: start to start throttling. If you need 1/sec, don't sleep 1. Sleep for the difference 1 minus the duration of the work.
Code editor displaying Python script with timing logic, showing variables for request tracking and delay calculations with conditional statements.
051
Reposted by Lucian Ghinda
Rachael Wright-Munn @chael.codes · 02/09/2026
I try to make this a little better every month and automate it a bit more so I can spend more time on little details and customizations. I'm particularly proud of this edition. ♥️
051
Lucian Ghinda @lucianghinda.com · 01/09/2026
Time to trim the worktrees. 100 worktrees in 3 months. 40 of those were created in August, 22 in July and 34 in June, 4 today :) - 66 were used for code review, bake-offs and reproducing bugs - 34 were active development
Displays a message indicating 100 worktrees in use, occupying approximately 76 GB of storage space.
020
Lucian Ghinda @lucianghinda.com · 01/09/2026
For a while I pasted this into every Rails console session: ActiveRecord::Base.logger.level = Logger::ERROR Rails has a hook built for exactly this: Rails.application.console.
Guide on creating a helper to silence logging in Rails console sessions. Focus on code and functionality for cleaner output.
120
Lucian Ghinda @lucianghinda.com · 01/09/2026
For a while I pasted this into every Rails console session: ActiveRecord::Base.logger.level = Logger::ERROR Rails has a hook built for exactly this: Rails.application.console.
Guide on creating a helper to silence logging in Rails console sessions. Focus on code and functionality for cleaner output.
120
Reposted by Lucian Ghinda
Jochen Lillich @geewiz.dev · 31/08/2026
Did you know that you can literally multiply array elements in #Ruby? `[1, 2, 3] * 3 # => [1, 2, 3, 1, 2, 3, 1, 2, 3]` And with a scalar string, it’s a shortcut for `join`: ``` h = { a: 1, b: 2} h.map { |pair| pair * "=" } * ", " # => "a=1, b=2" ```
041
Reposted by Lucian Ghinda
JP Camara @jpcamara.com · 31/08/2026
Here’s the SolidQueue batches 2.5 year architectural journey, filled with O(n^2) algorithms, hot row contention, excessive jobs, and much in between. There’s a strong chance you’ll learn a thing or two - I certainly did 😮‍💨 jpcamara.com/2026/08/31/s...
jpcamara.com
SolidQueue Batches: evolution and architecture
When Rosa first released SolidQueue, she did a fantastic talk on the internals of how it works and what trade-offs she made when building it. You should give it a watch. It’s where I first learned how...
1125
Reposted by Lucian Ghinda
hsbt @hsbt.org · 31/08/2026
RubyGems and Bundler now pass their full test suites with RUBY_BOX=1. I am working toward Ruby 4.1 so that Ruby::Box is stable enough for real projects. bugs.ruby-lang.org/issues/22275
bugs.ruby-lang.org
Misc #22275: Ruby::Box support plan for RubyGems and Bundler - Ruby - Ruby Issue Tracking System
Redmine
083
Lucian Ghinda @lucianghinda.com · 31/08/2026
When I think about commands and triggering skills I have to say I like a lot more the way Claude Code does it in TUI with "/" than Codex TUI that uses "$" For me slash is much more a hint for a command than $ which gives me vibes of PHP :)
Two coding interfaces display command inputs; one uses "/" and the other uses "$" for programming tasks, highlighting differing styles.
340
Lucian Ghinda @lucianghinda.com · 28/08/2026
Have to say I like a lot more this default style from Codex TUI to present the proposed changes. It is brief, it has the right keywords highlighted, it shows me the approaches considered so far, and it shows with bullet points the proposed architecture.
Three proposed approaches for a software architecture, with bulleted details on extensions and changes to system components highlighted.
100
Lucian Ghinda @lucianghinda.com · 27/08/2026
I like it when AI confirms my stack choices: Ruby on Rails + @avohq.io PS: Working on a new workshop, more details soon
A dark interface displays text about integrating Rails and Avo for workshop management, emphasizing a centralized dashboard for instructors.
220
Reposted by Lucian Ghinda
Stanislav (Stas) Katkov @skatkov.com · 27/08/2026
Gem documentation viewer for developer that don't want to leave the Terminal.
051
Lucian Ghinda @lucianghinda.com · 27/08/2026
I am testing a new skill for #Ruby that creates a specification documents which describes the change to be done with some specific points: One is object interfaces (in this case all are new objects)
Documentation detailing the public interface and value objects for new Ruby classes, including method definitions and parameters.
100
Lucian Ghinda @lucianghinda.com · 26/08/2026
/new or /clear is sometimes the best "prompt" you can give to an agent to fix a change going bad. Once a chat with an LLM gets far enough it can trigger an effect called "Lost in Conversation" and it will be very hard to drive it out of the chosen path.
A dark-themed graphic illustrates dependencies in generated responses, showing a function with prompts and answers as variables.
120
Lucian Ghinda @lucianghinda.com · 25/08/2026
I was working on a new gem, agents_homedir, when I discovered this: github.com/charmbracel... How come I did not know about it? This is amazing for CLI recordings as GIFs. AMAZING! I wrote a tape file for my gem and it created this amazing GIF. I love this kind of focused utility
150
Reposted by Lucian Ghinda
Pascal Laliberté @pascallaliberte.ca · 24/08/2026
Do I know anybody from the Small Bets Community (or another like it) who has a few Ruby-based startups/indie businesses they run? Would appreciate some reposts to find a few people to talk to.
167
Reposted by Lucian Ghinda
Bozhidar Batsov (a.k.a. Bug) @batsov.net · 24/08/2026
A new version of #RuboCop is out today with many bugfixes and improvements github.com/rubocop/rubo... I think a lot of people will enjoy the new "disable-next" directive. #Ruby
github.com
Release RuboCop v1.90.0 · rubocop/rubocop
New features #15073: Add AllowTrailingComment option to Style/DisableCopsWithinSourceCodeDirective. (@bbatsov) #9505: Add disable-next directives scoped to the following statement. (@bbatsov) #155...
061
Lucian Ghinda @lucianghinda.com · 24/08/2026
I think we are about to find out (yet again) that exhaustive testing is impossible. Or at least impractical. LLMs are already discovering bugs in mature, stable software. That is confirmation that exhaustive testing was never possible and still is not possible.
A dark-themed graphic discusses the impracticality of exhaustive testing in software, highlighting LLM's verification limitations.
100
Lucian Ghinda @lucianghinda.com · 21/08/2026
Some quick impressions from using Codex more than Claude this week. I will do a full analysis during the weekend.
111
Reposted by Lucian Ghinda
Rosa @rosa.codes · 21/08/2026
I finally merged @jpcamara.com's PR github.com/rails/solid_... to add job batches to Solid Queue. It only took two and a half years! 🤣 It's true artisanal code, though our own industrial revolution has helped take it to the finish line 😅✨️
github.com
Batch Support by jpcamara · Pull Request #142 · rails/solid_queue
Support for batches in SolidQueue! Batches are a powerful feature in Sidekiq Pro and GoodJob which help with job coordination. A "Batch" is a collection of jobs, and when those jobs meet ...
4353
Lucian Ghinda @lucianghinda.com · 21/08/2026
I read quite a lot of advice from people recommending adding ASD-STE100 to your Claude/Agents md instruction file. My counter advice is don't do that yet. Because ASD-STE100 cannot represent domain language and so you will lose specific domain concepts defined by some words.
110
Lucian Ghinda @lucianghinda.com · 20/08/2026
In Codex the status line is a list of built-in names you pick from. The setting is `status_line` under `[tui]` in `~/.codex/config.toml`. The docs call it "ordered list of TUI footer status-line item identifiers".
A configuration snippet for Codex showcases customizable status line items listed under the `[tui]` section in a `.toml` file.
100
Reposted by Lucian Ghinda
Kuba Suder 🇵🇱🇺🇦 @mackuba.eu · 18/08/2026
Another optimization find from 🤖: apparently `Post.where(…).first` is 50% slower than `Post.find_by(…)`, because how ActiveRecord internals work, and this is called a lot in the firehose processing loop (to look up thread roots, quote post targets, and posts being deleted) 🤔 #ruby
Worked for 23s

That confirms a meaningful difference without ruby-prof:
where.first: 0.5341 ms/query
find_by:     0.3356 ms/query
difference:  0.1985 ms/query
So find_by reduces lookup latency by about 37%; equivalently, where.first is about 59% slower.
471
Lucian Ghinda @lucianghinda.com · 19/08/2026
This week I keep using Claude Code for my personal projects as the main agenting harness but for the proffesional work I am trying Codex. Multiple reasons: (1) I felt like since Opus 5 Claude is creating too much slop (too many comments, too much complexity)
241
Lucian Ghinda @lucianghinda.com · 19/08/2026
Claude Code can run executables to show the status line for a while now. So nothing new here except that the executable can be a Ruby script. The setting is `statusLine`, a top-level setting on the same level as `permissions` and `hooks`. Here is my whole setup:
130
Reposted by Lucian Ghinda
Victor Shepelev 🇺🇦 @zverok.bsky.social · 17/08/2026
For some reason, I am still (sometimes) writing about Ruby and other similar matters: zverok.space/blog/2026-08...
zverok.space
Thinking about tests: assertions and matchers
Why some of us are still bothered about the way we write tests and what the "matcher" concept has to do with it.
0115
Lucian Ghinda @lucianghinda.com · 17/08/2026
1/ I spent a day reading code I did not write, and Claude kept inventing abstractions for things that already had names in the file. So I typed a phrase I half-remembered: "Explain to me in Simple Technical English." Then I tested whether it does anything. 🧵
352
Reposted by Lucian Ghinda
tapster @mileswoodroffe.com · 13/08/2026
New Agents on Rails benchmarking initiative just dropped. The Rails Foundation commissioned @evilmartians.com to get this rolling. Super interesting already but just the beginning rubyonrails.org/2026/8/13/ll... rubyonrails.org/ai
rubyonrails.org
Rails and AI — Ruby on Rails
Rails gives AI coding agents a convention-driven, expressive framework for building production-quality software quickly.
0207
Reposted by Lucian Ghinda
Robby Russell @robbyonrails.com · 13/08/2026
Appreciate the new Rails AI benchmarking project rubyonrails.org/ai being shared so quickly. Thanks to everyone involved in getting this rolling
rubyonrails.org
Rails and AI — Ruby on Rails
Rails gives AI coding agents a convention-driven, expressive framework for building production-quality software quickly.
093
Lucian Ghinda @lucianghinda.com · 13/08/2026
Something to keep in mind for today if you use Claude to do web research: Anthropic on layered injection defenses and auto mode: claude.com/blog/auto-m... Simon Willison on Haiku in WebFetch: x.com/simonw/stat...
A dark interface displays text about prompt injection, model training, and risks associated with web fetching on Claude Code.
000
Lucian Ghinda @lucianghinda.com · 13/08/2026
If you are running Rails 8.0.x or just updated to this this week NOW is the best time to plan for Rails 8.1 upgrade or even run on Rails master
A list outlines supported Rails versions with their end-of-life dates, emphasizing security fixes for minor releases.
110
Lucian Ghinda @lucianghinda.com · 12/08/2026
Method names, class names and variable names were always a readability concern. Now they are also context, and context influences the inference. From the HANDBOOK(dot)md benchmark by Surge AI.
Text on a dark background discusses the importance of naming conventions in coding, emphasizing their role in context and inference.
120
Lucian Ghinda @lucianghinda.com · 12/08/2026
In case anyone still runs Rails 7.2.x this is the sign to rush the upgrade. I assume that version is now not supported anymore. Source: rubyonrails.org/maintenance
Security support details for Rails versions, highlighting end-of-life dates, including 7.2.x until August 9, 2026.
044
Lucian Ghinda @lucianghinda.com · 11/08/2026
This is the correct URL: allaboutcoding.ghinda.com/one-week-of-...
allaboutcoding.ghinda.com
One Week of Building and Reviewing Code With LLM Agents
One week of agent-first backend work in the logs: 2,200 session files across four tools, 350 prompts typed by hand, and which checks actually found real defects.
020
Lucian Ghinda @lucianghinda.com · 11/08/2026
Here is a review of my coding sessions from last week where I use agents on a large Rails backend. I used Claude Code as main orchestrator and Codex, Amp and Cursor CLI for running extra tasks (reviews, back-offs) I share here real data with both what worked and what did not
A table detailing coding session statistics, including session files, typed characters, and live session hours over one week.
130
Reposted by Lucian Ghinda
Ismael Celis @ismaelcelis.com · 08/08/2026
Pretty happy with how codecs (two-way serializers) are shaping up in my data-structures/coercions #ruby library ismasan.github.io/plumb/#encod...
ismasan.github.io
plumb - Data structures, validation, coercion and processing toolkit for Ruby
021
Reposted by Lucian Ghinda
Jean Boussier @byroot.bsky.social · 06/08/2026
A history of Ruby's Hash tables, and how we can make them use less memory: byroot.github.io/ruby/perform...
byroot.github.io
Shrinking Ruby Hashes
As you may know, one area of Ruby performance optimization that particularly interests me is memory usage. Given that most Ruby deployments rely on fork, improving Copy-on-Write performance is general...
1329
Lucian Ghinda @lucianghinda.com · 06/08/2026
I have six AI coding CLIs installed on my machine: Claude Code, Codex CLI, Cursor CLI, Amp CLI, opencode, and pi. Each one writes your full conversation somewhere on disk. Only two document where. One documents the format. Here is what I found:
221