alexis.bernard.io

alexis.bernard.io

@alexis.bernard.io

43 followers16 following59 posts

ActiveHashcash 0.6.0 is out 🎉 Proof-of-work for Rails forms, now with IP reputation and configurable throttle rules for pushy IPs. Bots work harder and humans still don’t solve captchas.

I have a few contact forms, and only 2% of the submissions are legitimate. Yes, 98% is spam. This is just my personal experience, but I imagine that in some cases it's much worse!

I released ActiveHashcash 0.5.0 this weekend. It gets a nice speedup to solve the Hashcash stamp thanks to Thibaud GG. ActiveHashcash protects Rails applications against spam bots and brute force attacks.

alexis.bernard.io reposted

If you haven't submitted a talk proposal for Helvetic Ruby yet, now's the time! The Call for Proposals closes on July 31. Join us in Zurich for Helvetic Ruby, November 19–20, 2026 🇨🇭🍫🧀🗻 Not planning to speak? Early Bird tickets are still available, too! helvetic-ruby.ch

helvetic-ruby.chHelvetic Ruby | November 19-20, 2026, ZürichA single-track conference for Ruby enthusiasts and professionals from Switzerland and abroad.

It's kind of funny that it took me several years to realize that GitHub (GH) is the reverse of Mercurial (HG) 🙃 If I were using GitHub CLI, I would have noticed that sooner because of typos ... gti is my most command not found 😅

alexis.bernard.io reposted

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. ✌️

alexis.bernard.io reposted

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**.

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.

alexis.bernard.io reposted

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.

View full thread

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.

alexis.bernard.io reposted

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

alexis.bernard.io reposted

alexis.bernard.io reposted

“If this test fails, would I care or just ignore it?” “If this works, what does it prove?” “If this fails, do I know why?” If a test doesn’t help you think better, it’s noise. More on this mindset → Aug 1 workshop goodenoughtesting.com

goodenoughtesting.comGood Enough TestingA practical workshop that will show you a series of test design techniques, providing a systematic and repeatable approach to write test cases

alexis.bernard.io reposted

I just published a recap of my RailsConf 2025 talk on my blog! Herb v0.4.0 is out, now with the Herb Linter, a Formatter preview, and deeper editor integration for HTML+ERB. Plus: a look at ReActionView, my vision for the future of the Rails view layer. #railsconf #railsconf2025 @rubycentral.org

Internet must remain decentralized. Cloudflare is the easy choice to protect your website, but it has a hidden cost. It controls which trafic goes to your website and can read it. This price is too high for me, and for you too. torrentfreak.com/cloudflare-c...

torrentfreak.comCloudflare CEO: Football Piracy Blocks Will Claim Lives; "I Pray No One Dies" * TorrentFreakCloudflare CEO Matthew Prince says he "Pray no one dies" after revealing that piracy blocking denies access to critical resources in Spain.

Among things to do at least once in your life, there is attending Friendly.rb. The conf and the organizers are great!

Lucian Ghinda@lucianghinda.com

Just saying Friendly.rb is happening the week after Rails World, and we still have a few tickets available https://friendlyrb.com @friendlyrb.com

Got attacked by a botnet with more than 18000 IPs. ActiveHashcash saved that Rails app. I strongly believe that is the best protection since CPU is the most expensive in hardware and it does not annoy final users.

The combo RackAttack + ActiveHashcash provides a decent protection with a minimum effort. I'm convinced that the Internet must remain decentralized, and using Cloudflare is not the right long-term solution.

You are up to date.