#​616 — August 11, 2022

Read on the Web 🇺🇦

☀️ If you don't receive Ruby Weekly next week (August 18), don't panic – we're taking a week off for summer vacation :-) We'll be back on August 25.
__
Peter Cooper, your editor.

Ruby Weekly

Faster Ruby: Thoughts from the Outside — Earlier this week, the author wrote an interesting retrospective on Ruby+OMR, a now-abandoned 2015 effort to boost Ruby’s performance via OMR, but has now moved on to thinking about how he’d approach making Ruby faster these days, taking some lessons from JavaScript. Hacker News ended up with a lengthy discussion on this topic, too.

Matthew Gaudet

Karafka 2.0: Multi-Threaded Kafka Processing Framework — This huge release has some big-time features such as multi-threading, Active Job support, and “virtual partitions” for concurrent processing of messages from a single partition. There’s now also a Sidekiq-esque Pro commercial option if you want to support the project. GitHub repo.

Maciej Mensfeld

Free eBook: Advanced Database Programming with Rails and Postgres — Learn about subqueries, materialized views, and custom data types in Postgres and Rails. We walk through realistic real-life examples, translating first into SQL, and then into Rails code. Every example comes with source code so you can follow along.

pganalyze sponsor

A Further Dive into Memory Leaks in Ruby — We linked to the first post in this series two weeks ago; here’s the promised follow-up that goes into several tools and techniques to actually track down leaks.

Tony Rowan (AppSignal)

From Byebug to ruby/debug — A cross between an introduction, cheat sheet, and direct comparison with how Byebug and Ruby’s newest debugging tool work. Very useful.

Stan Lo

Quick Bits:

📖 Articles, Stories & Videos

A Single File Rails Application⁉️ — We’ve seen this before, but willing to bet there are plenty of people out there that haven’t. It’s a neat experiment, but also a good learning experience.

Greg Molnar

Ruby 3.2 Introduces Regexp.timeout — This helps to mitigate problems around regular expressions that take a long time to process. Original discussion here.

Agnidipta Bhattacharjee

Naming Things is Hard — Named after an oft-quoted developer maxim, this post focuses on what not to call things in Ruby, lest you unintentionally break something that was already there.

Ariel Juodziukynas

Announcing Incident Management For Honeybadger Status Pages 🤩 — Now you can report incidents in real time (or retroactively) and schedule alerts for planned maintenance. Check it out.

Honeybadger sponsor

'How We Use Authorization as a UX Tool' — A look at how one team works with Pundit, an OO oriented authorization library, to improve end-user experience.

Jonathan Loos

How to Generate Sitemaps for Hanami Apps — While this tutorial is focused on Hanami, sitemap_generator is a framework agnostic library.

Hanami Mastery

▶  Setting Up Ruby on a Modern Ubuntu Desktop — Takes the RVM approach. (Other approaches exist, including asdf and rbenv).

Drifting Ruby

🛠 Code & Tools

The Active Record Playground Runner — This is an interesting idea. Benito is working on a tool that will let you play with Active Record to show off or test ideas without attaching it to an entire webapp. It’s early days but this is a cute idea.

Benito Serna

Shale 0.7: Ruby Object Mapper and Serializer for JSON, YAML, TOML and XML — You can now specify whether or not to render nil values, amongst other things.

Kamil Giszczak

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

Sync Scroll: A VS Code Extension to Scroll Split Panes Simultaneously — This isn’t a language specific thing, but I found it useful this week when doing a manual (non diff) comparison of two files.

Visual Studio Marketplace

JiraAdf: Builder-Like Syntax for Atlassian Document Format (ADF) — It’s “how Jira and friends format rich text.”
Max Chernyak

WP2TXT 1.0: Extract Text and Data from Wikipedia Dump Files
Yoichiro Hasebe

⚡️ QUICK RELEASES:

Brakeman 5.3 – Static analysis vulnerability scanner for Rails apps.
Hamlit 3.0 – High perf Haml implementation.
Faraday 2.5.1 – The flexible HTTP client library.
dnsimple-ruby 8.0 – DNSimple API client for Ruby.
pg 1.4.3 – Postgres client library.

Jobs

Senior Ruby on Rails Backend Engineer - Integrations — Are you a self-starter looking to learn and grow? We are hiring around the world to strengthen our rapid growth. Join our journey.
Leadfeeder

Senior Software Engineer - Consumer - Remote (to GMT+2) / Dublin — You will architect and implement new software component designs and enhancements to our existing consumer products.
Phorest Salon Software

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