#734 — January 16, 2025 |
|
Ruby Weekly |
Zverok's Guide to Ruby 3.4's Language Changes — Each year, Victor blesses us with a mammoth roundup of changes that arose in the Ruby language in the latest major version. Ruby 3.4 wasn’t one of the largest leaps forward in this sense, but he still has lots of great examples here, making this a must read/skim. Victor Shepelev |
YJIT 3.4: Even Faster and More Memory-Efficient — YJIT (Yet Another Ruby JIT) is an optimizing compiler built into CRuby since Ruby 3.1 and it got even faster in Ruby 3.4 (by 5-7%). Maxime, who started Shopify’s YJIT team, explains the improvements as well as new options and techniques you can use to get more out of it. Maxime Chevalier-Boisvert |
Optimize Postgres Performance and Reduce Costs with Crunchy Bridge — YNAB (You Need A Budget) switched to fully managed Crunchy Bridge for Postgres and experienced a 30% performance increase and 10% cost reduction. YNAB enjoys seamless scaling, high availability, and expert support for a better Postgres experience. Crunchy Data sponsor |
IN BRIEF:
|
▶ How To Build Basic Desktop Applications in Ruby — The recently released recording of a workshop given at RubyConf 2024 by the creator of the Glimmer suite of Ruby DSL-driven desktop and Web app building frameworks. We’ll have more on Glimmer in a future issue, but this is a great way to get started. Andy Maleh |
Why Bundler Checksums Are a Security Game-Changer — As the source of many of our code’s dependencies, the RubyGems system is a potential vector for security issues. Bundler 2.6 introduced checksum verification as a way to at least ensure the gems you install are identical to the ones recorded in Maciej Mensfeld |
What is Kevin Murphy |
Escaping Ruby's Gem:SafeMarshal Sandbox — Luke Jahnke |
Back Away from the Backlog 🛑 — Your product doesn’t need bloat. Simplifying drives bigger outcomes, happier teams, and real impact. Learn how to start now. Test Double sponsor |
📄 How to Set Up a Basic Sinatra + React Webapp – The barebones steps needed to spin up a Sinatra backend serving up a React frontend using Vite and Tailwind for building basic Ruby + React apps. Peter Cooper 📄 Lessons Learned Migrating My SaaS App to Rails 8 – Comparing Kamal to Dokku, the removal of Redis, and using a custom compressor for Rails’ cache. Paweł Urbanek 📄 What's Involved in Getting a 'Modern' Terminal Setup? Julia Evans |
🛠 Code & Tools |
Superglue 1.0: A Way to Bring Rails and React Together — Superglue is a library for bringing Rails and React closer together in a way that feels as natural as Rails’ default Hotwire and Stimulus-based approach to the frontend. Thoughtbot |
SyntaxFinder: Analyze Your Ruby Scripts with Prism — A new tool being worked on by Ruby core team member ko1 to find syntax patterns in Ruby code using the new Prism Ruby parser. Koichi Sasada |
☢️ Tech Debt, Performance or Dev Process Problems in Your App? — Our Application Assessment service can help you figure out how to deal with them. SINAPTIA sponsor |
Campsite: A Large Rails + JavaScript SaaS App Goes 'Source Available' — Campsite is/was a webapp offering something akin to a Slack-style interface to forum-like posts for team communication. It’s a good example of a fully fledged, commercial Rails app with lots of moving parts and a surprising number of best practices, if you’d like to see how such apps are built. (Note: They say it’s now ‘open source’ but it’s really Creative Commons NonCommercial licensed.) Campsite Team |
Yake 1.2: A DSL for Writing AWS Lambda Handlers Rake-Style — It includes the ability to write Sinatra style routes and feels like an idiomatically Ruby-ish way to work with AWS’s serverless platform. Alexander Mancevice |
|
|