#459 — July 18, 2019

Read on the Web

Ruby Weekly

regexp-examples: Generate Strings That Match a Given Regular Expression — This isn’t new but it’s just had a update to support the latest Ruby and I’ve always loved the idea. Given a regular expression, use the examples method to see some strings that would match the expression. For example: /ab+/.examples == ['ab', 'abb', 'abbb']

Tom Lord

GraphQL on Rails: On The Way to Perfection — The conclusion to a three part series (part one is here) on building GraphQL-based apps with React and Rails. This last outing focuses on some significant refactorings, including real-time updates with ActonCable.

Dmitry Tsepelev and Polina Gurtovaya

See Why Chef’s CTO Chose strongDM — Adam Jacob says “strongDM takes the friction out of getting end users access to the systems they need.” Zero trust access to any database, server or k8 cluster. Click here to try for free.

strongDM sponsor

▶  Aaron Patterson Goes Deep on the Ruby RuntimeSoftware Engineering Radio is a very popular developer podcast backed by IEEE and last week they sat down with core Ruby and Rails team member Aaron ‘tenderlove’ Patterson to dig deep into Ruby’s runtime, its construction, its VM, garbage collection, JIT, and more. A worthwhile hour if you want to get an idea of what’s going on under Ruby’s hood.

Software Engineering Radio podcast

Goodbye ActiveRecord! — Hello ROM! Aircall broke their Rails monolith into service using Rails, Sinatra, and ROM. Here’s why they chose ROM over ActiveRecord.

Julien Amoros

Lefthook, Crystalball, and Git Magic for a Smooth Development Experience — Use git hooks to stop pushing broken code and automate updating gems and database migrations between branches to save time and headaches.

Andrey Novikov

💻 Jobs

Senior Software Engineer (Santa Barbara or Remote) — Join a team where everyone is striving to constantly improve their knowledge of software development tools, practices, and processes.

Invoca

Ruby on Rails Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.

X-Team

Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.

Vettery

📘 Articles & Tutorials

How We Migrated To Turbolinks Without Breaking JavaScript — Turbolinks, first introduced in Rails 4, made it easy to make server-rendered Rails apps feel a little more like single-page apps.

Starr Horne

Puma 4: Hammering Out H13s – A Debugging Story — Richard Schneeman always has great debugging stories. Here, Puma was mishandling requests at scale for some apps and another debugging adventure ensued.

Heroku

The Ruby Security Handbook — Learn all the latest best practices to help you protect your Ruby applications. Download the cheat sheet about Ruby security.

Sqreen sponsor

Using strftime in a Rails View is a Mistake — You really want to be refactoring out those time formats into a better place.

Andy Croll

Minimum Viable Example of Calling Rust From Ruby without a Gem — Spoiler.. you have to use some C.

Sam Phippen

Adding devise_token_auth to An Existing Rails App — I thought the devise_token_auth gem was deprecated, but it’s still under active development and integrates seamlessly with many javascript frameworks.

Raghu Bhupatiraju

Rails 6 Adds ActiveRecord::Relation#annotate — Adds comments to AR’s SQL queries. Seems like this could be useful in debugging contexts.

Abhay Nikam

Debugging MySQL Lock Errors in Rails Apps — If you like using monkey patching to debug, read on.

Peter Toth

Dynamic Image Resizing with Ruby and the Serverless Framework

Bryan Killian

🛠 Code and Tools

Montrose 0.10: A Library for Defining Recurring Events — Provides a composable way to model recurring events. For example, give me every Tuesday and Thursday of every week between two dates. You can model that.

Ross Kaffenberger

Wasmer: A Ruby Library to Run WebAssembly Binaries — It’s early days, both for WebAssembly and this project, but we’re sure to see some exciting developments here over time.

Wasmer

Continuous Security Scans for Your Ruby Repos on GitHub

GuardRails sponsor

Ahoy Email: Email Analytics for Rails — Add the ability to track the emails you send from your Rails apps (log of what was sent, plus opens and clicks), as well as add UTM params to links included in them.

Andrew Kane

Transproc: Transform Ruby Objects in Functional Style — Compose procs together in a left-to-right functional style.

Piotr Solnica

A Bare Bones Starter Project for Sinatra Apps — It’s pretty basic but I think I’ll use this as I seem to type all this stuff in for myself every few weeks 😂

JHero23

pg_search: Build ActiveRecord Named Scopes using Postgres’s Full Text Search — Another classic library that has recently had an update.

CaseBook