Read on Slack:
"And yeah schema based multi tenancy made me question my career choices"
π
@byroot.bsky.social
Rails core, Ruby committer, Senior Principal Engineer at Intercom.
Read on Slack:
"And yeah schema based multi tenancy made me question my career choices"
π
Nah, it's just that extending an object means creating a singleton class. If it's just for a single object it's fine, but you you are doing this for lots of objects, it means the class will be different every time and that trashes the VM caches.
24.11.2025 21:23 β π 1 π 0 π¬ 1 π 099.999% of the time it's best not to use it though.
24.11.2025 18:56 β π 1 π 0 π¬ 1 π 0Alright, you got a point :)
24.11.2025 13:55 β π 1 π 0 π¬ 1 π 0Not just conceptually!
24.11.2025 13:40 β π 1 π 0 π¬ 2 π 0I'm not sure what the context is in your case.
It did happen that I declined discussing things further until some prototype was published.
It's super easy to talk over each others head with prose. With code, there's no misunderstanding, it makes it clear what the goal is.
But to each their own.
So I took half an hour to open a prototype PR and then it was much more clear what I intended to do: github.com/puma/puma/pu...
21.11.2025 14:33 β π 1 π 0 π¬ 1 π 0Even for bigger changes, sometime a quick prototype PR help convey the intention much better than a long discussion.
Case in point, I opened github.com/puma/puma/is... to test the waters, but kept answering the same questions, clearly it wasn't clear to everyone what I had in mind.
That's not actionable data though.
19.11.2025 22:02 β π 0 π 0 π¬ 0 π 0All I can think of is: for the love of god, gimme the raw data!
Iβm sure there are API that are just begging to be optimized.
"Our data backs up other findings that Ruby applications are generally less I/O-heavy, spending as much or more time on CPU as they do waiting on other services or database requests."
www.datadoghq.com/blog/ruby-pe...
Ruby and Rails are very similar in their versioning scheme. The major is used for marketing, the minor is equivalent to a major in SemVer term, and the patch is what SemVer people expect.
17.11.2025 11:25 β π 6 π 0 π¬ 0 π 0Thatβs more or less how we do it it Rails. Thereβs deprecation message mention the release that will remove the API.
17.11.2025 08:37 β π 4 π 0 π¬ 1 π 0NameError: uninitialized constant Omniauth::Strategies::Shopify Did you mean? Spotify
Ruby is in a trolling mood today π
14.11.2025 18:56 β π 22 π 1 π¬ 0 π 1Of course. I would never miss it!
11.11.2025 21:30 β π 3 π 0 π¬ 0 π 0Cupcake
Happy to share that today I'm starting as senior principal at Intercom!
11.11.2025 08:53 β π 93 π 0 π¬ 20 π 0Also please don't restrict bundler and ruby versions like `bundler < 3.0` and `required_ruby_version < 4.0` π
30.10.2025 23:17 β π 24 π 7 π¬ 0 π 1Congrats @joshuay03.bsky.social !
06.11.2025 17:00 β π 7 π 0 π¬ 1 π 0I was pleasantly surprised by the T-shirts at Rails world. Probably the softest ones I ever got at a conf.
I just checked, the make is "Next Level Apparel".
What you want to do with the warnings depends a lot on the environment. Forwarding them to Rails.logger isn't necessarily always the best thing to do.
e.g. github.com/Shopify/depr...
It's so common Linux basically added an API to do it for you with `signalfd`: man7.org/linux/man-pa...
02.11.2025 08:08 β π 6 π 0 π¬ 1 π 0That's called the "Self Pipe Trick" It's pretty much textbook how to handle signals in an application with a main IO loop.
02.11.2025 07:59 β π 4 π 0 π¬ 1 π 0But generally speaking, I think it's the right approach for integrating Ractors.
Don't try to run entire applications in Ractors, instead find some chunk of computations you can move into a Ractor.
Yeah, that design makes sense to me.
That should allow Puma to accept new requests faster when already relatively busy, but of course won't help with app code latency, so unsure how much that would really help in practice.
I think it's an interesting idea, would allow parsing code not to impact latency of applicative threads.
However:
- I think you can do that today, it's orthogonal to the parser.
- I'm not certain how backpressure is done in Puma. Does it stop accepting when all threads are busy?
Thatβs much closer than what I would have guessed. With a bit of work it might be possible to close the gap.
Iβd be more worried about its accuracy though. Itβs always a tough sale to replace something that worked for ages.
I find it interesting that every time frozen string literal is discussed, symbols are brought up.
It seems like symbols purpose and semantic isn't well understood. Isn't there a good post explaining what they are and how they're meant to be used?
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.
Yeah, it's the double edged sword of bugs.rubylang.org, it's a big enough barrier of entry that we don't get many low effort bug reports and comments, but also it's far enough removed from where most users are that only a small minority interact with it.
28.10.2025 19:24 β π 0 π 0 π¬ 2 π 0At the end of the day, I'm unsure what visibility Matz has of how Ruby is used by the community, and whether he's trying to cater to it or not.
But either way, as I said in the post, I'm quite tired of arguing for it by now.