#​714 — August 1, 2024

Read on the Web

🏖️ Hey! Just a quick note to say that we're taking next week off for a brief summer vacation. We'll be back with our next issue on August 15.
__
Peter Cooper, your editor

Together with  JudoScale

Ruby Weekly

How It Became Like This? Ruby's Range Class — An exploration of one of Ruby’s core classes — specifically the Range type and its associated syntax, looking at how it works and how its behavior has evolved over time.

Victor Shepelev

Developer’s Guide to Heroku Dynos — Which dynos should you use, and how many? (TLDR: Don’t use Perf-M!)

Judoscale sponsor

Heroku Ruby Cloud Native Buildpack (CNB) Tutorial — A 2024 update for Heroku’s tutorial for building a Rails app image with no Dockerfile required. And, no, you don’t need to use Heroku to run or deploy it (indeed it runs locally).

Heroku

IN BRIEF:

📄 Articles & Tutorials

Multiplayer Minesweeper with Rails and Hotwire? — We recently featured a post about implementing Minesweeper in 100 lines of Ruby, but what if we could make it multiplayer? Radan pulls it off, with a live demo now up at MinesVsHumanity. There might be a game in action if you’re lucky..

Radan Skorić

Implementing Semantic Search in a Rails App — The idea is that you use OpenAI’s API to create embeddings of content, the Neighbor gem to search them, and Anthropic’s Claude API for summarization.

Robert Ross

🌳 Need to Upgrade to Ruby 3.3 on a Budget? Try Bonsai by FastRuby.io — Stuck on Ruby 2.7? Stop postponing your upgrade; ship it with our fixed-cost monthly maintenance service. 🚀

Bonsai By FastRuby.io sponsor

📄 How to Use Stimulus in your Rails Apps with RubyMine Darya Sharkova

📄 Flaky Tests? Check your FactoryBot IDs Brooke Noonan

📺 Turbo Streaming: Broadcasting over WebSockets Explained Arkency

📄 Rails 7.2 Adds Support for Devcontainers Prasanth Chaduvula

📄 Highlights from Git 2.46 Taylor Blau (GitHub)

🛠 Code & Tools

IRuby: A Ruby Kernel for Jupyter NotebooksNotebook interfaces make it easy to do literate programming where you see results immediately like a REPL but with persistence and control over the formatting of the source code. Common in the Python world, IRuby brings Ruby into the picture too.

Ruby Science Foundation

💡 Nithin Bekal also wrote a tutorial on using IRuby last year.

ERB Lint: A Linter for ERB and HTML Files — Includes a variety of default linting rules for detecting bad syntax, stray newlines, unauthorized script tags, and unsafe interpolation.

Shopify

Your Fastest Path to Production — Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.

Render sponsor

ScreenRecorder: Record your Screen from Ruby — It uses FFmpeg behind the scenes but is controllable from Ruby and might be something you’d want to integrate with an automated UI testing run, say.

Lakshya Kapoor

  • Mechanize 2.12 – Library to automate web interactions. v2.12 introduces experimental support for handling Brotli-compressed responses.

  • Passenger 6.0.23 – The popular app server improves its Rack 3 support.

  • Discourse 3.3 – The Rails powered forum system / community platform.

  • RBS::Inline 0.6 – Write RBS type declarations inline with your code.

  • Solid Cache 0.7 – Database-backed Active Support cache store.

  • Faraday 2.10.1 – Flexible, multi-backend HTTP client library.

  • Torch.rb 0.17 – Libtorch-powered deep learning for Ruby.

  • Rage 1.7 – HTTP API framework compatible with Rails.

  • Stripe Ruby 12.4 – Ruby library for the Stripe API.

  • ruby-pg 1.5.7 – The Ruby Postgres client.

We're now away for a week but will be back on August 15 – see you then!