#​670 — September 21, 2023

Read on the Web

Together with  Cloud66 logo

Ruby Weekly

Ruby 3.3’s YJIT Runs Shopify’s Production Code 15% Faster — YJIT in Ruby 3.2 has yielded big performance boosts to production workloads for many Rubyists, and Ruby 3.3 is looking to be even more promising with Shopify finding YJIT in 3.3 to be notably faster than in 3.2. How? Takashi explains all. Roll on Christmas Day and Ruby 3.3!

Takashi Kokubun

Applications Now Open to Join Ruby Central's Board — Ruby Central, the non-profit behind Rubygems and Bundler, is looking for people to join their board. Responsibilities include helping with RubyConf and RailsConf and supporting community growth efforts.

Ruby Central

Scale Rails with Nginx Response Times — No one likes a slow website. Scale your Rails application automatically on any cloud using metrics like Nginx response time. Reduce response time when traffic goes up and reduce costs when they come down. Try it today for free, and get $100 in credits with the code: RubyWeekly100

Cloud 66 sponsor

Kamal 1.0 Released: DHH's Zero-Downtime Deployment Tool — Originally called MRSK and built as a way to quickly deploy Rails apps, Kamal bills itself as ‘Capistrano for containers’ and with Rails 7.1 automatically providing Dockerfiles, it’s clearly being positioned as the future Rails app deployment tool of choice. DHH has written more about the motivations behind the project. Note that v1.0 is different enough to prior releases that you’re encouraged to read the release notes.

37signals

💡Greg Molnar has updated his guide to deploying a Rails app with Kamal, if you want a more practical introduction.

🇪🇺 Euruko 2023 is taking place right now in Lithuania – we hope you're having a good time if you're there. The venue looks amazing!

🎤 In other events news, the chairs of RubyConf 2023 went on the Ruby on Rails Podcast to talk about how the event has evolved, what's new, and how it's all coming together.

📕 Articles and Tutorials

▶  An Introduction to Ruby in the Browser — In a talk for Montreal.rb, Andy, the creator of Glimmer, spoke about the potential for Ruby to take more of an active role in the browser by way of either WebAssembly or compilation to JavaScript via Opal.

Andy Maleh

Enhancing Your Rails App with SQLite: Array Columns — The sixth of a series of posts on making SQLite a part of your production deployment. This time, the focus is on how to match the behavior of Postgres’ array columns, but the whole series is worth a read.

Stephen Margheim

Free eBook: Advanced Database Programming with Rails and Postgres — Learn about subqueries, materialized views, and custom data types in Postgres & Rails and follow along with our examples.

pganalyze sponsor

From Bloat to Sleek: A Rails Memory Tale with jemalloc — It’s long been a suggestion in the Ruby world to try switching to the jemalloc memory allocator to see what memory savings you can get, and Dhaval had a good end result. (We recently shared Solidus’ case study of doing so, too.)

Dhaval Singh

How to Create a New Rails 7.1 (or main Branch) App — Rails 7.1 hasn’t landed yet (other than in beta) but don’t let that stop you from building Rails 7.1 apps..

Lucian Ghinda

Building a Sinatra App in Ruby — With the recent release of Sinatra 3.1, maybe you’ve been waiting for a tutorial to grok the long-standing web framework. Shorten some URLs while lengthening your Ruby knowledge.

Aestimo Kirina (Honeybadger Developer Blog)

▶  The Transformation of TrailblazerTrailblazer is a project that provides an opinionated architectural style with which to implement business logic in Ruby apps. It’s most commonly associated with Rails and used to extend the basic MVC approach with higher level patterns, but is technically framework agnostic.

Nick Sutterer

Machine Learning Using Decision Trees in Ruby
Domhnall Murphy

How to Break Out of a Turbo Frame and Redirect?
Sid Krishnan

🛠 Code & Tools

Plain: An AI Assistant for Your Rails Project — From the folks behind the Rails-powered Chaskiq live chat system comes a curious new Rails engine (built during Rails Hackathon 2023) that uses AI to provide explanations and insights about your Rails project during development. It’s tricky to explain but luckily there’s 🐦 a quick video demo on Twitter.

ChaskiqHQ

TruffleRuby 23.1: High-Performance GraalVM-Based Ruby Implementation — Originally started by the late Chris Seaton, TruffleRuby is a Ruby 3.2.2-targeting implementation built atop GraalVM (essentially a high performance JVM with JIT and strong non-Java language support).

Oracle

Fixed Price Monthly Code Maintenance for Rails Apps — No time to do those small but critical updates and features? CodeCare will take care of necessary tweaks, bug fixes, upgrades and ongoing improvements for your app.

reinteractive / CodeCare sponsor

ruby-clock: A Standalone Job Scheduler atop Rufus Scheduler — A cron replacement that runs jobs in their own thread in a persistent process. The author has even made a feature matrix comparing it to other solutions like Crono and Clockwork. You can even see the genesis of the project on GitHub when the creator asked the creator of Rufus Scheduler if there was a way to use it as a standalone cron replacement.

John Bachir

Artemis 0.9: A GraphQL Client for Rails That's Quick to Use“You’ll never have to make trivial decisions or spend time on boring setup. Start making a GraphQL request in literally 30s.”

Yuki Nishijima

Blazer 3.0: Ruby-Powered Business Intelligence Tool — A system for putting together charts and dashboards based on business data queried with SQL. Supports a wide variety of data sources.

Andrew Kane

Goldiloader 5.0: Just the Right Amount of Rails Eager Loading? — The goal here is to stop you having to think about eager loading and have Active Record just do the ‘right thing’ by default. Your mileage may vary.

Salsify

RoleModel Confirm: Upgrade data-turbo-confirm to Support Custom Dialogs — The convienience of Turbo-Rails but without the native confirm() dialog.

RoleModel Software

Jobs

TravelJoy | Senior Full Stack Engineer | Remote in USA/Canada | Full-Time — TravelJoy is the market network for leisure travel. Thousands of travel agents love and depend on our product every day.
TravelJoy - Bring the joy back into travel planning

Full-Stack Developer at XYRALITY (Hamburg/Germany) — Development of a new game as senior member of a new core team based in Hamburg. Welcome to join us.
XYRALITY

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

“If you provide an API client that doesn't include rate limiting, you don't really have an API client. You've got an exception generator with a remote timer.”

___
Richard Schneeman