đŸ‡ș🇩 #​599 — April 14, 2022

Read on the Web

Ruby Weekly

Performance at GitHub: Deferring Stats with rack.after_reply — GitHub was originally founded in the Ruby world and based entirely around a Rails app. Their platform has expanded somewhat now, but Ruby code is still at the heart of many of their apps and Rack’s little known rack.after_reply has been helping keep their latency numbers down.

Blake Williams (GitHub)

Ruby 3.1.2 Released (and 3.0.4, 2.7.6, and 2.6.10) — A flurry of new releases to (mostly) fix two security vulnerabilities: a double free vulnerability in regex compilation (3.x only) and a buffer overrun vulnerability in String to Float conversion.

Yui Naruse and Yusuke Endoh

Free eBook: Efficient Search in Rails with Postgres — In this eBook, Leigh Halliday explains how to speed up a search query from seconds to milliseconds — walking through using exact matches, similarity matches with trigrams, partial matches with ILIKE, and natural language matches.

pganalyze sponsor

Recently in Ruby Core — A summary of some of the issues proposed to Ruby core which touch areas from garbage collection to pretty-printing enhancements. If you want to get involved (or just get more knowledgeable), dig in.

Gernot Gradwohl

Quick Bits:

  • JRuby fan? Charles Oliver Nutter will be at RailsConf presenting JRuby 9.4 which will be Ruby 3.1 compatible and be able to run Rails 7. Fantastic!

  • JetBrains has unveiled the latest release of their commerical Ruby IDE: RubyMine 2021.1.

  • After going 'end of life' two weeks ago, Ruby 2.6.10 (already mentioned above) is the final release of the Ruby 2.6 series.

  • Last year, Rubyist Josef Strzibny released Deployment from Scratch, a paid ebook on deploying Ruby and Python apps. Now, he reflects on a year of sales and the process of creating an infoproduct. Would he self-publish again? Yes.

  • I've been hearing a lot of good things about Sin City Ruby, a Ruby event that took place in Las Vegas in March, and the ▶ latest episode of Remote Ruby has been devoted to it.

  • Airbrake, an error monitoring service popular in the Ruby space, has presented a 2022 'error data' report sharing a few findings relating to, mostly, Ruby-based projects.

Jobs

Full Stack Engineer - React/Rails (Remote) — Got 5-7 years of experience? We're seeking an engineer that writes accessible, scalable and maintainable code that enjoys the product side of development to join our Onboarding team.
ConvertKit

Senior Ruby On Rails Developer — Our profitable & growing startup is looking for developers interested in working on tools to handle big data scaling challenges.
Sensor Tower

Software Engineer - Feature Engineering (Remote) — Join a small team building solid, simple solutions for DNS & domain management. 100% remote, diverse & proud of the tools we make.
DNSimple

Find Ruby Jobs Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

📕 Articles & Tutorials

Different Ways to Set Attributes in Active Record — A Rails 7 oriented cheat sheet comparing the behaviors around various ways to set attributes.

Scott Bartell

Releasing a Redesign using Feature Flags and Rails Variants — Variants is a core Rails feature that makes it easy to trigger an alternative template under conditions of your choosing. Coupled with feature flags, it gives a safe and controllable way to roll out a new design.

Ari Summer

How Environment Variables Can Make Your Ruby Test Suite 'Flaky' — Environment variables can help manage config in any application. But Ali shows they can also make test suites more fragile.

Ali Ibrahim

Flaky Tests Slowing You Down? BuildPulse Can Help

BuildPulse sponsor

Introducing erb2builder: An HTML+ERB Parser — Built as part of a no/low-code Ruby platform using Nokogumbo, treetop, and the parser gem, it’s not perfect, but an interesting starting point. Included here, rather than in the ‘code’ section, as the author focuses mostly on how it works.

Lucas Luitjes

▶  Rails Flash Messages in the Hotwire Era
Cezar Halmagean

A Slice of Life: Table Partitioning in PostgreSQL Databases
Shakirov, Lifanov, and Turner

Postgres Transaction Pitfalls for Rails Developers
Aboobacker MK

🛠 Code & Tools

Opal 1.5: The Ruby to JavaScript Compiler — v1.5.0 is an evolutionary rather than revolutionary release, but increases performance and extends support further. binding.irb is now supported both in browsers and Node.js. GitHub repo.

Adam Beynon and Contributors

RbSyn: Program Synthesis for Ruby — This is a curious idea but steeped in a long history of program synthesis in computer science over the years. Essentially, you provide RbSyn with a specification in the form of tests, type and ‘effect annotations’ and a Ruby function that will pass the tests is returned.

Sankha Narayan Guria

Complete Peace of Mind Rails Hosting — If you need hands-off, rock solid hosting for your Rails app, OpsCare is for you. We keep your app running, 24 hours a day, 7 days a week with a worldwide team.

OpsCare by reinteractive sponsor

Silencer: Easily Suppress the Rails Logger — On a per-action basis, too.

Steve Agalloco

Mobility: Pluggable Ruby Translation Framework — Supports both Active Record and Sequel.
Chris Salzberg

CreditCardValidations 5.0: Gem for Validating Card Numbers
Igor Fedoronchuk

Biggs: A Library for Formatting Postal Addresses from 60+ Countries
Sebastian Munz

Sidekiq-Cron 1.3.0: A Cron-Like Scheduler for Sidekiq Jobs
Ondƙej Bartas