#531 — December 10, 2020

Read on the Web

Ruby Weekly

Rails 6.1 Released — The newest Rails train has just pulled into the station! If your app needs the flexibility of per-database connection switching or horizontal sharding, this is a compelling update. We also get strict loading associations (stop N+1s in their tracks), delegated Active Record types (as a rather nicer alternative to STI), and performance improvements all round. Here’s a table showing if you’re ready to upgrade apps on various versions of Rails to the new version.

Official Rails Blog

Ruby 3.0.0 Preview 2 Released — Are you ready for the final Ruby 3.0 release due on Christmas Day? If you want to get testing ASAP, this preview is what you need. Static typing (via RBS), ractors, TypeProf, one line pattern matching, MJIT, end-less method definitions, and Fiber#scheduler are all here. But bye bye to $SAFE.

Yui Naruse

How Does Honeybadger Compare to Your Current Error Tracker? — Honeybadger transforms you into a DevOps hero by combining error monitoring, uptime monitoring, and chron monitoring into a single, easy to use platform. We’re a bootstrapped company built for developers like you, not shareholders. Click to compare.

Honeybadger sponsor

Announcing Stimulus 2.0Stimulus is a JavaScript framework, but it comes from the folks at Basecamp (they invented Rails, y'know ;-)) and is commonly aligned with Rails apps. There are two new APIs for working with values and CSS classes. The handbook has been updated or if you prefer screencasts, you can learn more in ▶️ this Drifting Ruby tutorial or the ▶️ GoRails take on the new APIs.

Sam Stephenson

Introducing New Features for the aws-sdk-rails Gem — The Ruby SDK team at AWS have unveiled a big refactoring of aws-sdk-rails to make developing Rails applications using AWS easier than ever. What do you get? An SQS adapter for Active Job, loading of AWS credentials using Rails’ encrypted credentials, use DynamoDB for session storage, and more.

Matt Muller (AWS)

Ruby is Coming to Azure Functions — Azure's serverless platform.
Anthony Chu on Twitter

💻 Jobs

Software Developer (Austin, TX) — We're a largely ex-Pivotal tech team looking for developers with all levels of experience. If you enjoy learning, collaborating, and creative problem solving then let's talk.

Stronghold Resource Partners

Rails Developer at Agent Pronto (Remote-USA) — Join our team as a Rails dev where you’ll help ship features and squash bugs. Ruby on Rails, Vue, TDD, HTML/CSS, Git, CI.

Agent Pronto

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.


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

📘 Articles & Tutorials

Is Ruby 3 Actually Three Times Faster? — It depends on how you define performance and what your baseline is, but the short answer is “yes”. However, don’t expect Rails to be 3x faster. Let’s just enjoy the fact that our favorite language is much faster now than it was a decade ago.

Noah Gibbs

How to Create a AWS Lambda Layer of Your Gem Dependencies — Throwing Ruby code into the cloud with AWS Lambda is easy, but getting the heavier dependencies (e.g. nokogiri, or the http gem) working isn’t quite as easy. I worked out how to do it without heavy tooling requirements.

Peter Cooper

Why You Should Never Use sudo to Install Ruby Gems — Most of us might say “well, duh,” but it’s still a good reminder and explanation of why this practice is problematic.

Moncef Belyamani

📅  Changing the Game at AWS re:Invent with AnneMunition Dec. 15, 3pm PST

New Relic sponsor

Diagnosing Performance Issues in Rails Applications — Most of the focus here is on database and query tuning, which is always useful.

Becca Liss

▶  A Chat with dev.to's Site Reliability Engineer — A 52-minute chat with Molly Struve, Site Reliability Engineer at Forem (the broader name of the company running the popular Rails-powered dev.to community), about monitoring, types of incidents, and dividing time between incident response and preventative work.

Rails with Jason podcast

Organizations and Layers of Abstraction — After year of working in Shopify’s production engineering team, Kir has seen how managing layers of abstraction is key to solving scalability issues.

Kir Shatrov

Fixing a Ruby 2.7 Compilation Error on macOS Big Sur — The author is using ruby_install and Homebrew, but his fix may help anyone having compilation issues on the new macOS.

Piotr Solnica

How to Add Tailwind CSS 2.0 to a Rails 6 App
Axel Kee

🛠 Code and Tools

TTY::Reader 0.9.0: Methods for Processing Keyboard Input — It’s not readline compatible, but if reading user input with gets is as far as you usually get, this could help make your terminal keyboard input experiences a little more powerful.

Piotr Murach

JRuby Released — As work continues on JRuby 9.3, we get another 9.2 release to fix up a few dependencies (WEBrick, did_you_mean, JNR) and various bugs/issues.

JRuby Team

More Postgres, Less Administration — Developer friendly, production ready. Crunchy Bridge is the better option for your Postgres hosting.

Crunchy Bridge sponsor

RubyGems 3.2.0 Released (plus 3.1.5, 3.0.9 and 2.7.11) — No major new features but numerous optimizations including lazy loading of its dependencies. Also minor updates to 3.1, 3.0 and 2.7 branches add a new root certificate and remove outdated ones (details).

RubyGems Blog

ruby-install 0.8.0: A Way to Install All the Rubies — Handles Ruby (MRI), JRuby, Rubinius, TruffleRuby or mruby, and provides an alternative to the RVM approach.

Hal Brodigan

curses 1.4.0: Ruby Bindings for curses, ncurses, and PDCurses — This used to be part of the standard library but has been maintained as its own separate gem for several years now.

Ruby Core Team

3llo: An Interactive CLI App for Trello — A tool built in Ruby to work with the popular list/board making tool Trello.

Cẩm Huỳnh

Puma 5.1.0 Released: A Rack Web Server Built for Concurrency — Here are the release notes.
Puma Team

Stripe::Rails 2.2.0: A Rails Engine for Integrating with Stripe
SengMing Tan