#​648 — April 6, 2023

Read on the Web

Together with  Retool logo

Ruby Weekly

Ruby 3.2.2 (and Friends) Released — Last week, we mentioned a ReDOS vulnerability in URI – releases of Ruby 3.2.2, 3.1.4, 3.0.6 and 2.7.8 have been released in response to this, as well as a ReDoS vulnerability in Time. With these releases, the 3.0 branch goes into a year-long security maintenance phase, and 2.7 goes EOL.

Yui Naruse

What Does Ruby Central Do? — Ruby Central has historically been known for organizing RubyConf and RailsConf, but after their 2020 merger with Ruby Together, their work goes beyond that, through to maintaining RubyGems and Bundler, paying contributors, and broadly contributing to the ecosystem’s ongoing success.

Ruby Central

Build Developer-First Automations with Retool Workflows — Retool Workflows gives you a code-first way to power automations across your entire data stack. Connect to any database or API, customize logic with JavaScript or Python, and transform one-off scripts into automated tasks––no extra infra required.

Retool sponsor

▶  The Worst Single Page Rails 7 App You'll Ever See — As a bit of April Fools related fun, Dean tried to create the worst Rails 7 app ever by jamming everything possible into the view rather than following Rails’ usual conventions. As well as being fun, it's a reminder of just how flexible Rails is, though perhaps don’t do this for real.. (12 minutes.)

Dean DeHart

Ruby Bytes, or Generating Standalone Generators — You may have heard of Rails Bytes, a repository of app templates for Rails. Ruby Bytes is similar, but for non-Rails Ruby apps.

Vladimir Dementyev

QUICK BITS

📕 Tutorials, Articles, and Videos

▶  The Rubyist's Survival Guide to Elixir and Phoenix — A delightfully thorough introduction to the Erlang ecosystem language that takes a lot of inspiration from Ruby.

Benjamin Porter

Ruby Numbers and the Memory: How I Got Confused — Understanding how Ruby handles memory for certain objects could help you size up any memory issues before they happen.

Evgeniy Demin

Free eBook: Efficient Search in Rails with Postgres — We walk through using exact matches, similarity matches with trigrams, partial matches with ILIKE, and natural language matches.

pganalyze sponsor

▶  What Being a Staff Developer Means at Shopify — Rose Wiegley joined Jemma Issroff on the Ruby on Rails Podcast to talk about the experience of working at Shopify and keynoting RubyConf Mini.

The Ruby on Rails Podcast podcast

If this topic seems familiar, last week we linked to Rose's article on the same topic.

Why You Should Speak at Conferences — Since there are so many Ruby ones coming up.. :-)

Rishi Jain (Ombulabs)

Making Sense of Taxes in SolidusSolidus is a Rails-based ecommerce system.

Jared Norman

How to Use the rodauth-omniauth Gem in Ruby
Abiodun Olowode

Hosting a Static Jekyll Site on AWS S3 with CloudFront
Jason York

🛠 Code & Tools

Goru: Concurrent Routines for Ruby — A new, experimental, Go-like concurrency library, including channels that are not backed by threads or fibers. As the author says: “Goru routines are just blocks that are called once for every tick of the reactor. It is up to the developer to implement behavior in terms of a state machine, where on each tick the routine takes some action and then updates the state of the routine for the next tick.”

Bryan Powell

Webmachine 2.0: An Alternative HTTP Toolkit — Unlike frameworks like Sinatra, which create a response by running a predefined procedure when a request is received, Webmachine creates HTTP responses by determining a series of “facts” about the resource using a state machine. An interesting, if decidedly alternative, approach.

Webmachine

🚨 Introducing User Feedback from Honeybadger — Let users tell you what happened in their own words when encountering an error. See how it works.

Honeybadger sponsor

Loofah 2.20.0: Nokogiri-Powered HTML/XML Manipulation and Sanitization — A library manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiri, that also includes HTML sanitizers based on html5lib’s safelist.

Mike Dalessio

Discord Messenger: Quickly Send Messages to Discord Channels — Not a full featured Discord library (you want discordrb for that) but a very simple way to send a message to a channel using a Discord webhook.

Ian Trent

ActiveStorage Validator 0.3 — Validate binaries uploaded via Active Storage for presence, content type (is this an image?) and file size.

Aki

Jobs

Senior Backend Engineer (Remote - EMEA) — Booqable prides itself on being a global company with team members working together from across the world. We are remote-first, so you can join us from wherever you are.
Booqable

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