Xavier Noria
banner
fxn.bsky.social
Xavier Noria
@fxn.bsky.social
Everlasting student · Rails Core · Zeitwerk · Freelance · Life lover
I guess my Stevens from 2001 could be updated 😅.
February 3, 2026 at 9:01 AM
@eregon.me @byroot.bsky.social I am writing that extended directory listing in C in Zeitwerk itself, with fallback to stat functions if needed, and to Ruby as last resort.

By being internal it can ad-hoc, like, filter hidden files out, and only return :file, :directory, or nil. That is all I need.
February 2, 2026 at 6:30 PM
While doing my cardio I was like, OMG, who is this? How much does it take to be able to solo on tenor like that?!

At the end of the piece, conductor says: "Ladies and gentlemen: Michael Brecker".

So, it just takes a lifetime plus being among the best of all time.

open.spotify.com/track/1DmLu6...
Nutville
open.spotify.com
February 2, 2026 at 9:07 AM
I have it, but I might discard it.

The new behavior creates the dummy modules at scan time, descends to set autoloads, and recurses. Traversal stops at .rb files.

I have checked booting a huge Rails app: from 8K autoloads set we go now up to 30K, which increases boot time in dev/test by 10%.
I am working these days on a change to Zeitwerk that will remove a hack.

When I wrote the gem, autoloading had been brittle for more than a decade and I wanted to mimic the classic autoloader as much as possible for users' peace of mind.

But there was a corner case that had no clean solution.
February 1, 2026 at 7:11 PM
To me, the concept "vibe coding" suggests superficial involvement and lack of agency.

If you used AI to help in a process that *you own* (generating, understanding, whatever), that is different. That is not vibe coding, it is you producing the same patch with new tools.
January 31, 2026 at 9:43 AM
I have started "Infinite Jest".

Let's compare forearm circumference before/after.
January 30, 2026 at 10:44 PM
I am working these days on a change to Zeitwerk that will remove a hack.

When I wrote the gem, autoloading had been brittle for more than a decade and I wanted to mimic the classic autoloader as much as possible for users' peace of mind.

But there was a corner case that had no clean solution.
January 29, 2026 at 8:40 AM
Reposted by Xavier Noria
If you keep working on something, turns out eventually you may finish it. So it is with "Master Hotwire" book! I've finally finished it and it's available in Web, PDF and EPUB formats at masterhotwire.com

I started working on it a bit under 2 years ago. :)
Master Hotwire: Build Modern Web Apps with Rails Simplicity
“Master Hotwire” is structured to help you build a strong mental model of Hotwire. It combines explanations of functionality with hands-on coding. The book guides you through building a collaborative…
masterhotwire.com
January 27, 2026 at 11:01 AM
Reposted by Xavier Noria
someone built a Linux CPU scheduler that makes scheduling decisions based on planetary positions and zodiac signs

it actually works haha:
January 26, 2026 at 8:18 PM
Tonight's the night: Wagner's "Tristan und Isolde" at Gran Teatre del Liceu (the Opera House of Barcelona).

So looking forward it, I have never seen this masterpiece live.

Production is top, they perform at the Met in March.
January 23, 2026 at 11:56 AM
Programming is 2/3 dealing with the non-happy path.
January 23, 2026 at 8:16 AM
Reposted by Xavier Noria
The SF Ruby workshops are out! 🌁🎉

In my workshop, we did an interactive dive into Rails' source, so you can find your way around the unstructured space that is most codebases.

My style is impromptu and some attendees said it's not for everyone, but that's ok :)
Workshops from 2025 SF Ruby Conference are now live. These include:

- @tonsoffun.bsky.social on building AI agents with Rails

- Brandon Shar, @skryukov.dev, and Brian Knoles on Inertia Rails

- @kaspth.com on upskilling your team

- @noelrappin.com on Ruby’s dynamism to your advantage
San Francisco Ruby Conference 2025 - Workshops - YouTube
Workshop recordings from day one and day two of the SF Ruby Conference.
youtube.com
January 22, 2026 at 3:33 PM
This was an interesting read.

I taught Perl at the University of Barcelona for 7 years, and in the exams my students had their editor of choice in computers connected to Internet, they could check docs, do web searches, etc. That is the real life I was preparing them for.

ploum.net/2026-01-19-e...
Giving University Exams in the Age of Chatbots
Giving University Exams in the Age of Chatbots par Ploum - Lionel Dricot.
ploum.net
January 21, 2026 at 9:08 AM
There's this story about Paul Dirac in which he is in a conference or something, and someone approaches with small talk: "Lovely weather today!". He leaves the room, goes outside, checks, returns, and says "Yes".

Well, I may have done something in that line 😂.

True statements above all folks!
January 21, 2026 at 7:14 AM
Wonder if code generation is going to be able to distinguish private APIs that have public visibility in langs that do not support lib or package levels.

Because, up to now, the contract was: The public interface is in the docs, anything else is internal.

@antirez what is your experience in C?
January 16, 2026 at 11:41 AM
I don't have many opinions formed on the whole topic of AI just yet.

But I believe writing detailed specs for code generation of non-trivial things, like writing good tests, need flight hours. Plus, you need flight hours for validation (at least for now, though some people directly push).
Working to some PR for Redis that is going to be non trivial and completely AI-developed under a strict specification. It's the same kind of spec I write for myself, but if this goes as I hope, instead of working 2 months, I'll have it ready much faster.
January 15, 2026 at 10:14 PM
Reposted by Xavier Noria
New blog post: Don't fall into the anti-AI hype.

antirez.com/news/158
January 11, 2026 at 10:19 AM
Before the internet, your references were local.

Then, you could interact with world-class experts. In IRC, USENET, mailing lists, easy access to the best books, etc. I believe that exposure raised the level.

Now, we are going to have an expert at our fingertips. The level is going to skyrocket.
January 10, 2026 at 1:37 PM
Reposted by Xavier Noria
[ENG] 📢 Good news!
You now have until January 14 to submit your talk proposal.
👉 Submit your proposal!


[PT-BR] 📢 Boa notícia!
Agora você tem até o dia 14 de janeiro para enviar sua palestra.
👉 Envie sua proposta!

cfp.tropicalonrails.com/
#TropicalOnRails #RubyOnRails #CallForProposals #CFP
January 9, 2026 at 7:15 PM
I'd say I see Claude Code way more mentioned than Codex.
January 9, 2026 at 8:09 PM
The constants API chapter in my book has RBS signatures.

Annotations as docs are necessary and orthogonal to static vs dynamic typing.

Readers have to know, e.g., constant names come as symbols. You can say that in English or using some standardized notation, but you have to say it.
January 7, 2026 at 9:04 AM
Let me tell you a bit about the watch I got in Frankfurt.

Sinn has its manufacture there, visiting their shop was obligatory 😀.

Sinn specializes in what we call "tool watches". Timepieces engineered with a practical purpose.

In the case of the U50 I got, diving and seawater are their thing.
January 5, 2026 at 7:46 PM
Reposted by Xavier Noria
Oh, you are the one who gets it. My model retirement house (since I first so it 25 years ago) is the museum-house of the poet Maximilian Voloshin in Crimea. Its biggest room is basically 2-stories high library (with ladders and all) with a panoramic window overlooking the sea 🥲
January 4, 2026 at 9:44 AM
I would not retire to a beach, but to a library.

Well, it could also be a library in the beach.
January 4, 2026 at 8:53 AM
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