#​713 — July 25, 2024

Read on the Web

Together with  Memetria

Ruby Weekly

Major Ruby LSP Enhancements in 2024 So Far — The Ruby Language Server Protocol gem (and VS Code plugin) has been busy this year, adding many, many features and improvements. Stan demonstrates several of these features (in VS Code) along with some coming experimental enhancements to improve your Ruby code editing experiences.

Stan Lo

Memetria: Redis Hosting for Serious Developers — Memetria provides secure, scalable hosting with features that enhance your development experience, including large key tracking and detailed performance metrics. Keep your production apps fast with better and uptime.

Memetria sponsor

IN BRIEF:

📄 Articles & Tutorials

Understanding Hash Value Omission — This feature was added in Ruby 3.1 and has its detractors, but Lucian explains the rationale and some use cases that may have you not omitting it in your code.

Lucian Ghinda

💡 Want to dig deeper? Victor Shepelev wrote about the feature last year.

What's Coming in Rails 7.2: Database Features in Active Record — These include minor composite-primary key changes, better instrumentation for transactions, and other transaction changes to benefit queuing use cases (for Solid Queue).

Andrew Atkinson

Rails + AI: Turn Ideas into Apps. Book a Meeting — Struggling with AI integration in Rails? We use (OpenAI, Claude, AWS Bedrock etc) to build amazing Rails Apps. Let's discuss yours!

reinteractive::Custom AI integrations with RoR sponsor

Event Sourcing Simplified: Building a Basic Event-Driven System — Event sourcing is a pattern that can feel simultaneously very useful and complex. Luckily, it’s possible to start small and pare down the implementation to get the benefits without team-crushing complexity.

Matt Swanson

The librdkafka Supply Chain Breakdown: rdkafka's Darkest Hour — A retrospective on an incident caused by an open source library (librdkafka) suddenly going private, stunting the ability to do rdkafka-based deployments. Lessons about dependency management and immutable builds lie within.

Maciej Mensfeld

📄 Persistent Redis Connections in Sidekiq with Async::Redis Alexey Ivanov

📺 How to Engineer Your Dev Blog Posts to Have Bigger Impact – From a Postgres perspective, but the advice is universal and well explained. Claire Giordano

📄 How to Review Code Effectively: A GitHub Staff Engineer’s Philosophy Sarah Vessels (GitHub)

🛠 Code & Tools

bundle_update_interactive: Adds an update-interactive Command to Bundler — This gem installs an update-interactive command for Bundler that mirrors the yarn command by the same name. Shows a list of out-of-date gems and lets you pick which ones to update.

Matt Brictson

Get Process Memory: Get the Memory Usage of a Process — It could be your current Ruby process, a process you’ve spawned, or anything you have the process ID for. Uses different techniques to support macOS, Linux, and Windows.

ZomboCom

UpgradeRails.com is Now a Test Double Operation 💚 — The folks at Hint trusted Test Double to carry on an incremental approach to Rails upgrades. Make scary things boring.

Test Double sponsor

🗓️  Ice Cube 0.17: A Date Recurrence Library — Let’s say you want to know when every Friday the 13th that falls in October is, Ice Cube will give you the dates or let you query dates or date intervals against that rule.

John Crepezzi

Puma Worker Killer: Automatically Restart Cluster Workers Based on Available Memory — Remember the days of running Rails with FastCGI and frequent app restarts? Those days are gone, but if you’re encountering memory issues and are using Puma, this could get you out of a bad spot temporarily.

ZomboCom

⚙︎ RuPkl: A Pkl Parser Library for RubyPkl is a flexible, transpilable configuration language. Taichi Ishitani

⚙︎ Awesome Regex: A List of Regular Expression Tools, Tutorials, and Libraries Steven Levithan

  • Pagy 9.0 – The popular pagination system for Ruby apps.

  • ActiveRecordExtended 3.3 – Adds additional Postgres functionality to an ActiveRecord / Rails app. Now supports Rails 7.2 and adds Rails 7.1 CTE join compatibility.

  • 🔒 Ronin 2.1 – A popular, Ruby-based toolkit for security research and development.

  • ImageProcessing 1.13 – High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick.

  • Spreadsheet Architect 5.0.1 – Create XLSX, ODS, or CSV spreadsheets from Ruby.

  • Ollama AI 1.3 – Interact with Ollama to run LLMs locally.

  • Mechanize 2.11 – Library to automate web interactions.

  • Rodauth 2.36 – Advanced auth framework.