Profile avatar
lucianghinda.com
Product Engineer, Ruby on Rails Developer ‣ Curator of newsletter.shortruby.com ‣ Helping #Ruby developers design better test cases at https://goodenoughtesting.com
1,388 posts 1,727 followers 689 following
Prolific Poster
Conversation Starter

This is your reminder that if you run #Ruby 3.2, now would be a good time to start planning an update. It will be EOL in about 10 months - March 2026. I know that 2026 seems far away but it is not that far in terms of dependencies and upgrades.

Mihail interviewed me for the Developer Bites series on his blog. We covered a lot of ground! Dev background, starting a web studio, working solo, design tips for devs, building Liminal. And I share what is probably my favorite show lately. 😊 mihailpanayotov.com/developer-bi...

Hey rubyists, remember these whimsical little people who celebrated a fresh rails app with you? Anyone know who drew these and/or know where I can find the other images done in this style?

Your CEOs Were So Preoccupied With Whether Or Not They Could, They Didn’t Stop To Think If They Should

Pagecord is listed on ProductBurst (low rent ProductHunt 😅). Would you mind giving it an upvote? :) productburst.com/product/page...

The Short Ruby Newsletter edition 137 is out! @shortruby.com @vcosmin01.bsky.social helped with the content editing for this edition! Read the full edition at https://newsletter.shortruby.com/p/edition-137 #Ruby #News #Rails #RubyOnRails

You might have noticed a record-breaking 7th consecutive bugfix release for RuboCop (see github.com/rubocop/rubo...). I just wanted to say that's not because the quality of RuboCop dropped, but because I've decided to focus on bug-fixing and polish for a while. We have plenty of features already! 😁

Embed your GitHub Gists in Pagecord posts ✨ #rails #blogging #opensource

So the wedding I’m at, in London, the groom is Romanian, and we’re dancing Hora Mare and I learnt this at @friendlyrb.com on stage, so just saying, this Ruby conference prepares you for life. In case you were thinking about getting a ticket, you know. Investment 💡

New plan: content posted on GitHub Pages: rubys.github.io/kamal-in-pro... with CC0 license. If you reviewed it previously and I didn't address a comment, let me know. If you haven't seen it yet, take a look!

I wrote a post to braindump what I'm currently working on: allowing lock-free access to class instance variables from Ractors. byroot.github.io/ruby/perform...

I haven't mentioned this here much, but @pragprog.com has a @humblebundle.com with 19 Ruby and JavaScript ebooks for $18 or pay-what you will for smaller bundles or larger charitable donations. About one day left... www.humblebundle.com/books/javasc...

Next version of Literal will have a basic RubyLSP indexing enhancement so you get auto-complete for your props as instance variables.

Have you ever wanted to define an object like this and have it aware of its own name, `Foo::Bar`? We get that behaviour when we define modules and classes but not objects.

I'm trying to not be on social media too much so when I come back, I'll make sure to bring some gifts: Experimental MCP servers for Stimulus and Turbo documentation: github.com/pinzonjulian... github.com/pinzonjulian... @marcoroth.dev you mind find this interesting!

Yesterday I hit publish on the final part of my series on SOLID principles: the Dependency Inversion Principle. The main article, which links to the now-complete list of principles, can be found here. Following are my takes on the writing process. 1/n

This is a dream ☕️💎🥹

@rosa.codes @carlastabile.tech I think a while back we exchanged some ideas about a developer's conference with good coffee. Friendly will have a bit of that 👇

Zeitwerk ergonomics question: Say that I have a pack path like `packs/parent/child/app/models/grandchild.rb` Most files today would define that as: class Grandchild < ApplicationRecord; end ....but I would prefer it _also_ supports: class Parent::Child::Grandchild (inline nesting for space)

I published a post yesterday but I forgot to post about the post. Here's an article about speeding up object allocations in Ruby 3.5! railsatscale.com/2025-05-21-f...

Starting the May edition of the #SFRuby at Cisco Meraki with @camertron.bsky.social and the friendliest group of people ❤️‍🔥

Rails thrives on conventions. Straying from them makes your codebase unfamiliar, boosting learning curves & errors. Get insights on common pitfalls and how to tackle them to keep your app healthy: reinteractive.com/articles/top... #Rails #BestPractices #CodeQuality

After I adopted Promises Driven Development™ with great success, I've gone one step further in the boldness scale, and I'm experimenting with a new methodology that future-rosa will be thrilled and totally not going insane about when September approaches 🥹 rubyonrails.org/world/2025/d...

Yesterday, we published the 136th edition of @shortruby.com If you are not yet subscribed, Short Ruby is a long feed with short news about what happened last week in #Ruby world. This edition if packed with news, code samples, videos, articles and inspiring discussions.

v0.6.0 of "Bug Hunt: Volume 1" is now live, with two new exercises... One is themed on Conway's Game of Life and shows something to watch out for when using Ruby's pattern matching feature. The other is a common "gotcha" when using Ruby hashes, especially if you mostly work in Rails. (1 of 2)

How do you manage error classes in your app? - Granular — Domain::Specific::NotFoundError - Generic/Reusable — Error::NotFound - Not — StandardError/raise 'x' Personally, I create my own error classes so I can see what's wrong at a glance, even if it means catching existing ones. #RubyLang

The penultimate part of SOLID: the Interface Segregation Principle.

If you've upgraded a Ruby on Rails application from a version prior to 5.2 and you're using the Encrypted Credentials mechanism, you might not know that the git diff command can show you changes to the credentials file even though it's encrypted.

BTW, I’ve opened a draft PR for this: github.com/Shopify/ruby... We’re now waiting on a new VS Code API to let extensions configure the MCP connection, which will make the setup simpler & more robust.

Don't want to expose a class' initializer in Ruby? Making it private is easy! Just use `private_class_method :new`. This conveys intent that your class is not designed to be initialized from outside — perfect when you want to use the factory pattern.

🛠️ With temerity and trepidation I announce oauth2 v2.0.10. - IETF RFC 7009 Token Revocation - Bugs fixed - Test matrix: 100% line & branch on all key minor versions of all [Runtime Deps, Ruby Engines, Platforms] #ruby #security #authorization Upgrade with confidence! github.com/oauth-xx/oau...