#543 — March 11, 2021

Read on the Web

💡 Mea culpa. In last week's issue, we made a bit of a funny mistake in confusing Shopify and Spotify twice and it got past three of us who proofread the issue! The Upgrow project was by Shopify and not their similarly named musical cousins and we thank Shopify and the many readers who reached out to us for their sense of humor :-) The curious thing is the project has since been taken down to be improved so we'll link it again in future!
Peter Cooper, editor

Ruby Weekly

Credit: Mathias Meyer CC BY-SA 2.0 #

A Post Ruby 3.0 Interview with Matz: "Do Not Fight Developer Instincts" — A fresh interview following the release of Ruby 3.0 where Ruby’s creator, Matz, covered the effect of the pandemic on the Ruby community, Ruby 3.0 concurrency and parallelism, and the importance of microbenchmarks (though he often considers them ‘silly’ in nature).


▶  Building a Business on Rails (with Mike Perham) — Mike is well known in the Ruby space for his Sidekiq background job system and this interview is a ‘must listen’ if the idea of turning an open source project into your job appeals to you. Of course, a lot of other stuff is covered including Faktory and his experimentation with Crystal. I really enjoyed this.

Remote Ruby podcast

Ship Your Updates 2x Faster — Switch to Semaphore for faster CI/CD. A team of 12 engineers saves over 500 hours per month.

Semaphore sponsor

One Dev's Ruby and Rails Stack for Side Projects in 2021 — These posts always teach something and Magnus has a lot of articles off of this one that goes into more detail around hosting and other tools.

Magnus Skog

Announcing Standard Ruby 1.0 (Again) — We were a bit too quick to notice the Standard 1.0 release last week.. before this useful blog post went out. So we’re announcing this milestone release of the popular Ruby style guide, linter, and formatter project again since Justin does a good job of explaining what it’s taken to get to this point and why you should use it.

Justin Searls

The RailsConf 2021 Program Unveiled — This year’s RailsConf will, again, be online, but the upside is it means more of us can attend. It’s not cheap by any means, but the line up is fantastic and varied.


Quick Bits

  • RubyMine 2021.1 is now in beta. RBS support and improved code completion are two key updates.

💻 Jobs

Ruby Engineer (Remote, EU Time Zones) — We work with global brands maximising their end-to-end supply chain value, transforming how customers meet demand with live data, real-time performance insights, and more.


Ruby on Rails Team Lead (Remote) — We're seeking an experienced Ruby on Rails Team Lead to join the CivicPlus team to help local governments work better.


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


📘 Articles & Tutorials

Ruby Garbage Collection Deep Dive: Generational Garbage Collection — The third post in Jemma’s series where she focuses on the two-generation approach to collecting objects. Young objects today just don’t last like they used to.

Jemma Issroff

Ruby Tokenization with FlexFlex (not the Adobe one) is an alternative to the lex parser which Christophe uses to build a C extension-based JSON parser gem, step-by-step.

Christophe Boulet

Turn Off The Bits of Rails You Don't Use — It’s a reasonably straight forward way to improve performance and reduce maintenance (fewer vectors for ‘weird’ things to happen).

Andy Croll

Learn About Ractors by Building a Mini Sidekiq — If you heard the interview with Mike Perham (above) and fancied both making your own (extremely simple) background job server and playing with ractors at the same time..

Alexandre Ignjatovic

Free eBook: Efficient Search in Rails with Postgres

pganalyze sponsor

Recording Real Requests with WebMockVCR is probably the ‘go to’ library for recording and replaying HTTP interactions but Tomasz finds using WebMock less painful. We hope he’ll write more about this soon.

Tomasz Wróbel

Extending Ruby Classes: include, extend and prepend Explained — The basics of some ‘bread and butter’ matters with using modules and classes.

Paweł Dąbrowski

▶  Demystifying Webpack and Webpacker with Paweł Dąbrowski — An hour long panel discussion about all things webpack and managing your Rails app’s JavaScript assets.

Ruby Rogues Podcast podcast

🛠 Code and Tools

Climate Control 1.0: Modify your ENV..ironment — A cute play on words here. Climate Control lets you modify environment variables on the fly within blocks, such as when testing.

thoughtbot, inc.

Square APIs + Ruby = Powerful eCommerce Apps ✨ Try in the API Explorer — Easily take payments, manage a product catalog, organize employees, track orders, and more with The Square Ruby SDK.

Square sponsor

Prosopite: Rails N+1 Query Auto-detection with Zero False Positives — A library that monitors SQL queries and looks for various patterns that imply N+1 queries are going on.

Mpampis Kostas

ToD 3.0: Time of Day and Time Shifting Types for Ruby — Provides a variety of ways to represent and manipulate times (add, subtract, rounding, etc.)

Jack Christensen

Amazing Print 1.3: Pretty Print Your Ruby Objects with Style — Some bug fixes, tweaks for Ruby 3.0, and Rails 6.1 support.


ruby-vips 2.1.0: Ruby Extension for the libvips Image Processing Library

libvips team