#534 — January 7, 2021

Read on the Web

👋  We're back! I'm looking forward to another strong year for Ruby and things are continuing to look up with both the release of Ruby 3.0 and ongoing Rails developments. As always, if you have anything for us to check out, hit reply and we'll take a look.
__
Peter Cooper, your editor

Ruby Weekly

Hotwire: HTML Over The Wire (or.. What Turbolinks Did Next) — Dropped just before Christmas, Hotwire is the end result of a project DHH was calling “NEW MAGIC” on Twitter last year. If you remember the “build a blog in 15 minutes with Rails” video from 2005, the video here will warm your heart as it’s basically “build a live chat app with multi browser syncing in 12 minutes” and shows how far we’ve come. Want more? Drifting Ruby went further.

David Heinemeier Hansson

ICYMI:  Our Special Ruby 3.0 Release Issue — Just in case you missed it due to the holiday season, we did a special Ruby 3.0 release issue of Ruby Weekly last week rounding up both the release and a variety of blog posts and updates surrounding it and its new functionality.

Ruby Weekly

Secure Redis hosting with RedisGreen — SSL encryption, key size tracking, memory mapping, online upgrades, and more.

RedisGreen sponsor

The Rails Request Cycle Explained — Rack up some knowledge of how Rails handles requests, where middleware comes in, and how Rails and Rack play nice.

Paweł Dąbrowski

The Future of Traveling Ruby — You might know Hongli for his work on Passenger or Fullstaq Ruby, but he also worked on Traveling Ruby, a tool for packaging Ruby apps into self contained packages for Windows, Linux, and macOS. In this post, Hongli talks about why the project has gone quiet and where it could go next.

Hongli Lai

📘 Articles & Tutorials

Docker Compose: A Nice Way to Set Up a Dev Environment — Docker is often seen as a way to build containers to deploy in the cloud but I find it more useful to create local development environments. Julia has discovered the same and figured out how to best use Docker Compose to build more complex local dev environments for working on a Rails app.

Julia Evans

Everything You Need to Know About Destructuring in Ruby 3 — How improved pattern matching and rightward assignment make it possible to “destructure” hashes and arrays in Ruby 3.

Jared White

Best-Practices on How to Speed Up Your Postgres Queries. Free eBook — We share our learnings from helping companies like Atlassian, Robinhood, and others speed up their queries.

pganalyze sponsor

Caching All Native Ruby Gem Platforms — As more gems ship multiple releases for different architectures (such as the latest Nokogiri release - mentioned above) you need to take extra care if caching gems to be used by multiple developers.

Kevin Murphy

How I Replaced Baremetrics and ChartMogul with Rake — If you A) want to cut costs and B) want more control of your statistics and C) have the time to write some scripts, you too can handle your own metrics which might lessen your anxiety.

Keygen

Ruby 3, Concurrency and The Ecosystem — A few thoughts on recent updates to Ruby’s concurrency story.

Kir Shatrov

QUOTABLE

“We’ll need to push the Ruby ecosystem to have less shared state to fully leverage the Ractor pattern. That will take us some time.”

___
Kir Shatrov in Ruby 3, Concurrency and the Ecosystem.

Stop Worrying About Postgres Locks in Your Rails Migrations — Most common pitfalls that could happen when migrating a database, and how, at Doctolib, they mitigate them.

Thomas Hareau

Heroku Case Study: Double Your App's Throughput for Free With Jemalloc — jemalloc made news in the last couple of years with its ability to significantly reduce memory usage, which can get you more workers on Heroku.

Jan Klimo

▶  Talking Haml with Hampton Catlin — Famous in the Ruby space as the creator of both Sass and Haml, it’s neat to hear from an old hand like Hampton. If you (still?) love Haml, this episode is for you.

Ruby on Rails Podcast podcast

▶  How to Upgrade from Turbolinks to Hotwire and Turbo

GoRails

🛠 Code and Tools

ActiveRecordExtended 2.0: Add Extended Postgres Functionality to Ruby and Rails Apps — A continuation of work done on the previously popular postgres_ext library. This adds support for things like ANY, ALL and some JSON and HSTORE operators into Active Record, a popular Ruby-based ORM famously used in Rails apps.

George Protacio-Karaszi

Using AWS Client Stubs for Easy and Reliable Integration Tests — The AWS Ruby SDK includes the ability to stub out responses, making your integration tests fast and less flaky.

Fabio Perrella

Seamlessly Integrate Video into Your Ruby App

Mux sponsor

ActiveRecord::PostgresEnum 1.5.0: Postgres's Enum Data Type Support for Active Record — If you find ActiveRecord Extended over the top for your needs, perhaps..

Misha Merkushin

Code for Embedding Google Maps' JS with Stimulus JS

Tomas Valent

Jekyll 4.2.0 Released — Greetings static site generation fans, Jekyll v4.2.0 is out.

ashmaroli

💻 Jobs

Interested in Using Ruby/Rails in the Security Industry? — Red Canary is looking for Ruby/Rails engineers that are interested in making a difference by protecting the world from cyber attacks.

Red Canary

Senior Software Engineering Consultant [100% Remote]Co-founded by Justin Searls, Test Double is an engineering consultancy on a mission to improve the way the world builds software. Work on challenging projects as part of a passionate, open, and honest team.

Test Double

Find Your Next Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

ℹ️ Interested in running a job listing in Ruby Weekly? There's more info here.