Xavier Noria
banner
fxn.bsky.social
Xavier Noria
@fxn.bsky.social
Everlasting student · Rails Core · Zeitwerk · Freelance · Life lover
Reposted by Xavier Noria
Happy New Year! 🎉

2025 was an incredible year for Ruby Events around the world and also for the @rubyevents.org platform!

To celebrate, we're releasing RubyEvents Wrapped!

A look back at talks, events, speakers, sponsors, and the Ruby community's year!
January 3, 2026 at 1:22 AM
New year's getaway to Frankfurt.

Night photo is the opera house, we are going to see Tosca tonight.

Tried also some Sinn divers this morning in the old town boutique. Some are filled with oil and can go 5 km deep (not a typo!). But did not purchase any in the end.
January 2, 2026 at 3:29 PM
That was an interesting read.

That is why I want to self-publish, I want full control of the content and how to present it, among other things. My book is going to be rigurous and comprehensive you-are-here-for-the-real-deal.

austinhenley.com/blog/cancele...
I canceled my book deal
I've always wanted to write a book, and I was close, but not this time.
austinhenley.com
January 1, 2026 at 7:54 AM
Given a class object `klass`, it is not uncommon to see

klass.to_s

to get its name.

However, that is unnecessarily indirect. If you want the class name, just ask for it!

klass.name

That is more concise/intentional.
December 31, 2025 at 11:57 AM
I used Turbo C quite a bit in the 90s. That color scheme with the blue background brings so many memories.

youtu.be/xtKcagvogSA?...
BORLAND: RISE AND FALL OF A SOFTWARE EMPIRE – THE DELPHI STORY
YouTube video by The Web Journal
youtu.be
December 28, 2025 at 8:44 PM
Reposted by Xavier Noria
Just published this year's version of my "Ruby Changes" project: a full annotated changelog for Ruby 4.0:

rubyreferences.github.io/rubychanges/...

Goals: Full, comprehensive, concise, well-structured.
Examples, explanations of reasons, links to docs, all of it.
Ruby 4.0 changes
Ruby 4.0 full and annotated changelog
rubyreferences.github.io
December 26, 2025 at 8:59 AM
Will the future develop some sort of declarative language from which LLMs can produce implementations?
December 23, 2025 at 10:11 AM
Reposted by Xavier Noria
I’m very honored and grateful.

Rails has given me a lot, and giving back through open source has always felt like the natural response. Looking forward to continuing the work. ❤️

I wrote a short note on my blog:
marcoroth.dev/posts/rails-...
December 18, 2025 at 2:48 PM
Yesterday was a nice and special day.

Now enjoying Zurich by walk a bit before my flight.
December 18, 2025 at 11:00 AM
We were very proud to present @marcoroth.dev with the Rails Luminary Award 2025.

And yes, I was on a secret mission to Zurich 😀.

rubyonrails.org/2025/12/17/m...
Congrats Marco Roth: 2025 Rails Luminary
We are stoked to share that the Rails Core team has announced Marco Roth as the 2025 Rails Luminary.
rubyonrails.org
December 17, 2025 at 11:10 PM
Reposted by Xavier Noria
I'm really happy to see @marcoroth.dev receive the 2025 Rails Luminary Award! 🎉

He’s done so much for the Rails ecosystem and the Ruby community.

Huge congrats, Marco! 🙌

And it's great to have @fxn.bsky.social and @amandabrooke.bsky.social around.

#rails #RubyOnRails #ReActionView #herb
December 17, 2025 at 7:55 PM
I have released Zeitwerk 2.7.4.

It improves the performance of some validation logic. This may be measurable in large apps with ignored directories and lots of autoload paths.

In Gusto's main application (+20 autoloaders, ~2000 autoload paths), the patch saves 800 ms of boot time.
December 16, 2025 at 7:16 AM
Reposted by Xavier Noria
Amazing! I will actually be in Zürich this week. See you all there!
December 15, 2025 at 7:45 PM
Next week I’ll be at the last Railshöck of the year, in Zurich.

There will be talks by Alessandro Rodi, @marcoroth.dev, and yours truly. It's going to be a good one.

Being Switzerland, I am leaving my credit card at home 🤣.

www.meetup.com/rubyonrails-...
Railshöck at Renuo, Wed, Dec 17, 2025, 6:30 PM | Meetup
Hi everyone On a short notice I'll revise what I said before: THIS Railshöck will be the last one of this year… probably! *fxn* is travelling around, so I couldn't say no
www.meetup.com
December 12, 2025 at 8:08 AM
AI PR reviewer does not read my code comments.

This starts to feel too human.
December 11, 2025 at 5:06 PM
"You only live once".

As far as we know!
December 10, 2025 at 9:12 AM
We are going to see Tristan und Isolde in January, and are preparing for it these days.

Oh man, the music is always in flux, never resolves, four hours of tension without rest. When a resolution could land, you are taken elsewhere.

And the singers, so demanding, don't know how they can do it.
December 8, 2025 at 9:46 PM
Reposted by Xavier Noria
The next version of the Herb Language Server will ship with "unnecessary diagnostics" for all ERB control flow tags!

It dims any branches or expressions that are unnecessary, helping you quickly see which parts aren’t used or executed. 🌿
December 3, 2025 at 6:48 PM
My birthday made me suspect the horoscope was a scam very early in my life.

I was born on the 20th of January. Being a small kid I noticed in some magazines I was Capricorn and in others Aquarius. So I had two different predictions! WTF!!!!

The system was obviously inconsistent. Done with it.
December 1, 2025 at 9:53 PM
So, Aston Martin did not do BLACK FRIDAY. I was expecting 30%–40% off or something.

Maybe next year.
December 1, 2025 at 3:12 PM
November 28, 2025 at 8:14 AM
In Ruby, `::` is an _operator_ and it is _binary_.

So,

A::B::C::D

goes by pairs (like `+`) and performs intermediate lookups:

((A::B)::C)::D

You can actually write it like that.

More on that in my forthcoming book about constants in Ruby I am committed to finish within this century.
November 27, 2025 at 9:53 AM
Reposted by Xavier Noria
Letting Puma auto-set your worker count is the easiest way to go for 90% of usecases.

Currently, you can only do that with WEB_CONCURRENCY=auto, but we'll also make this possible in the next puma version by using `workers :auto` in your puma.rb.
November 26, 2025 at 5:02 PM