#​562 — July 22, 2021

Read on the Web

Ruby Weekly

Benchmarking Your Ruby with time_uptime_up is a new benchmarking gem that makes creating multiple timers as easy as clicking a stopwatch. The gem also has some nice printing and display capabilities. Time to try it out…

Justin Searls

Fullstaq Ruby: A Production-Optimized CRuby Distribution — We featured this alternative CRuby/MRI-based Ruby distribution over a year ago when it was new, but it’s now been updated with Ruby 3.0.2, 2.7.4, and 2.6.8 variants. The basic idea is memory allocation is jemalloc-based which can yield big benefits in production at scale.

Hongli Lai

Try Scout’s New Error Monitoring Feature Add-On for Free — Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues in minutes. See for yourself why Scout is a Ruby developers’s best friend with a free 14-day trial, no credit card needed.

Scout APM sponsor

▶  Enjoy Some Talks from Euruko 2021 — We mentioned Matz’s keynote a few issues ago, but forgot to put the spotlight on some more of the talks given at the always excellent Euruko event - there are 18 sessions from 2 days, including things like building high-performance GraphQL APIs and using FFI to building a Ruby web app with just the Ruby standard libraries (from a low level, thinking about TCP and HTTP directly) and the importance of diversity in teams.

Euruko Conference

Crystal 1.1 ReleasedCrystal isn’t Ruby, but it’s a statically type-checked and compiled language whose syntax is heavily inspired by Ruby and is of interest to many Rubyists as a Ruby-friendly way to write certain types of performance dependent code.

Beta Ziliani

IN BRIEF:

  • Ruby For Good, an annual event for getting together to collaboratively build community-focused apps, is taking place this year between September 23-26 in a retreat an hour outside of Washington DC. If you're interested, you can learn more here.

  • Ruby Together's June 2021 update is out.

Jobs

Senior Full Stack Engineer | Remote (US/CA Time Zones) | Full Time — Autonomy + focus time, few meetings per week. Work on a product for optimizing Postgres queries. Postgres | Go | TypeScript | Ruby | Rust.
pganalyze

TravelJoy | Engineer #6 | Full-Stack | Remote in USA | Full-Time — TravelJoy is the market network for leisure travel. Thousands of travel agents love and depend on our product every day.
TravelJoy

Find a Job 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

Building a Documentation Workflow in Rails — Making documentation live with your code (known as ‘docs-as-code’) is a good practice to keep docs up to date. Kate Bartolo shows you how while also explaining how to make the docs usable.

Honeybadger Developer Blog

How Release Uses Action Cable and Redux Toolkit — How Release moved to Redux and use it to update the build logs on their static site frontend using Action Cable.

Release

Optimizing MemoWise Performance — We linked to MemoWise in issue 560. Here, Jacob and Jemma explain their ‘Benchmark Driven Development’ approach and what they learned.

Jacob Evelyn & Jemma Issroff

Serve Your Image Library on the Fly, Using a Simple Querystring API — Proxy your browser image requests via OMGIMG and use the querystring to apply resizing and other manipulations you need.

OMGIMG sponsor

Validate CSV Input with ActiveModel::Validations — A look at how to improve the robustness of CSV file ingestion using ActiveModel::Validations.

Kevin Murphy

▶  Using VCR to Mock Your RequestsVCR is a very long standing Ruby tool for recording a test suite’s HTTP interactions so they can be replayed in a consistent, predictable manner in future. This eight-minute screencast is a tight introduction.

Ana Schwendler

Picking The Worst Year to Pitch for Euruko — Matias tells us the epic saga of securing the Euroko conference for Helsinki, only to have the pandemic force a pivot to a first-time online event that turned out fine but taught lessons.

Matias Korhonen

▶  Building with Just What You Need Using Roda with Jeremy Evans — Jeremy Evans, creator of Roda and author of Polished Ruby Programming, joins the Rogues to talk about how to use Roda to build Ruby web apps.

Ruby Rogues Podcast podcast

🛠 Code & Tools

Tangram: An Automated Machine Learning Framework — It’s not solely for Ruby – indeed, it’s written in Rust – but you can train a model from a CSV file and then make ‘predictions’ from Ruby code. GitHub repo.

Tangram

activerecord-cte: Brings Common Table Expressions Support to ActiveRecord — Removes the need to drop to Arel or raw SQL while also providing an ActiveRecord::Relation result.

Vlado Cingel

Has Your Rails 6.1 Prep Fallen Behind? FastRuby.io Can Help

FastRuby.io | Rails Upgrade Services sponsor

MailCatcher: A Simple SMTP Server with a Web UI to See Mails — It’s eleven years old but has just hit version 0.8 :-) The idea here is you can send email to it and see how it looks.

Samuel Cochran

Bridgetown 0.21.1: Ruby-Powered Static Site Generator — This release includes Webpack 5 support, moves from Babel to ESBuild and more.

Jared White

Listen 3.6.0: 'Listen' to File Modifications and Know About Changes — OS-optimized on each of macOS, Linux, BSD, and Windows, and can detect file modification, creation or deletion in one or more directories.

Guard

dry-monads 1.4.0: Useful, Common Monads in Idiomatic Ruby
dry-rb

Cucumber 7.0: Run Automated Tests Written in Natural Language
Cucumber