#524 — October 22, 2020

Read on the Web

💬 If you enjoy the interviews we do from time to time, this issue concludes with a rather perky one with Nick Sutterer of Trailblazer fame!

Ruby Weekly

RuboCop 1.0: The Ruby Static Code Analyzer — After seven (yes, 7) years, RuboCop makes 1.0. Bozhidar (we shared an interview with him back in issue #406) and his team have created one of the canonical Ruby tools. Congrats!

Bozhidar Batsov

Three Ruby Performance Myths: GC and Concurrency — Nate debunks three common myths about Ruby’s performance, putting forth a single reason why Ruby isn’t faster, and it has more to do with another language.

Nate Berkopec

Redis 6.0 on RedisGreen — SSL encryption, key size tracking, memory mapping, online upgrades, and more.

RedisGreen sponsor

Waypoint: A Build and Deploy Workflow System from Hashicorp — HashiCorp began in the Ruby world with Vagrant, a still popular open source tool for (originally) creating VMs. Waypoint is their latest open source project which aims to provide a Heroku-esque build and deploy experience on a wide array of platforms.

HashiCorp

Ruby Together's September 2020 Update — Lots of work has taken place on RubyGems issues in particular.
Ruby Together

📘 Articles & Tutorials

Read-Only Mode For Better Rails Downtime — While there are gems that do something similar, walking through the process of enabling a read-only mode in Rails is interesting.

Chris Toomey

Controlling Superclass Argument Pass-Through — A look at some nuances of using super.

Avdi Grimm

Explaining the Magic Behind Popular Ruby Code — If you’re new to Ruby, articles like this can really help give a sense of Ruby idioms.

Long Live Ruby Blog

How We Estimate the Size of a Rails App — There are a couple of gems that measure dependencies and lines of code, which gives a pretty measure of app size.

Ernesto Tagwerker

Beyond CI: Continuous Rails Upgrade Integration — FastRuby.io's new Stay Up To Date service continually pushes PRs to your repository to ease your future upgrade to Rails 6.1.

FastRuby.io | Rails Upgrade Services sponsor

GitHub Interviews Robby Russell — Robby has been in the Ruby space for many years and is well known for Planet Argon and Oh My Zsh.

GitHub

▶  Rails, Ansible and AWS with Axel Kee — Comparing notes about hosting Rails apps on AWS using Ansible as an infrastructure management tool.

Rails with Jason podcast

Scaling Wootric’s Rails Monolith — The evolution of code reuse from copy/paste to private gems.

Raymond Sohn

Beautifying Ruby Code with #then — Mike takes an approach picked up from Elixir and likes how it improves his Ruby. I’m not a fan, but.. you be the judge :-)

Mike Andrianov

How to Integrate a Bootstrap Theme or HTML Template Into a Rails 6 App
Ruby Yagi

🛠 Code and Tools

Better Git Diff Output for Ruby, Python, Elixir, Go, and More — Making git a little more language-aware is a good (and easy) thing to do.

Tekin Süleyman

Standard 0.8: A Ruby Style Guide, Linter and Automatic Code Fixer — Standard Ruby now tracks Rubocop 1.0 which also came out this week.

test double

Congrats to Matz & Team on Ruby 3x2.7. New Relic 💙 Ruby

New Relic sponsor

retest: A Simple Command Line Tool to Watch File Changes — Retest is made to be easy to install and work on any Ruby project. If you’ve ever fought Guard, Retest might be worth a try.

Alexandre Barret

reCAPTCHA 5.6: ReCaptcha Helpers for Ruby Apps — A way to more easily use Google’s popular (but often controversial) CAPTCHA APIs from Ruby apps.

Jason L Perry

omniauth-facebook 8.0: Facebook OAuth2 Strategy for OmniAuth
Josef Šimánek

💻 Jobs

Senior Ruby on Rails Engineer — We’re building a team that’s passionate about innovation, apprenticeship, and building the best connected experiences.

Connected

Mux Is Hiring Across the Board to Build the Future of Online Video

Mux

Find a Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

ℹ️ Interested in running a job listing in Ruby Weekly? There's more info here.

Nick is a developer, presenter, and lover of pubs who has created numerous tools and frameworks to scratch his itches with Rails.

You have written a few gems that, in short, go around The Rails Way (trailblazer, cells, reform). How come?

Not because I wanted to oppose anything, but I was more interested in enriching Rails with additional layers as I felt it's lacking a lot of necessary abstractions. The Rails Way oversimplifies things and you keep a lot of responsibilities in one big class. I didn't feel that's proper OOP, so I introduced small, clean, encapsulated objects for view components, forms, parsing and rendering, control flow, and now we got Trailblazer as an umbrella project providing more layers for Ruby frameworks.

What do you like about Rails?

Definitely the community! The way this framework unites so many people of so many shades is crazy. When you're discussing how proper encapsulation looks, over the 6th beer in a pub in, say, Lviv (Ukraine), along with a dozen people you met a few hours ago, then you know this community kicks ass. To be fair, I'm happy Rails exists, I'm not a fan of how some parts are done, but over the past couple of years, it's been a great experience providing extensions that do not necessarily interfere with the framework itself. If you had asked me the same question 10 years ago, the answer would've been a different one. ;)

What is your go to web stack these days?

Rails, believe it or not! With the newer versions, it's been simple to strip off unnecessary extensions, and a lot of its tools and tool conventions (not the coding conventions!) are battle-tested and intuitive. For the near future, we're planning on exploring Hanami and dry-system for loading dependencies, but so far all our internal tools are Rails based, sugared with a Trailblazer architecture.

You're a prolific presenter. Name a couple of your favorite presentations you’ve given or venues you’ve attended.

I need to talk to my lawyer - this is a question I cannot answer easily. Every single conf I've been to has been magnificent. Generally speaking, I more and more enjoy giving talks with around 40 slides and a few code snippets to explain. It's more fun to banter and I always hated walking the audience through too much code. With this in mind, a talk I really enjoyed recently was 'If - The Vodka of Ruby' at RubyRussia. One of the conferences that comes to my mind is Rocky Mountain Ruby Conf, the venue was a cinema, and our lanyards were accepted as payment currency in most bars in Boulder - good times!

What is your go to pint?

As much as I love bitter German pilsner, I would die for a Little Creature pale ale from Freemantle, Australia right now. It tastes like a pretty strong IPA, deliciously flavored with beautiful fruity hops, making my mouth water as I type. Prost!

Find out more about Trailblazer on its website and you can learn more about Nick on Twitter.