Blogs

A Rubyist's guide to Big-O notation - Honeybadger Developer Blog
I don't have a degree in computer science, and it's okay if you don't either! Lots of us Rubyists don't have formal computer science credentials. So for a long time, I avoided learning about big-O notation. It looks a little too much like higher m...




Authentication with Devise and CanCanCan in Rails 8 · James Hibbard
This is a tutorial on how to set up authentication (verifying who you are) and authorization (what you’re allowed to do) in a Ruby on Rails app using Devise and CanCanCan. We’ll use Rails 8 and Ruby 3.4, and build everything locally—no external au...

GETting Conditionally - The Bare Basics - Julik Tarkhanov
It is often that random tweets somehow get me into a frenzy – somebody is wrong on the internet, yet again. But when I gave this a second thought, I figured that… this statement has more merit than I would have wanted it to have.
It has merit bec...

Can AI rebuild a Rails page in Next.js? We tried it
We recently ran a livestream experiment to rebuild a page from our internal tool, Hub, using as much AI help as possible. The setup: Cursor as our AI-powered editor, and a goal to recreate Hub’s Events page. It was a fun, fast-paced session—and af...

Ruby Gem Naming: The Art of Delightful Obscurity | stevengharms.com
The Ruby community was always marked by an especially playful character. I haven’t written Ruby in over 5 years, but I still remember that feeling of play. It always surfaced in the oddest moments where someone would go off on a tangent and you co...

Tip: Put your Rails app on a SQL query diet | Software Engineer, Author, High Performance PostgreSQL for Rails
Much of the time taken processing HTTP requests in web apps is SQL queries. To minimize that, we want to avoid unnecessary and duplicate queries, and generally perform as few queries as possible.
Think of the work that needs to happen for every q...