#​692 — February 29, 2024

Read on the Web

Together with  Scout

Ruby Weekly

The Art of Forking: Unlocking Scalability in RubyKarafka (a Ruby processing framework for Apache Kafka) requires concurrency and parallelism, which can present challenges in Ruby. The explanations here of how Karafka uses Ruby’s constructs is informative and shows that you don’t necessarily need to use another language to address issues of concurrency.

Maciej Mensfeld

How Does Sidekiq Work?Sidekiq is the most heavily used background job system in the Ruby space, and this post digs into how it works, its architecture, and what’s going on under the hood. Curiously, the post was written by Dan Svetlov but Mike considered it so good he bought the rights to republish it!

Mike Perham / Dan Svetlov

Self-Service APM When You Want It. Superior Support When You Need It — Need answers to your Ruby app performance fast? Avoid the runaround of large support teams and the hassle of talking to a sales rep - choose Scout APM and get the APM insights you need in less than 4 minutes.

Scout APM sponsor

Hanami 2.1: Views That Are a Sight to See — Hanami gets closer to being a full-stack competitor to Rails with a new view layer that is modular, testable, and powered by a new ERB engine. On the assets side, esbuild backs a config-free approach with a watcher and compiler for your dev work.

Tim Riley

JRuby Prism: A New Parser for a New Era — In last week’s issue we mentioned JRuby's latest release and its use of the Prism parser. Here are the consequences: faster performance, reduced warmup, and a brighter JRuby future.

Thomas E. Enebo

  • 🗓️ Last issue, we erroneously said RubyConf 2024 would be in San Diego later this year – it won't be, it'll be in Chicago – dates to be announced soon.

  • 📅 Brighton Ruby 2024 will be taking place in Brighton, England this June 28.

  • 📈 Alexander Momchilov has proposed a change to the Ruby core team to make Set#add? twice as fast with just a single line change.

  • 📣 Ruby Central has a huge monthly update post, covering events news and RubyGems updates.

📕 Articles & Tutorials

Running Rails on AWS Elastic Beanstalk — I hadn’t heard about Elastic Beanstalk in a Ruby context for years, but it was one of the first automated ways to spin up a webapp in the cloud directly from a repo. If you're on AWS, it still works well, and Josh goes through every step here.

Josh Justice

▶  Discussing the Future of Ruby Central with Adarsh Pandit — Adarsh Pandit is the new executive director of the Ruby Central organization that plays a central role in organizing RubyConf and RailsConf and maintaining the RubyGems registry.

The Ruby on Rails Podcast podcast

Under Pressure 🫠 — Free up space for deep work. Burst capacity for today, strategies for tomorrow. We help set you up for future success.

Test Double sponsor

Linear Regression using Dataframes in Ruby — How to use a basic tool of data science in Ruby, largely through the use of Polars Ruby and its DataFrame type.

George Kosmopoulos (thoughtbot)

How to Debug Issues with Turbo Morphing — The excitement around page morphing with Turbo likely has many a Rails developer adding it to their apps.. which then break. Read this if you need help figuring out why or just want to prepare before you introduce the concept.

Radan Skorić

Weird Ruby: Nil Conversionsnil is an object (a singleton instance of NilClass) and comes with its own methods that allow for conversions to other types.

Bozhidar Batsov

Speed Up Your Tests Using the VCR Gem — Replaying is quicker than redoing.
Akshay Khot

How to Validate Email Addresses in Rails Models — Let me count the ways..
Andy Croll

▶  Infinite Scroll with Rails and Turbo 8 — No extra JS needed.
Andy Leverenz

🛠 Code & Tools

MiniGL: A Minimal Game Library on Top of Gosu — We’ve linked to this a few times over the years, but it continues to improve. Super Bombinhas is the best known game built with it, but this new Tic Tac Toe-inspired platformer is worth a look too.

Victor David Santos

tf-idf-similarity: Calculate The Similarity Between Texts — Calculates the similarity between texts using a bag-of-words Vector Space Model with Term Frequency-Inverse Document Frequency (tf*idf) weights.

James McKinney

CodeCare Plus: Ruby on Rails Maintenance Service — Are bug fixes draining your development time? Streamline your Ruby on Rails application the easy way with CodeCare Plus.

reinteractive/CodeCareShield sponsor

Listen 3.9: 'Listens' to File Modifications and Notifies You — OS-optimized on each of macOS, Linux, BSD, and Windows, and can detect file modification, creation or deletion in one or more directories.

Guard

☀️ Astronoby v0.1: Work with Astronomical Data and Events — It’s very early days for this library, but it can, at least, calculate the Sun’s location in the sky based upon a particular observation point and time. Seems like a project worth getting involved with if you’re in this.. space? GitHub repo.

Rémy Hannequin

Hypershield: Shield Sensitive Data in Postgres and MySQL — Looking to hide sensitive data to help comply with GDPR, say? Hypershield creates ‘shielded’ views that can hide sensitive tables and columns.

Andrew Kane