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
Lucian Ghinda @lucianghinda.com · 5h
Have to come back to share this extra trick: Whenever the agent makes a mistake ask it to write 10 times in their memory: "I am sorry. I will make no mistakes next time"
021
Lucian Ghinda @lucianghinda.com · 8h
I don't understand why you all are complaining about code quality when using AI. Don't you use the the best engineering practice and always finish your loop/graph/pyramid of agentic harness with: > Think deep. Make no mistakes. Follow all standards. Think in ASD-STE100 ?
250
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.
36813
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
And then I hand the documents to Codex with Astra on Medium and a prompt that is like this: Implement using Luna subagents the specifications found at docs/<specs> which will do the work and sometimes tell me things like this (I read them for fun bc I don't trust I verify 😄 )
A text block discusses tool accuracy, edge cases for regression tests, and specific conditions for project observations.
000
Lucian Ghinda @lucianghinda.com · 09/09/2026
Basically I first run: github.com/lucianghind... to generate a high level idea of what I want to implement Then I run a codebase-research and change-spec skills which will soon be added to superpowers-ruby cause I think I tested them for almost 2 weeks and they are very good
github.com
GitHub - lucianghinda/superplanning: Superplanning is a Skill for AI Agents that helps you plan a new product or feature
Superplanning is a Skill for AI Agents that helps you plan a new product or feature - lucianghinda/superplanning
100
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
These are just token ids not vector embeddings so the LLM will not work directly with them. They also have no meaning except to allocate an integer to a chunk of text (token) But it is still nice to decompose and explore how a prompt/context is transformed.
000
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
So looking forward to build more stuff together. I did a similar thing this year in a way forced to choose to focus on a smaller set of projects and my family.
000
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
Even bigger now that also Codex has issues bsky.app/profile/luci...
100
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
disable_console_loggers! to mute, enable_console_loggers! to restore. No console restart needed. Full write-up: allaboutcoding.ghinda.com/adding-a-he... If you have a better pattern for this, I would like to see it.
allaboutcoding.ghinda.com
Adding a helper to silence logging in Rails console
Rails.application.console runs a block only when bin/rails console starts, never in web or job processes. Define disable_console_loggers! and enable_console_loggers! there once and stop pasting logger levels into every session.
000
Lucian Ghinda @lucianghinda.com · 01/09/2026
For a single query, Rails already ships a scoped tool: ```ruby ActiveRecord::Base.logger.silence do User.where(created_at: 1.week.ago..).count end ```
100
Lucian Ghinda @lucianghinda.com · 01/09/2026
Why does a def inside a block work as a console helper? A method defined in a block lands on Object. And in rails console, self is main, an instance of Object. ```ruby Object.instance_method(:hello).owner # => Object ```
Code snippet showing a method `execute` that defines a block and demonstrates its relation to Object in Ruby. Output results included.
100
Lucian Ghinda @lucianghinda.com · 01/09/2026
Add this to config/initializers/console_helpers.rb: ```ruby Rails.application.console do def disable_console_loggers! @previous_log_levels ||= console_loggers.to_h { |l| [l, l.level] } @previous_log_levels.each_key { |l| l.level = :error } end end ```
Ruby code snippet for silencing and restoring console loggers in a Rails application, defining methods for managing logger states.
100
Lucian Ghinda @lucianghinda.com · 01/09/2026
Rails.application.console registers a block that runs only when bin/rails console boots. This will only be loaded in console, not web process nor jobs. The Rails configuration guides document it as the console-only hook. That makes it the correct home for helpers like this.
100
Lucian Ghinda @lucianghinda.com · 01/09/2026
In development the console logs every SQL query and every cache line. Sometimes it is great for debugging. But some other times it is terrible when I want to copy console output into an agent CLI. I only wanted the thing scripts I run printed there. No extra SQL log lines
100
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
Rails.application.console registers a block that runs only when bin/rails console boots. This will only be loaded in console, not web process nor jobs. The Rails configuration guides document it as the console-only hook. That makes it the correct home for helpers like this.
000
Lucian Ghinda @lucianghinda.com · 01/09/2026
In development the console logs every SQL query and every cache line. Sometimes it is great for debugging. But some other times it is terrible when I want to copy console output into an agent CLI. I only wanted the thing scripts I run printed there. No extra SQL log lines
100
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
I could be biased as I grew in times of IRC and chat with text based interfaces where slash commands were used a lot. For me `/` is a better fit symbol for something that looks like a command or something to be executed than the `$` but could be a personal preference maybe?
140
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 · 29/08/2026
If you have time and budget (or remaining limits on any agent) I suggest you take this github.com/lucianghinda... and change it maybe to include some code that you have and run variations of instructions for Codex and see which one you like more.
github.com
010
Lucian Ghinda @lucianghinda.com · 28/08/2026
I like the idea of Claude that goes beyond what I have asked and tells me about a possible bug and investigation to be done as followup. But I wish it would have made that text a bit more structured by default.
110
Lucian Ghinda @lucianghinda.com · 28/08/2026
Compare with Claude Code style. I know it is not the same task but this wall of text. This is Claude Code with "simple technical English" instruction added in user injected Claude(dot)md Still makes me re-read twice some parts.
Technical write-up detailing code changes for throttling requests and test environment caveats in a Ruby on Rails project.
110
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
Oh forgot the link to the gem: github.com/lucianghinda... I did not had time to put a video there about how it works as I am probably the only user :P
github.com
GitHub - lucianghinda/hunk-review-changes: Review a diff hunk-by-hunk in your browser, then hand the comments back to your AI coding agent.
Review a diff hunk-by-hunk in your browser, then hand the comments back to your AI coding agent. - lucianghinda/hunk-review-changes
010
Lucian Ghinda @lucianghinda.com · 27/08/2026
Oh you are not so far away :) here is a screenshot from today when I was trying out some stuff part of the vectors embeddings, directions and matrices playing with some very small embeddings.
110
Lucian Ghinda @lucianghinda.com · 27/08/2026
I even wrote this small gem that you can ask to battle review and it will put Claude Code and Codex to fight pro and against each hunk diff and then spin a Sinatra server (just for fun) with a HTML page wher I can add my own comments.
110
Lucian Ghinda @lucianghinda.com · 27/08/2026
This was not a very serious task. I wanted to do a small funny API server for participants to play with. Usually I do bakeoffs between agents (models + harness) and prompt variations on the same model and adversarial reviews.
120
Lucian Ghinda @lucianghinda.com · 27/08/2026
Ah of course it agrees with me on my architectural choices that I also wrote in a file in that folder :) I shared this as a funny thing as I was discussing back and forth about the architecture of a server for participants to play with and at some point I challenged just a bit my own decision
110
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 is in various ways and forms and thinking to include it in superpowers-ruby project this weekend github.com/lucianghind...
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
000
Lucian Ghinda @lucianghinda.com · 27/08/2026
And a bit of pseudo code logic that looks like this:
Code snippet outlines logic for session resolution and message handling within an agent's context. It includes conditional checks and resolutions.
100