#493 — March 19, 2020

Read on the Web

✍️ What a week(!) We hope you are keeping as well as can be in these curious times. We're planning to keep publishing Ruby Weekly in the normal way over the coming months, but if you have anything to share that would help the community, virtual events, etc. just reply and let us know and we'll try to share what we can :-) — Peter.

Ruby Weekly

Announcing RubyGems.org Stats — The announcement and story about how the awesome Rubygems team found time and tools to create stats.rubygems.org, which lets you look at (or request, via an API) download stats for some key parts of the Ruby ecosystem (or overall). Curiously, overall downloads have not been dented at all in the past week.

RubyGems Blog

Improving the Dev Experience with Overmind — Overmind is a Foreman replacement (on Linux, BSD and macOS only) that aims to provide a better developer experience when running your Procfile-based apps. GitHub repo.

Ali Ibrahim

JetBrains RubyMine: A Cross-platform Ruby & Rails IDE — With smart code completion, dozens of refactorings, a built-in test runner, a debugger, and VCS support, all working out of the box, RubyMine is an IDE that makes development easier and more enjoyable.

JetBrains sponsor

Spring Cleaning: Tidying Up Your Codebase — Despite all the troubles in the world, spring is now beginning.. so it might be a good time to do some spring cleaning? Here’s a look at ways to remove unused dependencies and database objects, slim down node_modules, tidy up migrations, etc.

Matt Swanson

▶  Discussing the History and Personalities of Ruby with Chris O’Sullivan — A trip down memory lane as Chris O’Sullivan joins the Rogues to talk about the people who influenced Ruby and how they shaped the community. RIP Jim Weirich, Jason Pollock, James Golick, and others.

Ruby Rogues Podcast podcast

Lies, Damned Lies, and Averages: Perc50, Perc95 Explained for Programmers — Tracking the right metrics for your application is important. Everyone starts with averages, but the fringes are where the problems lie. Richard explains why here.

Richard Schneeman

💻 Jobs

Rails Experts — Join Our Bootstrapped Remote Team — Aha! is primarily a Rails application, but we are using React to make excellent interactive experiences on top of Rails.


SRE @ Doximity - Rails Developers with Infra Passion Welcome — Come help make our applications faster, build infra components, and apply your analytical skills to find new insights.


Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.


📘 Articles & Tutorials

A Rubyist's Introduction to Character Encoding, Unicode and UTF-8 — Are you prepared for a user input going rogue? 😱Learn how encoding works and defeat your next Unicode or UTF-8 bug.

Honeybadger sponsor

Using AWS SAM Cookiecutter Project Templates for AWS Lambda Projects — An effort to make creating a Ruby-based, serverless API as simple as rails new.

Ken Collins

Ruby 2.7's Enumerator::Lazy#eager — Ruby 2.0 introduced lazy enumeration (I did a video about it years ago you might still enjoy) but the eager method lets you turn a lazy enumerator back into a non-lazy one!

Ashik Salman

How to Build A Location-Aware WhatsApp Weather Bot with Sinatra and Twilio — WhatsApp supports sending and receiving location data via their API, here’s how to use that feature for something useful.

Phil Nash (Twilio)

▶  Implementing File Uploads in Rails with Shrine


Using the Facade Pattern in Rails for Performance and Maintainability — This pattern helped Daniele “test my code more thoroughly, to clean out my controllers, to reduce the logic within my views” so you might want to check this out.

AppSignal Blog

Simple Fallacies of Distributed Computing for Ruby Developers

Igor Springer

Dig'gin Through Hashes and Arrays — This is really just a simple tip and reminder to use the dig method.. which is well timed as I keep forgetting to do so myself 😂

Prathamesh Sonpatki

Remote Tools and Tips in These Remote Times — Since we’re all probably working remote in these virus-laden times, articles like this can be helpful. Stay safe!


🛠 Code and Tools

str_metrics: A String Metrics Gem Partly Written in Rust — Rust is an increasingly common language choice for safely writing high performance code, so this gem is as much interesting to see an example of using Rust to write a Ruby extension as in what it actually does :-)

Anirban Mukhopadhyay

Active Record Doctor: Identify Database Issues Before They Hit Production — Index unindexed foreign keys, detect extraneous indexes, detect missing constraints, and a lot more.

Greg Navis

Founders/CTOs: We Upgrade Rails So That Your Team Doesn’t Have To

Upgrade Rails sponsor

CanCanCan 3.1.0 Released — It’s a minor release, but there are a couple of nice improvements and a new logo!

Alessandro Rodi

Telegram Bot Helpers: Helpful Code If You're Building a Telegram Bot — Not a gem or anything, just a random bundle of code that one developer thinks you might find useful.