Is it recorded?
Is it recorded?
Quick PSA:
If you're an event organizer who wants the Ruby Passport at your event, get in touch with me at least one month in advance.
These things take a while to get made and shipped your way.
✌️
What a promising day of ski !
Can't wait for the next @genevarb.bsky.social
I asked to a LLM to write my prompt. The circle is complete.
This Wednesday: discover how to calculate your ideal concurrency level before running a single benchmark with Alexis Bernard from RoRvsWild — no guesswork, just smart statistics. 🚀
meetu.ps/e/PPF4y/KFPP...
I had a road trip in Spain few years ago and I remember crossing beautiful national parks between Toledo and Sevilla.
One small app only.
`git diff` forever :) I'm too much used to type it so many times before each `git commit` for years. Every time I tried a Git app, I go back to the CLI. Habits are here to last.
If you update or delete often rows watching bloat tables and indexes is important. This article is a great explanation and I also recommend using the gem rails-pg-extras to watch bloat ratios: github.com/pawurb/rails...
Screenshot of a terminal demonstrating object allocation speedup. Ruby 4.0 is about 2x faster
One thing I'm really excited about in Ruby 4.0 is that object allocation is going to get a nice speed boost
Yesterday was a good reminder that centralized systems are weak, but decentralized systems are robust. The Internet is robust because it is decentralized. No one can take it down.
Tonight I will be presenting at Geneva.rb on how to protect a web application against bots and brute force attacks without annoying humans and **without relying on a third-party service**.
The subject is broad enough to be of interest to all web developers, not just Ruby developers. I hope to see you there!
Zurich: www.meetup.com/rubyonrails-...
Geneva: www.meetup.com/geneva-rb/ev...
Rage Against The Malicious: The battle of spam bots
Next Wednesday I will give a presentation at Zurich.rb, and then on the 19th November at Geneva.rb:
How to protect web applications against spam bots and brute force attacks without annoying humans, and why I think captchas are not the best solution.
I love namespace, it's great to group related things.
As always it's a tradeoff, but when I'm unsure between add column or create table, I always go for the new model.
Migrating a column is painful and particularly if you can't afford interruption since the application must handle both cases at the same time.
I don't remember to have regretted to create an extra model, however I already regretted many times adding an extra column instead of a table.
AI can write tests, but it doesn't understand what truly matters to you, your product, or your codebase. Without guidance, it follows patterns, and the output feels sometimes good, sometimes bad.
That's why I'm launching a new workshop: Reliable Test Case Generation with AI.
Thus, there is an interesting indicator: number of columns / number of tables. I'm sure that code bases with a lower ratio are healthier.
It's a lot better because it enables to store more data (IP address, timestamps, ...), and gives a lot of statistics such as how many reset password attempts during the last hour for a particular user?
The wrong way is to store confirmation_token, reset_password_token and session_token in the users table. In fact, that should be 3 distinct models: User::Confirmation, User::ResetPassword and User::Session.
If your are unsure about adding a new column to a table or creating a new model, always create a model. Your code base will thank you. Let's have a look to the User model.
TIL: In SQL the RETURNING instruction accepts any expression, not only a column name. That seems so obvious, but I took all that time to notice it 😅
Screenshot of Workshop page
6 spots filled, 9 remaining for the Good Enough Workshop this Friday at 15:00 UTC
Here are all the details about the workshop. In case you have questions reply here or via email -> hello@goodenoughtesting.com
I tried to explain why I don't believe the recent accusations toward my former teammates, as well as how the Ruby and Rails Infra team at Shopify operates and why it can be trusted.
byroot.github.io/opensource/r...
Mine is starting to peel too.
Always take both 😀
I am very happy to have become dual citizen 💎 since last @euruko.org. Thanks @adrianthedev.com and @avohq.io 😀
And Switzerland is in Schengen but not in EU 🙃