#539 — February 11, 2021

Read on the Web

💡Some issues lean towards being more Ruby than Rails, some more Rails than Ruby, and this is probably one of the latter :-) I'm keen to keep the balance right though, so if you've got any blog posts, releases, or screencasts covering Ruby use cases away from Rails, I'm particularly keen to hear about them — thanks!
__
Peter Cooper, editor

Ruby Weekly

What is a 'Reduction' and Why Fibers Are The Answer for Ruby Concurrency — Ractors are getting all the buzz around parallelism and concurrency in Ruby 3.0, but the Fiber scheduler is likely more important and impactful to the vast majority of Ruby programs. This is a must-read.

Julik Tarkhanov

Why Wasn't Ruby 3 Faster? — Make no mistake, Ruby 3 is a fantastic achievement and perhaps the most stable major version release of Ruby ever, but anyone expecting a significant leap in performance over Ruby 2.7 will be disappointed. Noah, a Ruby benchmarking guru, ponders this point and if it’s a fair one or not.

Noah Gibbs

Introducing SPOTcon 2021! Get Your Free Early Bird Ticket Today — Join us March 26, 2021 for Scout APM's inaugural digital conference on performance, observability & transforming the future of web application development. Register for free before February 28th & Scout APM will donate $5 to OSS when you attend.

SPOTcon by Scout APM sponsor

Tips and Tricks for Developing Rails Apps on Apple Silicon — The people at Discourse can now set up a full dev environment on an M1 machine largely due to the incredible open-source community (we’re looking at you Homebrew and Ruby). Performance is mostly better, but there are still issues. The focus is on Rails here but this should benefit any Rubyist.

David Taylor

How DHH is Taking on JavaScript Frameworks with Hotwire — This is a high level piece on DHH’s (the father of Rails) attitude to front-end development and how Rails fits in.

Richard MacManus

Quick Bits

💻 Jobs

Senior Ruby on Rails Engineer (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers.

Nebulab

Senior Software Engineer - Open Source Ruby Team at New Relic — We are looking for a Senior Software Engineer who is excited about open-source software to build software that our customers trust.

New Relic

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

Hired

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

📘 Articles & Tutorials

Add Microservices to Your Rails App in Minutes — This is a neat tactic for putting a toe in the microservices pool by treating a controller action as a Rack application and running it on its own port/container.

Darren Broemmer

▶  Adding reCAPTCHA v2 to a Rails App — Google’s reCAPTCHA service offers a way to reduce the amount of bots spamming or scraping your Rails powered apps, if you so wish.

Drifting Ruby

Using Sonic Pi To Play Music With Ruby — If you enjoyed the Sonic Pi release news from last week, you might find this an interesting way to bring even more Ruby into the mix.

Kevin Murphy

Why Pry Is One of the Most Important Tools a Rubyist Can Learn — From the Honeybadger Developer Blog featuring tutorials & good advice by the coolest error monitoring solution around.😎

Honeybadger sponsor

Checking Ruby C Extensions for Object Movement Crashes — Do you work on any native extensions for Ruby? This will help you get up to speed with being compatible with GC.compact.

Alan Wu

Five Things I Learned About SAML from Studying a Realistic Example — SAML authentication is mad complex so it’s nice to have a simplified breakdown like this.

Kevin Gilpin

Rails View Patterns and Anti-Patterns — These are pretty basic, but I have seen plenty of apps that still violate these ideas.

Nikola Đuza

Using cycle to Avoid i % 2 == 0 in Your View Loops — I seem to recall the cycle helper being in Rails since the very early days but if it passed you by, here’s a reason as to why you might use it (though CSS has things like :nth-child(even) to help with some use cases nowadays).

Matt Swanson

Using the Rails highlight Helper When Showing Search Results — Did you know this helper existed?

Matt Swanson

🛠 Code and Tools

Goldiloader 4.0: Just The Right Amount of Rails Eager Loading — The goal here is to stop you having to think about eager loading and have Active Record just do the ‘right thing’ by default. Your mileage may vary.

Salsify

Dynamoid 3.7: A Ruby ORM for Amazon's DynamoDB — Get an ActiveRecord-esque for DynamoDB which is kinda interesting given that DynamoDB is famously a NoSQL database.

Dynamoid

css_parser 1.9: CSS Parsing for Ruby — This library is almost 14 years old but has begun to see fresh updates in the past month. I wish I’d known about it earlier as CSS parsing is never an easy task.

Alex Dunae

Reach Your Ruby App Users Anywhere with Video That Streams Beautifully, Everywhere

Mux sponsor

Kiba 3.6: Data Processing and ETL Framework for Ruby — The ‘go to’ framework for doing ETL jobs (when you take data from one place to another with some transformation in the middle) in Ruby.

Thibaut Barrère

Simple Form 5.1: A Simple DSL for Building Powerful Rails Forms — Inspired heavily by Formtastic.

Rafael França and Carlos Antônio da Silva

reCAPTCHA 5.7.0: ReCaptcha Helpers for Ruby Apps — A way to more easily use Google’s popular (but often controversial) CAPTCHA APIs from Ruby apps.

Jason L Perry

imap-backup: A Tool to Backup GMail (or Other IMAP) Accounts to Disk — Written in Ruby, of course.

Joe Yates