Blogs

![[EN] How I upgraded my pet project from Rails 7 to Rails 8 in 30 minutes](/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTM4NjgsInB1ciI6ImJsb2JfaWQifX0=--ddfae5ae5e0fb8ce65bf8ca2ae6f6cfa41814597/rubyonrails14.avif)
[EN] How I upgraded my pet project from Rails 7 to Rails 8 in 30 minutes
I have a custom/ folder in my project where I keep files that I change instead of modifying generated files. The only change in generated files is customization loading. As a result when I need to upgrade a project I overwrite default files with b...

Supercharge the One Person Framework with SQLite | Fractaled Mind
From its beginning, Rails has been famous for being a kind of a rocket engine that could propel your idea to astronomic heights at supersonic speed. But, at least for me, it has lately felt like I needed to be a rocket scientist to then deploy and...

Next Generation Out of Band Garbage Collection | Rails at Scale
In 2023, I wrote about how we’ve tuned Ruby’s garbage collector for Shopify’s monolith, including how we implemented out-of-band garbage collection to reduce the impact of major collection on latency.
While the latency improvements were massive, ...

Joy of Rails | Sending Web Push Notifications from Rails
You may have heard news: Rails 8 will extract a new framework for Web Push in Rails. Web Push notifications are powerful because they allow your Rails application to engage with your users even when they’re not on your site.
A Web Push Notificati...

ActiveAdmin v4 Beta: New Features, Upgrades, and How to Migrate
ActiveAdmin has been a popular administrative framework in the Ruby on Rails ecosystem for over a decade. It provides developers with a quick and efficient way to build administrative interfaces with minimal code.
With the release of ActiveAdmin ...


Wikidata is a Giant Crosswalk File | Drew Breunig
Let’s build a massive crosswalk connecting map data with just Wikidata, DuckDB, some Ruby, and a hard-won bash one-linerWikidata is Wikipedia’s structuralist younger brother. It’s contents are seemingly exhaustive, but rather than readable article...

Tenderlove Making - Monkey Patch Detection in Ruby
My last post detailed one way that CRuby will eliminate some intermediate array allocations when using methods like Array#hash and Array#max. Part of the technique hinges on detecting when someone monkey patches array. Today, I thought we’d dive a...

An Introduction to the Ruby LSP Add-on System | Rails at Scale
Ruby LSP is a language server implementation designed to streamline writing Ruby code. It uses static analysis to parse your code to provide editor features. However, in the Ruby ecosystem, dynamic programming and DSLs are commonly used to extend ...