#​644 — March 9, 2023

Read on the Web

Together with  AppSignal logo

Ruby Weekly

RJIT: A Pure Ruby JIT Solution — A mixed bag of results performance wise, but seeing a core Ruby team member take another approach to JIT is always exciting. This (merged) PR has many benchmarks where RJIT outperforms MJIT across the board and the Rust-based (and already production ready) YJIT in some cases. Seems like Ruby is still getting JITty with it…

Takashi Kokubun

If you want to learn about this stuff from basics, Aaron 'tenderlove' Patterson gave a talk at RubyConf 2021 about ▶️ how JIT compilers work and making one for Ruby. He also stepped in on Hacker News to answer some questions about Ruby JIT performance. JITing Ruby is hard due to its dynamic nature.

RubyGems Gets (Experimental) gem exec CommandRubyGems 3.4.8 has been released with an interesting new experimental feature – the ability to run executables from gems that may or may not be installed. Reminds me of npm's handy npx tool in the Node world.

RubyGems

Making the Most of Your Logs in Rails — It's easy to get going with logging with Rails, but not so easy to master it. Discover how you can get the most from your logs.

AppSignal sponsor

A Retrospective on RailsCasts — The creator of RailsCasts (a very popular screencast and educational site in the Ruby/Rails space 10+ years ago) has started a three-part series digging into the story of how it all began.

Ryan Bates

▶  Deploying with MRSK — We linked to DHH’s post about his new container-driven deployment tool last week and now David Kumura has put together a screencast on using it to deploy a Rails app to Digital Ocean, complete with database and load balancer. David focuses on the practicalities but also shares his thoughts on when you might want to use it.

Drifting Ruby

QUICK BITS

📕 Tutorials and Articles

Debugging a Daylight Saving Bug — What’s more fun than an average bug? Bugs involving daylight savings time! If the falsehoods programmers believe about time didn’t already drive you to a different career, you might enjoy this tale of hunting down a quirk when manipulating times in a Rails app. There's more about the matter in this Rails pull request.

Alex Taylor

A New Way to Work with 'Front Matter' in Ruby — ‘Front matter’ is the term used to describe the metadata you might find at the top of a file (such as a Markdown page in Jekyll, say). Seb introduces us to FrontMatterParser, a gem for parsing such metadata.

Seb Wilgosz (Hanami Mastery)

Crunchy Bridge - What You Always Wanted from a Postgres Provider — We'll keep your DB running, safe, and secure. We're experts in Postgres and when you have questions, we love to help.

Crunchy Bridge sponsor

▶  Discussing Rails Code Organization with Jorge Manrubia of 37signals — A livestream discussion around organizing Rails code, particularly around how you don’t need any extra constructs like service objects or Interactors in order to keep things organized.

Jason Swett

How to Find, Debug and Fix N+1 Queries in Rails — Fixing N+1 issues is often the lowest-hanging fruit in optimizing a Rails app’s performance.

Paweł Urbanek

▶  Dicussing Developing Video Games in Ruby — A chat with Brett Chalupa of Building Games with DragonRuby fame.

Ruby Rogues podcast

How to Install Ruby 3.2.1 with YJIT on macOS
Dave Kimura

Making the Most of Your Logs in Rails
Hans-Jörg Schnedlitz

Configuring Rails Environments
Akshay Khot

▶  The State of Rails Hiring in 2023
The Ruby on Rails Podcast

🛠 Code & Tools

JRuby 9.4.2.0 Released — v9.4 is the Ruby 3.1-oriented branch of the JVM-oriented Ruby implementation; v9.4.2.0 fixes numerous bugs and updates some dependencies.

JRuby Core Team

Extralite: An Extra-Lightweight Gem for Working with SQLite3 — An alternative (and faster) SQLite 3 wrapper for Ruby that comes in two flavors: one that uses a system installed SQLite 3 and one that bundles 3.40.1 instead.

Sharon Rosner

Fixed Price Monthly CodeCare, Maintenance and Upgrades for Rails Apps

REINTERACTIVE PTY LTD sponsor

SimpleXlsxReader: Fast Excel/Open XML Spreadsheet Reader — XLSX is a format commonly associated with Excel. This library sticks to the basics of reading them quickly.

Woody Peterson

Sidekiq Iteration: Make Long-Running Sidekiq Jobs Interruptible and Resumable — As job-iteration is for ActiveJob, this is for Sidekiq directly.

Dima Fatko

TableInspector: Print a Text Table of an AR Model's Schema — e.g. TableInspector.scan User will return a table of User's columns and indexes.

Ian Lynx

MaintenanceTasks 2.1: Rails Engine for Managing Maintenance Tasks — A Rails engine for queuing and managing maintenance tasks to be run through Active Job.

Shopify

Rux: A JSX-Inspired Way to Render View Components in Ruby — If you’re a fan of the React approach of including templates directly within normal code, this might intrigue you. There’s rux-rails to take it into Rails, too.

Cameron Dutro

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

Shortcut (formerly Clubhouse.io) sponsor

Jobs

Software Engineer (Backend) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

Senior Backend Engineer (Remote - EMEA) — Booqable prides itself on being a global company with team members working together from across the world. We are remote-first, so you can join us from wherever you are.
Booqable

Find Ruby Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired