Blogs
[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...