#406 — July 5, 2018

Read on the Web

Ruby Weekly

Running JRuby on the Graal JIT — Graal is the highly-optimized JVM extension that TruffleRuby runs upon, but it brings some impressive performance gains to JRuby too.

Charles Nutter

Ruby Memory Environment Variables: Simpler Than They Look? — So you want to tweak your Ruby memory settings? Here’s a post that tries to talk you out of it but relents by simplifying where to start.

Noah Gibbs

🔧 Fix Ruby Bugs Like a Boss — Reduce time wasted debugging. Automatically capture errors in Ruby apps. Rollbar detects when code breaks in real-time and provides full stack trace and diagnostic data to help you defeat Ruby errors. Learn more.

ROLLBAR sponsor

How Not to Structure Your Database-Backed Webapps — A breakdown of a paper that studies 12 of the most popular Rails apps looking for and fixing ORM issues.

Adrian Colyer

▶  Your Business Rules Are Objects Too — Have you ever struggled to place a method that seems like it belongs equally well in either of two different classes? In this screencast you’ll learn an approach to resolve this conundrum once and for all.

Avdi Grimm

Ecommerce at Scale: Inside Shopify's Tech Stack — The infrastructure behind Rails’ most popular ecommerce-as-a-service provider. And yes, it’s still running on Rails.

Kir Shatrov

Covered: An Experimental Coverage Tool Using Ruby 2.6 Features — Uses 2.6’s experimental support for RubyVM::AST to parse the source for more complete coverage statistics.

Samuel Williams

💻 Jobs

Ruby Guru? Software Engineer at Bomae, Copenhagen — It's time for us to find a software engineer to join our Copenhagen office who can build a world class technology platform.


Ruby on Rails Developer at X-Team (Remote) — We help our developers keep learning and growing every day. Unleash your potential. Work from anywhere. Join X-Team.


Find A Job Through Vettery — Vettery matches top tech talent with fast-growing companies. Create your profile to get started.


📘 Articles & Tutorials

Writing Testable API Documentation Using APIB and Dredd — An example of ‘documentation-driven development’ that uses tests generated from API documentation.

Piotr Szmielew

Ruby 2.6 Adds Syntax for Endless Ranges — Rather than define a range to infinity, you can now just go (0..)

Taha Husain

A Complete Guide to JSON Serialization in Rails — Comparing various JSON serialization gems and their performance.

Paweł Dąbrowski

Visualizing and Optimizing JS Bundle Size in Rails/Webpacker Apps

Jacek Galanciak

A Lightweight Process for Updating Dependencies That Actually Works

Depfu sponsor

Notes on Writing Service Objects“A few tips about what I think service objects should look like.”

Paweł Świątkowski

Custom Exceptions in Ruby — It’s pretty simple to create exceptions that are informative to your users.

Robert Beekman

▶  Three Ruby Performance Projects — A very technical RubyKaigi talk touching on three different projects to improve Ruby performance.

Vladimir Makarov

Escaping the SPA Rabbit Hole with Modern Rails

Jorge Manrubia

Rails 5.2 Added 'write_multi' Method to Cache Store — So you can set multiple entities in the cache at the same time.

Rohan Pujari

Interview with Bozhidar Batsov, Creator of RuboCopRuboCop is a popular Ruby static code analyzer that can help enforce good practices in your code.

Sider Team

▶  Andy Hunt's Ruby Story — An hour-long chat with the co-author of both the ‘Pickaxe’ and The Pragmatic Programmer.

My Ruby Story Podcast Podcast

Sidekiq-ifying Emails at Reflektive“switching from Delayed::Job to Sidekiq resulted in about a 4.5x improvement in throughput”

Julia Chou

🔧 Code & Tools

Snibox: A Self-Hosted Code Snippets Manager — Built in Rails and has an attractive tag-oriented interface.


Eps: Linear Regression for Ruby

Andrew Kane

Sym: A CLI and Ruby API to Encrypt and Decrypt Sensitive Data

Konstantin Gredeskoul

Manifold Is the Marketplace for Independent Developer Services — Manifold brings together the best cloud services from every category you need to power your application.

Manifold sponsor

WIP: Promote Webpacker to the Default JavaScript Compiler for Rails 6 — I think we can all say a collective “Yay!”


OpenProject: Open Source Project Management Software — A long standing project built on Rails.

OpenProject Foundation

cache_with_locale: Automatically Add Locale to Your Cache Keys

Igor Kasyanchuk