Xavier Noria Profile Banner
Xavier Noria Profile
Xavier Noria

@fxn

11,158
Followers
549
Following
1,359
Media
31,030
Statuses

Everlasting student · Rails Core · Zeitwerk · Freelance · Life lover

Barcelona
Joined December 2007
Don't wanna be here? Send us removal request.
@fxn
Xavier Noria
2 years
In OSS, there are no sprints, stand-ups, retrospectives, 1:1s, 360s, quarters, velocities, estimations, deadlines, project managers, "how is this going", year goals, ..., could go on and on. Yet it ships non-stop and runs the world.
15
148
822
@fxn
Xavier Noria
3 years
"Is this project still maintained?"
@MarkVillacampa
Mark Villacampa
3 years
Tweet media one
6
66
320
11
118
674
@fxn
Xavier Noria
2 years
I'll have the honor of giving the opening keynote in RailsConf. 🙇‍♂️
46
32
661
@fxn
Xavier Noria
3 years
Zeitwerk stays at 0 issues, 0 PRs. Issues or even questions in Rails related to autoloading have virtually vanished. It is going to be the only loader in Rails 7. It is integrated in Hanami 2.0, and loads dozens of gems. Was worth it.
14
32
483
@fxn
Xavier Noria
11 years
- Mom, if I ever need a machine to be alive please disconnect it. - If that is your will... - What are you doing? Not the router!!!
8
1K
434
@fxn
Xavier Noria
3 years
Zeitwerk has been awarded an "Outstanding Performance Award" Fukuoka Ruby Award 2022. 🙇‍♂️
20
19
372
@fxn
Xavier Noria
2 years
Fukuoka Ruby Award just arrived.
Tweet media one
22
17
371
@fxn
Xavier Noria
1 year
Was looking at stuff from RailsConf Europe London (2006, my first Rails conference), and just found this incredible shot from @pdcawley . ❤️
Tweet media one
25
24
318
@fxn
Xavier Noria
4 years
GitHub has migrated to Zeitwerk, that is so epic 🎉💪🎉💪🎉💪🎉💪🎉💪🎉. Every time I hear about the progressive wins in the GitHub code base since the 3.2 days (I think), I can't but think about @eileencodes huge effort behind it, hard battles, step by step ❤️.
6
15
307
@fxn
Xavier Noria
9 months
In the N+1 problem, we first fetch the 1, and then the N. Therefore, it should be the 1+N problem. I'll die on this hill.
24
20
302
@fxn
Xavier Noria
4 years
@RexChapman
Rex Chapman🏇🏼
4 years
I love New York...
4K
26K
143K
1
29
289
@fxn
Xavier Noria
2 years
Zeitwerk has surpassed 200 million downloads, and it is fetched about 400K times per day (this includes CI builds, deploys, etc.). Besides Rails apps, +360 gems load with Zeitwerk nowadays, designing for any Ruby project was worthwhile. And it has no known bug 💪.
Tweet media one
10
19
274
@fxn
Xavier Noria
2 years
Today I pushed my 3,000th commit to Rails. That is just a mundane 0xbb8 anyway, so back to the editor :).
13
5
266
@fxn
Xavier Noria
3 years
I cannot ❤️ this enough, Rails is Rails
Tweet media one
1
29
267
@fxn
Xavier Noria
4 years
Have been working from home for the last 14 years. 2006–2009 as co-founder and CTO of a distributed Rails shop. 2009-today as freelance consultant. Best thing, I have been present for her.
Tweet media one
Tweet media two
7
9
261
@fxn
Xavier Noria
11 months
Why am I into high-level languages like Ruby? It is a choice. As many of you know, my background is in math. Math is the most rigorous, abstract, and elegant thing I know. The degree (+1 year of PhD) was among the best years in my life. When I switched to software, my
15
34
256
@fxn
Xavier Noria
1 year
No language feels like Ruby to me. Once you've been into it, others look more like formal languages in which you program and can do anything, yes, but with a different level of expressivenes and naturality. #ruby30th
7
46
254
@fxn
Xavier Noria
1 year
So, this was an incredibly classy and touching surprise @RailsSaaS had prepared. I am so honored. The award is solid crystal, including the ruby on top. It weights, it reflects light beautifully, and it is really gorgeous. It'll have a place in my living room. ❤️
Tweet media one
17
7
233
@fxn
Xavier Noria
3 years
Just finished "Sustainable Web Development with Ruby on Rails". Man, this book was missing. Wise, real-life, first-hand experience content from someone running a SOA architecture with over 50 Rails apps and 200 engineers. No theoretical blackboard bullshit. Totally recommended.
8
24
223
@fxn
Xavier Noria
3 years
Exhausting week including weekend. Going to take a break from Twitter. ❤️ to all Rails people.
4
3
212
@fxn
Xavier Noria
3 years
+5x speed up of `constantize` in Rails 7. And becomes a one-liner. Possible thanks to the extended const_get @tenderlove wrote to support constant paths, and to Zeitwerk constant lookup matching Ruby's. Patch by byroot /cc @ShopifyEng 🚀
1
25
213
@fxn
Xavier Noria
10 months
Tweet media one
7
1
207
@fxn
Xavier Noria
2 months
15 years as an independent consultant 🎉
14
2
205
@fxn
Xavier Noria
2 years
The daily downloads of Zeitwerk nowadays are bout 18% greater than the ones of Rails. This very raw number suggests the amount of non-Rails projects/gems using it, and Hanami 2 is not even out yet. That fulfills my vision of designing it for any Ruby project/gem ❤️.
7
10
201
@fxn
Xavier Noria
4 years
"slave" is a bad word, "cop" is a good word, period. If you have a problem with your cops, it's the individuals and your system, not the concept. And let me tell you something, you won't lecture a Catalan about bad cops. @bbatsov has my full support.
8
18
198
@fxn
Xavier Noria
11 months
Goodbye.
Tweet media one
5
1
192
@fxn
Xavier Noria
3 years
According to BestGems, Zeitwerk has been downloaded more than 100,000,000 times. And it has no known bug 💪.
6
8
191
@fxn
Xavier Noria
2 years
Love the vibe in these HN comments about @rails .
Tweet media one
2
17
189
@fxn
Xavier Noria
3 years
Rails 7 brings another performance boost: AS cache dump/load is 20%–40% faster, and payloads may be reduced in half or more, depends on byte length. New code is able to parse old entries for a smooth transition.
1
37
184
@fxn
Xavier Noria
5 years
been actively keeping these two figures down to 0 — and, indeed, there have been no bugs for a long time, questions, small new features, etc. has been the bulk of it 💪
Tweet media one
4
8
186
@fxn
Xavier Noria
4 years
Ruby tip of the day: `Pathname#/` allows you to join segments using slash notation. Don't @ me.
Tweet media one
7
31
185
@fxn
Xavier Noria
1 year
The Rails Foundation was created 4 months ago, and the first task was to look for an executive director. This takes time, and you cannot operate meanwhile. Amanda joined last Feb 20, not even a month. Please, give her trust, space, time, and peace ❤️ 🙏.
4
14
177
@fxn
Xavier Noria
6 months
By trying to extorsion 37signals, attackers won't get anything but Rails 8 shipping with Active Shield or something :D.
6
6
177
@fxn
Xavier Noria
4 years
How it started: How it’s going:
Tweet media one
Tweet media two
5
11
173
@fxn
Xavier Noria
8 months
My Ruby corner at home got a new award. The one to the right in the picture. It was presented to all members of Rails Core in Amsterdam, celebrating all these years working on Rails.
Tweet media one
11
0
165
@fxn
Xavier Noria
2 years
New side project in which I'd like to share all I have learned about constants in Ruby over the years. In this book I'll try to be as comprehensive and rigorous as possible, talking to Ruby programmers that want the real thing. Let's see how far do I get.
Tweet media one
10
9
166
@fxn
Xavier Noria
5 years
just merged Zeitwerk integration into Rails, this was the original motivation for a new autoloader, had a blast cracking this problem and I'm very proud of this work 🎉
8
35
153
@fxn
Xavier Noria
8 months
There is a tremendous volunteer effort behind the Rails guides: Creation, edition, styling, maintenance, tooling, servers, etc. It's nice to see people appreciating them. (Thanks to @andatki for sharing.)
Tweet media one
6
11
154
@fxn
Xavier Noria
3 years
I developed Rails Contributors in 2008 and still maintain it. It makes me very happy that people get credit for their work. That there's a public place where you see it, a recognition to be proud of, and also that people can show it when they look for a job. ❤️
Tweet media one
5
6
155
@fxn
Xavier Noria
2 years
Software development simply does not match fixed timelines, sprints, quarters, or whatever. These ad-hoc structures belong to the mindset of certain management styles, and in my view it is an error to work with such frameworks.
9
27
152
@fxn
Xavier Noria
3 years
Who on earth starts a greenfield project with microservices? You know nothing about it. Monolith first always, except for obvious services like search engines, caches, monitoring, etc. Be a surgeon later, and only if truly justified.
@changelog
Changelog
3 years
Don’t start with microservices – monoliths are your friend 🖋 by @ArnoldGalovics
0
7
26
7
23
151
@fxn
Xavier Noria
10 months
This venue is spectacular #RailsWorld
Tweet media one
4
5
150
@fxn
Xavier Noria
10 months
During the AMA session in Rails World, on the topic of changing careers later in life, I commented I was 30 when I got my first job as a programmer. Would like to add that, just one week ago, I had the pleasure to have dinner next to the wonderful @NaijeriaToweett in Bucharest,
Tweet media one
11
17
147
@fxn
Xavier Noria
6 years
Marie Kondo should take a look at web dev stacks
4
58
144
@fxn
Xavier Noria
3 years
Here too
@tenderlove
Aaron Patterson
3 years
Hard same
16
38
752
1
4
145
@fxn
Xavier Noria
3 months
From the Changelog of Ruby 3.4.0.preview1: Array #each is rewritten in Ruby for better performance [Feature #20182 ] YJIT is coming on strong!
5
13
142
@fxn
Xavier Noria
3 years
Someone wrote asking for career advice. Sharing.
Tweet media one
5
20
142
@fxn
Xavier Noria
3 years
I am really happy that Hanami 2.0 will autoload with Zeitwerk ❤️. I started the project within AS, but soon realized it was generalizable. So I switched the focus to write a loader that could be used by any Ruby project. Nowadays, dozens of gems load with Zeitwerk.
5
4
141
@fxn
Xavier Noria
3 years
This made my day ❤️.
Tweet media one
1
2
139
@fxn
Xavier Noria
6 years
let me present to you the gem in which I have been working during the last months: "Zeitwerk: A new code loader for Ruby" -  @fxn
Tweet media one
12
62
139
@fxn
Xavier Noria
1 year
Rails 7.1 will ship with official support for custom root namespaces. That will allow projects to have `app/services` under a `Services` namespace if they like to, with a one-liner.
6
16
134
@fxn
Xavier Noria
3 years
🎉 Zeitwerk 2.5 is out! 🎉 This ships almost one year of work: New callbacks, Ruby 3.1 compatibility, better performance, docs, traces, a couple of edge bugs fixed, and more things. Rails 7 requires this version. Should work with Rails 6 too.
6
11
130
@fxn
Xavier Noria
6 years
Shopify is Rails
4
38
127
@fxn
Xavier Noria
3 years
Oh yes, 💯. This is something I tell my daughter as a life lesson, forget what people say or project, observe what they do.
Tweet media one
2
21
122
@fxn
Xavier Noria
5 years
🎉 10 years as freelancer 🎉
9
2
125
@fxn
Xavier Noria
4 years
So I have written a WS application in @elixirphoenix (client work) that receives certain events and among other things publishes them to Kafka. One Elixir node with 4 cores overperforms Kafka (2 nodes, 8 cores each) if replication is enabled. Quite impressive, if you ask me.
6
19
123
@fxn
Xavier Noria
7 months
Started 2024 working on my book about constants. It's taking shape. I don't like to talk too much about goals, because one makes plans, and then reality has a different idea. But we are on it!
Tweet media one
7
4
119
@fxn
Xavier Noria
6 years
just realized I have been working remotely for over 12 years — that's a life choice, the best part of it has been to experience and be present while my daughter has grown
5
14
114
@fxn
Xavier Noria
6 months
My father is 78, and was just granted FIDE Master. 🎉 Self-taught as a kid in a small town, he achieved International Master in postal chess in the '70s. Drew with World Champion Karpov in a simultaneous exhibition. He quit in his '40s, but retook playing when he retired. 💪
10
1
109
@fxn
Xavier Noria
4 years
New Year Resolutions for 2021: 1. Survive
5
16
108
@fxn
Xavier Noria
1 year
I kind of feel that in the last couple of years or so there are new names emerging in the Rails community, contributing great stuff in different spaces, building, being positive and constructive. ❤️
2
11
109
@fxn
Xavier Noria
8 months
Apologies to all, but I got THE helmet.
Tweet media one
5
0
109
@fxn
Xavier Noria
2 years
"Projects tend to span to fill the amount of time allotted to them => Shorter deadlines". I say bullshit, I have worked without allotted times, budgets, estimations, etc. for 12 years. Always shipping. You don't need shorter deadlines, what you need is an execution mindset.
7
13
107
@fxn
Xavier Noria
4 years
rails [master] % git commit -m 'deprecates the classic autoloader' 🎉
3
6
107
@fxn
Xavier Noria
1 year
Got this picture in Athens. Could be a commercial for Rails Jeans or something I guess 😂.
Tweet media one
10
0
108
@fxn
Xavier Noria
2 years
I had the honor of opening RailsConf this year. The keynote covers the story of Zeitwerk: The seed idea, the difficulties and wins, the people that helped along the way, and the aftermath. Also, an interlude about the name. 🙇‍♂️
5
15
106
@fxn
Xavier Noria
5 years
OMG, Discourse migrated to Zeitwerk and the patch deletes near 500 instances of require_dependency, that is a trophy 🏆
5
18
105
@fxn
Xavier Noria
1 year
One-liner to run Rubocop only on the files created or modified in the current branch: git diff --name-only --diff-filter=d main... | \ xargs bundle exec rubocop "$@"
2
11
104
@fxn
Xavier Noria
8 years
changing the world, changing the world, ..., man Isaac Newton changed the world, you are building a fucking web service
3
45
104
@fxn
Xavier Noria
3 years
Forgot WHERE in DELETE
@BenSassiAladin
Aladin Bensassi
3 years
Write a sad coding story in 4 words.
2K
137
1K
4
10
102
@fxn
Xavier Noria
8 years
9999 commits
Tweet media one
3
52
101
@fxn
Xavier Noria
3 years
rails % git commit -m 'Drops support for classic mode' #Rails7
3
9
102
@fxn
Xavier Noria
4 years
@ValaAfshar @jsalvachua The fastest curve under gravity is called a "brachistochrone", Johann Bernoulli challenged mathematicians to find it
1
19
99
@fxn
Xavier Noria
8 months
Years ago we had a Toyota Yaris, which is a super nice utility car I'd buy again. After having it serviced, I followed the mechanic to his office for the paperwork, and noticed some diplomas on the wall. Curious, I asked about them. "Oh, I do auto repair competitions". What? He
4
10
101
@fxn
Xavier Noria
8 months
Rosa is really incredible. As just one anecdote, she did AoC 2019 (the one with Intcode) using one different programming language per day, while moving to a new apartment. Anything Rosa does is going to be world-class.
@dhh
DHH
8 months
Huge kudos to the incredible @rosapolis for finishing this in time for the end of the year. Not only did she create a fantastic new open source gift for everyone in the Rails community, she diligently, and with nary a hiccup, moved over a big production system by herself 👏👏
6
8
207
1
1
102
@fxn
Xavier Noria
2 months
I got a significant sponsor one-time donation from Microsoft. That was cool 🙇.
3
1
101
@fxn
Xavier Noria
4 months
Looking at the CHANGELOG, I just realized Zeitwerk is already 5 years old, first stable release was Feb 2019. My goodness, time does fly. It's been intense and very gratifying years.
5
1
101
@fxn
Xavier Noria
2 years
Sunday evening 🙌.
Tweet media one
9
1
99
@fxn
Xavier Noria
3 years
Meeting was canceled
@digitalocean
DigitalOcean
3 years
🤩 Make a developers' day in 3️⃣ words:
155
7
119
3
23
98
@fxn
Xavier Noria
9 months
Seriously, I got an M2 Pro in June. I don't care about the M3, but black? Finally? Precisely now? You have no soul.
18
0
98
@fxn
Xavier Noria
2 months
In these 15 years doing consultancy I have worked without deadlines (and without estimations). I believe dateless workflows are optimal for most software projects. I recently talked about this topic in Balkan Ruby.
1
5
97
@fxn
Xavier Noria
2 years
Twitter will discover dRuby and rewrite in Rails after blaming Scala.
6
3
95
@fxn
Xavier Noria
5 years
Tweet media one
9
6
96
@fxn
Xavier Noria
3 years
I should write a book about constants in Ruby.
14
2
95
@fxn
Xavier Noria
3 months
My father, 79 years old, is playing in an international chess tournament and yesterday he won against a Russian Grandmaster. You don't mess around with my father on the chessboard! 😎 (He lost today.)
4
0
95
@fxn
Xavier Noria
2 years
When using my Open Source, remember it is written from a Batman chair.
Tweet media one
4
2
94
@fxn
Xavier Noria
3 years
It is with great pleasure that I removed the monkey-patch for Marshal.load in Active Support, which was necessary to autoload from dumps. With Zeitwerk, Marshal.load autoloads out of the box. Yet another little victory 💪🏆.
3
7
94
@fxn
Xavier Noria
2 years
The way I like to program, Crystal is at the right intersection of performance (!), safety guarantees, and expressiveness for me. Crystal is a jewel that deserves more attention.
10
18
91
@fxn
Xavier Noria
5 years
At the supermarket: Wife: You could already go to the check-out line and wait for us Me: Not needed, really, there is no line right now Daughter: Daddy, there is always a line, right now the line has 0 people And that is how you conquer your father.
1
2
90
@fxn
Xavier Noria
4 years
just realized last March was my 10th anniversary since I got commit bit in Rails, what a ride 🎉
1
0
90
@fxn
Xavier Noria
3 years
I am working on a blog post about a dramatic performance boost I came up with for a client. It has the interesting characteristic that the busier the application is, the faster the code runs. Like, there's an acceleration as workload increases, paradoxical huh? Coming soon!
3
1
89
@fxn
Xavier Noria
3 years
Launched a somewhat critical Phoenix app doing WebSockets mostly about two months ago. Not only is the app doing its job amazingly well, but Sentry has remained *empty* so far 💪. Well, technically, one error was generated by hand to verify Sentry was not misconfigured 😂.
4
2
89
@fxn
Xavier Noria
7 months
Looking at that talk from 2018 (left) vs a more recent one from Rails World (right), I believe I look younger now. I have been working on my health and it shows. (The bags below the eyes were removed surgically, it is just fat you accumulate with time).
Tweet media one
Tweet media two
8
0
89
@fxn
Xavier Noria
7 years
I just published “How does Elixir compile/execute code?”
1
48
88