Blogs

The future of full-stack Rails: Turbo Morph Drive
Learn why and how to use DOM morphing with Hotwire Turbo to improve the UX of your full-stack Rails applicationsThe “getting-back-into-full-stack” trend in web development communities is gaining more traction. Frontend frameworks are trying to emb...

37signals Dev — Exploring server-side diffing in Turbo
We did a lot of exploratory work before coming up with the Turbo improvement we presented in Rails World. One of those experiments included diffing in the server instead of in the client.The ideaThe inspiration for this idea came, again, from Phoe...

Tanakai is a modern web scraping framework written in Ruby. A fork of Kimurai.
Tanakai intends to be a maintained fork of Kimurai, a modern web scraping framework written in Ruby which works out of the box with Apparition, Cuprite, Headless Chromium/Firefox and PhantomJS, or simple HTTP requests and allows you to scrape and ...

Performance impact of the memoization idiom on modern Ruby | Rails at Scale
Ruby 3.2 saw the introduction of object shapes which speedup instance variables access in most cases, but can be slower in some pathological casesOne major internal change in Ruby 3.2 was the introduction of object shapes.In this post, we’ll try t...

Effects of Pitchfork reforking on Shopify's Monolith | Rails at Scale
Over the last year, I've been working on a new Ruby application server called Pitchfork. In most regards it’s extremely similar to the venerable Unicorn, from which it originates, but with one major extra feature: Reforking, which reduce memory us...

Using Rails with SES, SNS and SQS to avoid bounce rate
Amazon Simple Email Service (SES) is a cost-effective email service provided by AWS. It is by far the cheapest option available out there. Comparing the cost of sending emails with SES and other services like SendGrid or Mailchimp, it can be 100x ...

Ruby 3.3 introduces range overlap? method | Shakacode
Rails has a built-in method called #overlaps? that allows you to compare two ranges to see if they overlap each other. This method needed to be included in Ruby.
A range is a data type that represents a sequence of values. A sequence can be any d...

Code Master Blog: Glimmer Wordle 1.1.5 Windows Support
Glimmer Wordle 1.1.5 has just been released with official support for Windows. Although the game worked on Windows before, thanks to the platform-independent Glimmer DSL for SWT GUI Ruby Gem it was built with, styling was not tweaked for Windows t...


Deploying a Rails App Using Kamal and SQLite | Kyle Keesling
There’s been a lot of excitement lately in the Rails community. Rails World just wrapped up, which brought with it some really great annoucements for the future of the platform, as well as the release of Rails 7.1.This most recent release had a fe...