#​580 — November 25, 2021

Read on the Web

Ruby Weekly

Ruby 3.0.3 Released — A point release but it fixes three important security issues around regex-based date parsing (as with Date.parse), a CGI.escape_html buffer overrun, and cookie prefix spoofing. Perhaps even more importantly to many, though, is the fix for a memory leak issue plaguing 3.0.2 when Hash#transform_keys! is used, so if you're on 3.0 you'll def want to upgrade.

Tomoyuki Chikanaga

ASMREPL: A REPL for x86 Assembly Language — A Ruby powered REPL for x86 assembly from Ruby and Rails’ own tenderlove! As a big fan of Compiler Explorer, I can see myself getting into trouble with this.. :-)

Aaron Patterson

Easy and Powerful Sidekiq Monitoring — Track and debug Sidekiq performance metrics with ease. Get insights and alerts for Sidekiq queue lengths, Sidekiq throughput/performance per worker, Sidekiq process/connection counts, and memory used in Redis.

AppSignal sponsor

IN BRIEF:

Writing AWS Lambda Functions in Ruby — A brief tutorial that creates a serverless Lambda function via the AWS console and touches on where you might go next (i.e. the Serverless Framework and local development.)

Jeffrey Morhous (Honeybadger Developer Blog)

▶  Ruby Podcasters Get Together at RubyConf 2021 — RubyConf took place a couple of weeks ago and several popular Ruby podcasters got together to talk about the event, what they’re up to there, their ‘Ruby Heroes’ and the Ruby podcasting game in general. A nice way to pick up a bit of the vibe from the event.

Remote Ruby podcast

Jobs

Rails Engineering Manager @ Nebulab (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers.
Nebulab

Senior Software Engineer (Remote in the US) — Snapdocs is now a Unicorn with a $1.5B+ valuation. We’re a SaaS product disrupting the mortgage and real-estate industry. Join our growing distributed team. ROR, Go, Postgres, React, TypeScript, AWS.
Snapdocs

Find Ruby Jobs 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

📕 Articles & Tutorials

Audit Logging in Rails — If you need to track who is making changes to an app’s data, this comparison of five popular gems can make sure you pick the right one (or build your own).

Jeremy Smith

Queuing Sidekiq Workers Safely with Help from Isolator — Isolator is a gem from Evil Martians that will throw an error if a background job is enqueued in the middle of a database transaction as it can lead to inconsistencies if the transaction fails.

Anton Ivanopoulos

The Hidden Features of caller — Focus your stack traces when you’re debugging.

Alex Taylor

Complete Peace of Mind Rails Hosting — If you need hands-off, rock solid hosting for your Rails app, OpsCare is for you. We keep your app running, 24 hours a day, 7 days a week with a worldwide team.

OpsCare by reinteractive sponsor

Signal Handling in Concurrent Apps with Ruby and PolyphonyPolyphony is a library for writing fiber-based concurrent apps that Sharon has been writing a bit about recently. This post tackles how it handles signals (such as SIGTERM and SIGINT).

Sharon Rosner

Calculating a GZIP's Decompressed Size Without Decompression — If you’ve got a compressed gzip file, it’s possible to determine the size of its contents very quickly. A handy “how to pull some arbitrary bytes out of a file” tip here.

Maciej Mensfeld

The Difference Between Using a Cache and Read Models — One for those using event-driven models or Rails Event Store.. or maybe it could help sell you on the idea?

TOMASZ WRÓBEL

Trying Elixir as a Rubyist — Elixir is syntactically similar to Ruby in many ways, but the differences can be unintuitive.

Brian Kung

🛠 Code & Tools

Kredis 1.0: Higher-level Data Structures Built on Redis — Kredis offers structures like list, counter, set, flag, cycle, enum, and more that can be set as attributes on ActiveRecord models.

Ruby on Rails Core

cel-ruby: A Ruby Implementation of Google's Common Expression LanguageCommon Expression Language (CEL) is a non-Turing complete language built by Google for writing expressions that can be evaluated without sandboxing.

HoneyryderChuck

Put the “Flow” in Your Workflows with Shortcut

Shortcut sponsor

MemoWise 1.3: A Modern Choice for Ruby Memoization — Fast, good test coverage, full docs, lets you reset or preset values, and more.

Panorama Education

lib-ruby-parser: A Ruby Parser Written in Rust — Rust is an increasingly popular language being used to make tooling for all sorts of things, which includes this Ruby parser continuing to be actively developed after we first linked it a year ago.

Ilya Bylich

imap-backup 4.0: A Tool to Backup Gmail (or Other IMAP) Accounts to Disk
Joe Yates