#402 — June 7, 2018

Read on the Web

Ruby Weekly

Ruby 2.6 Preview 2 Released — Another step closer to Ruby 2.6 with this feature packed preview which includes a JIT compilation feature you can play with, the RubyVM::AST module for parsing Ruby code, the then alias for yield_self, infinite range syntax, new constant naming rules, the exception keyword arguments, and more.

Yui Naruse

Stripe is Building a Ruby Type Checker — It’s called Sorbet and Stripe presented it at RubyKaigi. It’s a serious project (9 month of work by 3 people) and there are plans to open source it eventually.

Kristian Freeman

Slow Rails Test Suite? Make It Run in 2 Minutes or Less — Automatically parallelize large Ruby test suites in one click. Deliver working code faster with Semaphore Boosters — no configuration required.

Semaphore sponsor

http.rb is Great and Here's Why — Janko details why http.rb (aka. httpa) is his favorite Ruby HTTP client library, making a very compelling argument.

Janko Marohnić

An Analysis of Memory Bloat in Active Record 5.2 — You may not be surprised to learn Active Record allocates more objects than it should, but how many more objects is a bit shocking. Sam concludes that “we need to carefully review Active Record internals and consider an implementation that allocates significantly less objects per row.”

Sam Saffron

▶  Use "barewords" to Embrace the True Power of Late-Binding — In a newly-free (and very popular) episode of RubyTapas, learn how to use “barewords” for decoupling names from their sources of information.

Avdi Grimm

An Initial Ruby 2.6 Preview 2 Benchmark — Thibaut updated a Kiba ETL benchmark and ran it against 2.0, 2.5, and 2.6 and raw 2.6 gives a 17.7% improvement over 2.5.

Thibaut Barrere

What's Been Happening at RubyKaigi 2018 — Ground reports from Sendai, Japan where Ruby’s home conference, RubyKaigi, has been taking place. I found day 2 to be the highlight, particularly Koichi Sasada’s talk on the Guild prototype.

Prathamesh Sonpatki

Some Favorite Ruby Community Resources — Aww shucks… we made the list. 😊

Nick Schwaderer

💻 Jobs

Sr. Fullstack Engineer (Remote) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work.

Sticker Mule

Senior Software Engineer at Redbubble — We provide a unique work environment for our full-stack devs; with pair programming. Our team values feedback & high code quality.


Ruby Expert? Sign Up for Vettery — Vettery matches top tech talent with fast-growing companies. Take a few minutes to join our platform.


📘 Tutorials

Unassociated Records in Rails 5 — Ever want to get all the records that don’t have any records for a given association? Rails 5 has made it a bit easier.

Cam Pedersen

Examples of Some 'Hidden Jewels' in Ruby's Standard Library — Things like Abbrev, Zlib, and DRb.

Paweł Świątkowski

▶  How to Enable Direct Uploads with ActiveStorage

Go Rails

Interesting Problems: Mondrian — Using Ruby to recreate a work of art by Piet Mondrian.

Ryan Davis

Coding Sidekiq Workers the Right Way — If you ever worked on an application that has Sidekiq workers then it’s likely you wish you had read this beforehand.

Raphael Jambalos

Conditional Execution with a DSL in Ruby — A small DSL using success and failure callbacks makes for a cleaner interface.

Andrey Koleshko

Ruby's Redo, Retry, and Next Keywords — Do you know the difference? We’ll give you a retry if not…


Using Concurrent Ruby in a Rails App — Learn how to not swallow exceptions when using Concurrent Ruby’s Futures and avoid hard-to-find bugs in multi-threaded code.

Midhun Krishna

Rails 5.2 Adds allow_other_host Option to redirect_back Method — Avoid redirecting away from your site in certain situations, if you wish.

BigBinary Blog

Write Better Code. Free 10-Day Pass to Sharpen Your Ruby Skills>>

Pluralsight sponsor

Quick Tip: Make Big Numbers More Readable in Ruby

Avdi Grimm

🔧 Code & Tools

Rubex: A Ruby-like Language for Writing Ruby C Extensions


Track Ruby Performance in Real-Time — Get full-stack monitoring and alerting for Ruby apps and 200+ infrastructure integrations. Try Datadog free.

Datadog sponsor

Asynchronize: Easily Make Multiple Methods Asynchronous — Make methods asynchronous, using threads, with a single definition.

Kenneth Cochran

DeepPluck: Pluck Attributes From Nested Associations — Now supports Rails 5.2.

Rumble Huang