#396 — April 26, 2018

Read on the Web

Ruby Weekly

Top 10 Errors From 1000+ Rails Projects (and How to Avoid Them) — Analysis of the ten most common errors from over 1000 Rails projects monitored by Rollbar, along with advice on avoiding such errors yourself.

Phil Nash

Bringing Proper Pattern Matching to Ruby — A presentation at RubyKaigi proposed a way to add pattern matching to Ruby but how could (and should) it be implemented?

Victor Shepelev, Brandon Weaver, et al.

Slow CI Build? Make It Run in 2 Minutes or Less — Semaphore Boosters automatically parallelize large Ruby test suites with split-second precision. Deliver working code faster — no configuration required.

Semaphore sponsor

Ruby’s New Infinite Range Syntax — Ruby 2.6, due for a final release later this year, will include a new syntax denoting an infinite range that looks like (0..)

Shannon Skipper

The Rails Hosting Survey 2018 Results Are Out — The latest results from a biennial survey of Ruby developers (this time from 72 countries!) are out. Rubocop leads the way in code quality, and Devise has the honor of being in both the top 5 loved and frustrating gems(!)

Planet Argon

Slidedeck: The Future of Rails 6: Scalable by Default — Code-rich slides from RailsConf tackling the future of parallel testing and enabling multiple database access by default.

Eileen M. Uchitelle

Taming Rails Memory Bloat“I’m convinced that tuning glibc is a no brainer. Set MALLOC_ARENA_MAX=2 everywhere you start Sidekiq and enjoy your extra memory.”

Mike Perham

JRuby Released — A minor release but a good excuse for us to share news that JRuby 9.2 with Ruby 2.5 support is just around the corner. When it drops, we'll link it.


Exploding Rails: A New Book on Breaking Down Rails Apps — A (paid) e-book from Ryan Bigg (of Rails Guides fame) on breaking an app’s responsibilities into smaller, easier to manage classes.

Ryan Bigg ebook

💻 Jobs

Ruby Developer for Cloud Security Service — Looking for a talented Mid/Senior Ruby developer with strong web security knowledge and experience.

Cisco Systems

Ruby Expert? Let Your Dream Job Find You — Top developers can get 5+ interview requests during their first week on Vettery.


📘 Articles & Tutorials

Direct, Secure Rails Client-Side File Uploads to AWS S3 Buckets — This post uses Fog and runs through basic uploads as well as using some more advanced AWS features.

Paweł Urbanek

Using Singleton Objects as Default Arguments — A way to tell if a parameter based upon an optional argument is truly nil or not.

Robert Pankowecki

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

Datadog sponsor

Explicit Contracts for Rails: An HTTP API Usecase — Using Rails configuration and simple mocks for third party APIs can clean up test cases and code quite a bit.

Tomas Valent

On Dealing with Deep Hashes in Ruby using XF — Xf is a gem for transforming and searching deep hashes, inspired loosely by ‘lenses’ in Haskell.

Brandon Weaver

Rails' Built-In Cache Stores: An Overview — Memory, Memcached, Redis, or even disk.. but which suits what situation?

Jeff Kreeftmeijer

Event Sourcing Made Simple — Kickstarter wanted to use Event Sourcing but needed a fast and simple approach, so they built something of their own.

Philippe Creux

Testing Example Code In Your Jekyll Posts — A plugin that allows you to keep code separate from Markdown.

Tom Dalling

Rails 5.2's Date#prev_occurring and Date#next_occurring — .. to find the next Thursday or previous Friday, say.

Sushant Mittal

🔧 Code & Tools

A Nokogiri Cheat Sheet — Nokogiri is a popular way to work with HTML and XML from Ruby and while this cheat sheet isn’t new, I’ve found it handy recently.

John F. Douthat

dotenv: A Gem to Load Environment Variables from '.env' — A long time Ruby classic which has seen some releases in the past few weeks and now supports Rails 5.2.

Brandon Keepers

DigitalOcean’s High-Performance Platform—Without the Billing Surprises

DigitalOcean sponsor

Embedded: Persist Value Objects in Active Record Attributes

Juani Villarejo

Database Cleaner: Strategies for Cleaning Databases in Ruby — The long established tool has received a bit of a cleanup itself in the past few weeks.

activerecord_where_assoc: Conditions for your Associations

Maxime Lapointe

from the Rails Hosting Survey 2018