#​640 — February 9, 2023

Read on the Web

When I noticed we'd reached issue 640 I was reminded of the fabled but unlikely quote of Bill Gates that "640K ought to be enough for anybody." Is 640 issues of a newsletter enough for anybody? Probably. But, amazingly, the Ruby world seems to only be getting busier lately, so I may have to defer such a decision to issue 1000.. 😁
__
Peter Cooper, your editor

Together with  ButterCMS

Ruby Weekly

An Extensive Ruby 3.2 Changelog — Victor is back with another of his epic roundups of what's new in the latest version of Ruby. The objective is to highlight language changes rather than implementation ones so while you won’t see YJIT explained here, you will see tons of great information, complete with code examples, that you can lean on in your day to day work.

Victor Shepelev

🇺🇦 Victor has also written about participating in (a) programming language's evolution during 'interesting times' referring to his experiences living, working, and volunteering during Russia's horrific invasion of his country.

🧈 Retire your Legacy CMS with ButterCMS — ButterCMS is your new content backend. We’re SaaS so we host, maintain, and scale the CMS. Enable your marketing team to update website + app content without needing you. Try the #1 rated SaaS Headless CMS for your Ruby app today. Free for 30 days.

🧈 ButterCMS sponsor

Ruby 3.2.1 Released, But It's 'Teeny' — A ‘teeny’ release is a little more significant than a patchlevel release but less significant than a minor one, so this is very minor indeed and not an essential update unless you’ve run into problems with 3.2.0 as it includes mostly fixes for edge cases and a ObjectSpace::WeakMap issue.

Yui Naruse

Test Yourself on the Active Record API — A 10-question quiz on Active Record that will either leave you feeling smart or in need of doing a bit or revision.. We’re not telling where it left us :-D

Domhnall Murphy

▶  Ruby's Core Gem — Ruby Central has just uploaded a talk given by the late Chris Seaton (of TruffleRuby fame) about the idea of rewriting huge chunks of the core of Ruby in Ruby itself (an idea Rubinius got pretty far with back in the day).

Chris Seaton at RubyConf 2022

QUICK BITS

📕 Tutorials and Articles

Ruby's Default Gems — Ruby has a set of ‘default’ gems you won't often need to think about, but if you need to mess with them or upgrade them separately from Ruby itself, this is for you.

Brook Kuhlman (Alchemist)

Getting Started with Hanami and GraphQL — If you’ve not yet dipped your toes into the Hanami waters, this step-by-step walkthrough of creating a simple GraphQL service might be just what you need.

Luca Guidi

Get All the Monitoring Your Ruby App Needs in 5 Mins…Starting at Free? 🤩 — Know the moment a critical error occurs, who is affected, fix it quickly, amaze everyone, take a bow. Get started today.

Honeybadger sponsor

Our Journey into Crystal for Fast Image Processing — There’s not much code here, but a story where someone uses Crystal (a compiled language heavily inspired by Ruby) to see performance and other gains in production is encouraging.

Andrei Zhigalkin

Integrating Ruby with OpenAI: A Beginner’s Guide — The basics of using the ruby-openai to work with OpenAI’s API to generate output from its GPT-3 models. Kane then moves on to using AI to parse emails from Ruby.

Kane Hooper

▶  How Derek Sivers Uses Ruby (And His Programming Philosophy) — Derek became well known for running, and then selling, CD Baby (a site running on Rails in its early days), and is now an author and speaker. He still uses Ruby and in a very distinctive way as shared in this hour long podcast interview.

Remote Ruby podcast

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

Shortcut (formerly Clubhouse.io) sponsor

Building AWS Ruby Lambdas that Require Gems with Native Extensions
Robert J. Berger

▶  The Case of the Vanished Variable: A Ruby Mystery Story
Nadia Odunayo at RubyConf Mini 2022

▶  Storing and Searching JSON in Rails 7
Dean DeHart

▶  Demystifying the Asset Pipeline
David Kimura

🛠 Code & Tools

Anansi: A Hybrid Ruby Set using Memory and Disk (SQLite) — Wondering what to do with that large Set that doesn’t fit in memory? Crawl on over and try Anasi, which will spill to disk if necessary.

Saad Syed (Census Engineering)

by: Ruby Library Preloader — An interesting client-server approach to preloading Ruby libraries in a long-running process and then having client scripts run as forked workers from it. Has some mild echoes of the FastCGI of yesteryear. And why “by”? There’s a cute reason for that.

Jeremy Evans

Need to Upgrade Ruby? We Made a Gem for That 💎

FastRuby.io | Ruby and Rails Upgrade Services sponsor

JRuby 9.4.1.0 Released — In case you missed JRuby 9.4’s recent release, the 9.4.x branch is the Ruby 3.1 compatible branch of the popular JVM-based Ruby implementation. 9.4.1 brings an update to Psych, fixes to keyword arguments and SecureRandom.random_number, plus reductions in JIT bytecode size “allowing more methods to compile to JVM bytecode.”

The JRuby Core Team

Roo 2.10: Read All Common Spreadsheet File Formats in Ruby — Covers Excel 2007-2013, LibreOffice ODS, CSV, and lesser used Excel formats.

Daniels, Simonov, et al.

Committee 5.0: Rack Middleware to Build Services with JSON Schema — For when you want to build services based upon JSON Schema, OpenAPI 2, or OpenAPI 3.

interagent

AttrJson 2.0: Serialized JSON-Hash-Backed Active Record Attributes — Focused on Postgres which has great native JSON type support.

Jonathan Rochkind

online_migrations 0.6: Catch Unsafe Postgres Migrations in Development and Run Them Easier in Production — The extensive README alone is worth the price of admission, but using the gem might save you a few headaches with dangerous migrations on large tables.

Dima Fatko

Jobs

Full Stack Engineer (Remote) — Booqable is a SaaS application for the global rental industry. We are looking for an experienced Full Stack Engineer.
Booqable

Curious How Great Products Get Made? — Come help us craft the operating system for modern manufacturing.
Wherefour

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