#487 — February 6, 2020

Read on the Web

Ruby Weekly

▶  An Interview with David Heinemeier Hansson, the Software Contrarian — The creator of Rails talks about his relationship with Ruby, and why single page apps, microservices, and standups are not for him. 63 minutes.

CoRecursive Podcast podcast

Exploring Big-O Notation with Ruby — ‘Big O’ notation is used to express algorithmic complexity and it’s a handy concept to know as a developer (and not only for job interviews).

Honeybadger Developer Blog

Because Reading Error Logs Is Not a Hobby — What would you do with more time in your day? Honeybadger combines uptime, check-in, and error monitoring so you can spend less time debugging and more time doing what you actually love. Reclaim your time by clicking here.

Honeybadger sponsor

Error Handling with Monads in Ruby — Lots of history here, but monads are a nice way to handle tracking the success or failure of calls in your app.

Vitaly Pushkar

The Missing Semester of Your CS Education — Not Ruby specific, but too good to miss, IMHO. Three PhD students at MIT have put together a set of resources and lectures covering ancillary, but still important, topics that aren’t always covered in formal CS education, mostly around using and organizing your tools, version control, debugging, etc.


💻 Jobs

Ruby on Rails Engineer at Buildkite (Remote) — We’re looking for an Engineer that can influence all corners of our product and help shape a tool that thousands of devs use every day.


Senior Software Engineer (Remote/Montreal) — Stamped is reshaping the future of accounting by automating clerical work with tech and machine learning. Rails, Python, JS and React.

Stamped Technologies

Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.


📘 Articles & Tutorials

How to Pass Arguments to Methods in Ruby and How It Affects Their Arity — I bet you know about all the different kinds of method arguments: required, optional, variable, keyword, block…but do you know how each affects the arity of a method?

Saeloun Blog

Deploying a Rails 6 App with DokkuDokku is a PaaS implementation you can deploy on your own servers. Imagine Heroku, but under you own control.

Karol Bąk

Backward-Compatible Database Migrations — A mixture of story and tip that you might find useful if database migrations on live apps have ever given you the blues.

Tute Costa

▶  How to Ask For The Job, with Brian Mariani — A follow up to a previously popular interview with the founder of a Ruby and Rails focused recruiting firm, this time talking about how to approach salary negotiations, finding a job as a Rubyist, and what the whole recruitment process is like.

Ruby on Rails Podcast podcast

Handling and Customizing Ruby 2.7 Deprecation Warnings — Two weeks ago we linked to ruby-warning which makes this process easier to work with.


JetBrains RubyMine: A Cross-platform Ruby & Rails IDE — Go to any object with one click. Refactor with one shortcut. Apt GUI for tests and debugging.

JetBrains sponsor

What Kinds of Rails Tests I Write and What Kinds I Don't — Model and acceptance, good. Request and view, bad?

Jason Swett

Lambdas Are Better Than Procs — Put differently, lambdas are more like methods and, as such, easier to handle.

Keith Bennett

Pay No Attention: Behind the Magic of Ruby DSLs — Another dev discovers method_missing, one of the sharper knives in Ruby’s metaprogramming drawer.

Atomic Object

Dockerizing a Rails Application

Nick Janetakis

Gemifying Your Style Guide to DRY Your CSS

Cleiviane Costa

🛠 Code and Tools

ruby_detective: Investigating Your Ruby Code Dependencies — A gem that parses your code, finds its dependencies and outputs an interactive .html file that you can use to explore the dependency network of the code.

Victor Marques

tty-exit: Human-Friendly Terminal Exit Codes — So, think exit_with(:usage_error)

Piotr Murach

Counter Culture: 'Turbo-Charged' Counter Caches for Rails Apps — Boasts improvements over standard Rails counter caches.

Magnus von Koeller

The Tool That Shopify and Rails Uses for Faster and More Reliable CI

Buildkite sponsor

Ruby/Git: A git Wrapper for Use from Ruby — I feel I’d turn to this if building my own developer tools that needed to use git under the hood, especially as it continues to see updates.

Scott Chacon

VCR 5.1: Record Your Test Suite's HTTP Interactions and Replay Them — A long standing library for recording HTTP interactions and replaying them during testing (so that your tests aren’t relying upon brittle third party services). This is a pretty minor upgrade but it’s great to see it still living.


OctoLinker: Links Together What Belongs Together in GitHub Repos — A browser extension for GitHub power users that turns import and require sources into links to the original source. Here’s a demo to see if you like the effect. Supports many other languages than Ruby too.


ParallelTests: 2 CPUs = 2x Testing Speed for RSpec, Test::Unit and CucumberDrifting Ruby did a neat screencast intro to this a while back.

Michael Grosser