Xavier Noria
banner
fxn.bsky.social
Xavier Noria
@fxn.bsky.social
2K followers 140 following 900 posts
Everlasting student · Rails Core · Zeitwerk · Freelance · Life lover
Posts Media Videos Starter Packs
The post has some stereotypes, but essentially there's truth there.

A good novel takes you to other places, in a broad sense of the word. And that is an experience in itself.

(Reading "The Temple of the Golden Pavillion" these days, after my trip to Japan.)
Reposted by Xavier Noria
hsbt @hsbt.org · 4d
If you want to make change or add new feature to Ruby, I suggest to read www.a-k-r.org/pub/howto-pe...
Ruby's decision-making process isn't democratic or based on voting. It's more like a game of persuading Matz and Module maintainers.
www.a-k-r.org
This has happened since forever. Remember Perl modules also packaged in the 2000s.

Argument was that some sysadmins want a consistent server managed by distro packages only.

Excuse for the arcane word "sysadmin" that I still love and miss.
In the console, queries have been printed by default (to STDERR) since a few versions:

> User.count
User Count (3.2ms) SELECT COUNT(*) FROM "users"
=> 0

You don't see them?
Reposted by Xavier Noria
Hello, friends! After 10(!) years of #AdventOfCode, I've made some changes to preserve my sanity: there will be 12 days of puzzles each December (still starting Dec 1) and there is no longer a global leaderboard. Read more:
adventofcode.com/2025/about#f...
adventofcode.com/2025/about#f...
Gusto needed it for deleting associations while splitting code, and it made sense.

Absolutely, if you want to commission upstreaming something that is of general interest and fits the vision of the framework, that is beyond awesome.

And that is right there directly contributing to Rails.
Rails 8.1 ships with a feature I wrote for Gusto as a monkey patch they decided to contribute: the ability to deprecate an association.

This is a first. Consulting is separate from OSS for me, access to Rails is not part of my value proposition, and I do not pursue "being paid for doing OSS".
That is looking terrific!

(/me whispers Symbol#upcase :).
Congrats! And those gloves! 😀
Reposted by Xavier Noria
I use a modified version where I set `$debug` in a test causing an issue, then check it in the code to put debugging info
Debug technique I use in some occasions:

Define global variable $foo where you collect stuff, maybe in different places.

Then, at_exit { pp $foo }.
Debug technique I use in some occasions:

Define global variable $foo where you collect stuff, maybe in different places.

Then, at_exit { pp $foo }.
100% I had all their albums! Even saw them live in Portland!
Here I am, discovering unheard details in my fav tracks after upgrading the headphones DAC/Amp.
When people complain Shopify is too prominent, only main company donor in RC, etc.

WTF folks. As if that was their choice!

Where are the other companies pushing Ruby and Rails with real money and resources to be on par?

Talk is cheap.
I remember there were conferences in cruises in the 2000s, there was a Perl one.
I say "generally speaking" because there are exceptions.

For example, in Active Record the readers/writers that map to columns are purposely implemented in a mixin, so that your models can decorate them. That *is* public interface.
Generally speaking, ancestor chains do not belong to public interfaces.

Say, if an instance of Foo::Bar provides method `foo`, generally speaking, whether the method comes from the class or a mixin is not a concern of the user. That, and the module constant, do not belong to the public contract.
I used YARD in the past, but there were two main things that made me switch:

1. It takes too much vertical space for my taste.
2. Encourages meaningless one-liners like

@param user [User] The user

In the end, I came with my own notation, till RBS came out.
It was an intimate show. So special, had her right there.

And OMG the band 😱.
The one and only D'Angelo passed away today (51yo, pancreatic cancer).

He was the best.

Ledisi did Brown Sugar as a tribute to him.
Yes, and trying to match that with

github.com/ruby/rbs/blo...

for the subset I need.