#511 — July 23, 2020

Read on the Web

Ruby Weekly

GitLab on Its Migration from Unicorn to Puma — While GitLab is running at a pretty large scale, these two application servers are widely used throughout the Ruby community, so it’s interesting to see what conclusions GitLab came to.

GitLab

Announcing the 2021 Fukuoka Ruby Award — Each year, the government of Fukuoka, Japan, collaborates with Matz (the creator of Ruby!) to offer an award to an interesting Ruby program or system developed or updated over the past year – the award will make you a millionaire, too, in Japanese Yen at least 😄 Matz will be reviewing the entries so be sure to pick something especially good.

Fukuoka Ruby

Redis 6.0 on RedisGreen — SSL encryption, key size tracking, memory mapping, online upgrades, and more.

RedisGreen sponsor

Mastering Roda, a Free Online E-bookRoda is a “routing tree web toolkit” which means routing and request handling are handled together. This book goes into all the detail, including the nice plugin framework.

Federico M. Iachetti

Adding Method Overloading to Ruby — I’m featuring this not because I think it’s a great technique to be using in production code, but because it demonstrates just how flexible Ruby is and what you can pull off with a little metaprogramming.

Luca Guidi

GoodJob: A New Postgres-Based, Multithreaded, ActiveJob Backend for Rails — Ben calls GoodJob a “second-generation” backend because it focuses on compatibility with ActiveJob. It’s suited for use cases queuing fewer than 1 million jobs/day.

Ben Sheldon

⚡️ Quick bytes:

💻 Jobs

Backend Engineer - Marketing Engineering (Rails, Python) (f/m/d), Berlin, Germany — Role with Impact. Exciting projects. Benefits + amazing Team. Building the world’s leading talent platform. Join the Heyvolution.

HeyJobs GmbH

One Application, Hundreds of Hiring Managers — Use 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.

📘 Articles & Tutorials

An Introduction to Stimulus.js — Released by Basecamp and (we’re guessing) used in the new HEY email service, Stimulus is a very light library to add behavior to your HTML elements.

Mike Rogers

Why Doesn't Webpacker Use My Test Config When I Run Rails Tests?“Here’s something you might not expect: when running Rails tests, Webpacker will load the development webpack config instead of the test config by default.”

Ross Kaffenberger

Making RSpec Tests More Robust — A walk through a situation where a test can become brittle and how to resolve it.

Jake Yesbeck

Best-Practices on How to Speed Up Your Postgres Queries. Free eBook — Companies like Robinhood and Atlassian are able to speed up their queries by orders of magnitude. This eBook shares our best practices for optimizing Postgres performance.

pganalyze sponsor

Cable Ready: For Those Who Like Action Cable But Hate Writing JavaScript — Another Cable Ready tutorial which, really, we can’t get enough of yet.

Paweł Dąbrowski

▶  Don't @ Me! Instance Variable Performance in Ruby — A fairly detailed talk about the internals of the Ruby interpreter. Covering compilation processes, inline method caches, as well as the data structures and algorithms used for dealing with instance variables.

Aaron Patterson

Rails 6.1 Allows Enums Attributes to Configure a Default Value — No more migration required when you want to change the default.

Abhay Nikam

Comparing Version Numbers in Ruby — Comparing the version strings is a no-go, so how to be sure that your version-dependent code is evaluated properly? I bet you haven’t thought of all the gotchas…

Daniel Doubrovkine

▶  Discussing JetBrains and the RubyMine IDE

The Ruby on Rails Podcast podcast

🛠 Code and Tools

TTY::Prompt 0.22.0: Powerful Interactive Command Line Prompts — This has been out for some time, but the latest release packs in a variety of new features if you need to prompt users for input at the command line.. and we haven’t linked it in 3 years(!) 😬

Piotr Murach

Versionaire: An Immutable, Thread-Safe, Semantic Version Type — If you’re working with version numbers, this class provides a lot of neat abstractions (for comparisons, type conversions, equality, etc.)

Brooke Kuhlmann

Faster CI/CD for All Your Software Projects - Try Now 🚀

Buildkite sponsor

Egis: A Handy Ruby Interface for AWS Athena — AWS Athena allows the querying of S3 using standard SQL.

u2i

Futurism: Lazy-Load Rails Partials via CableReady — Still in early stages of development but an interesting idea.

Julian Rubisch

Truemail 1.8.0: A Configurable Plain Ruby Email Validator — Offers three levels of email validation: regular expression (does this email look right?), MX records (does this domain have mail service?), and SMTP (does this address actually accept mail?)

Vladislav Trotsenko