---
title: "Digging into the 'magic' of Ruby code"
publication: "Ruby Weekly"
issue: 558
published_at: "2021-06-24"
canonical_url: "https://rubyweekly.com/issues/558"
---

Plus more releases, libraries, and tutorials. |        

#​558 — June 24, 2021 

[Read on the Web](https://rubyweekly.com/issues/558)    

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/asl4ge3g15ylrfopifqd.jpg)](https://github.com/chrisseaton/rhizome)  

[Rhizome: A JIT for Ruby, Implemented in Pure Ruby](https://github.com/chrisseaton/rhizome) — Described as a “pedagogical JIT compiler” (i.e. an experiment for learning purposes), Rhizome exists to let you dig deeper into how JIT works by providing _experiments and documents_ you can run and read. 

Chris Seaton   

▶[Implicit to Explicit: Decoding Ruby's Magical Syntax](https://www.shakacode.com/blog/railsconf-2021-implicit-to-explicit-decoding-rubys-magical-syntax/) — Does a Rails model or config file ever seem like 'magic'? Ruby’s implicitness makes it great for readability and DSLs, but can also lead to confusion to what’s going on under the hood. This is an engaging and easily followed 37-minute talk aimed at improving your Ruby reading comprehension, plus there are some Pry tips you can use to ‘demystify’ any Ruby code. 

Justin Gordon   [![\](https://copm.s3.amazonaws.com/056fcbe9.png)](https://ter.li/lu714p) 

[Spend Less Time Debugging and More Time Building with Scout](https://ter.li/lu714p) — Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues in minutes. See for yourself why Scout is a Ruby developers’s best friend with a free 14-day trial, no credit card needed. 

Scout APM sponsor   

**IN BRIEF:** 

- [RubyGems 3.2.21](https://blog.rubygems.org/2021/06/23/3.2.21-released.html) has been released.
- There's a new list of [the best Ruby blogs](https://draft.dev/learn/technical-blogs/ruby) and we're flattered to be #1 (despite not being a blog 😁) – some fine entries on the list, however.
- Jeremy Evans' new Ruby book [_Polished Ruby Programming_](https://twitter.com/jeremyevans0/status/1407513414646198279) comes out in two weeks. We're hoping to review it soon, but you can already pre-order at your book seller of choice.   

[Custom 'Cops' for RuboCop: An Emergency Service for Your Ruby Code](https://evilmartians.com/chronicles/custom-cops-for-rubocop-an-emergency-service-for-your-codebase) — Learn to write custom rules for RuboCop, test them, and extract into a gem for reuse. 

Dmitry Tsepelev   

▶[The Debut of _The Ruby on Rails Podcast_](https://www.therubyonrailspodcast.com/372) — The _Ruby on Rails Podcast_ has been around since almost Rails’ inception in various guises (Scott Barron and Geoffrey Grosenbach were other hosts back in the day) and Brittany Martin has done a great job of hosting it in the past few years. Happily, the 5by5 podcast network has encouraged her to go independent and Brian Mariani joins as a regular co-host. We look forward to more shows. 

Brittany Martin and Brian Mariani podcast  

📕 Tutorials  

[A Story of Rails Encryption](https://world.hey.com/jorge/a-story-of-rails-encryption-ce104b67) — The ‘nerve wracking’ story of adding database encryption to HEY (right before launch), Rails, and then to HEY again (well after launch) that shows how Rails gains from production projects like this. 

Jorge Manrubia   

[Rails Security Threats: Authentication](https://www.honeybadger.io/blog/rails-security-authentication-leaks/) — Diogo Souza continues his series on Rails security by looking at broken authentication and sensitive data exposure, along with what you can do to avoid such issues. 

Diogo Souza   

▶[How to Determine Production Server Specs with Nate Berkopec](https://railswithjason.simplecast.com/episodes/100-how-to-determine-production-server-specs-with-nate-berkopec-GIuIJKY8) — Nate seems to be on the podcast circuit right now (we linked to him on the [Bike Shed podcast](https://www.bikeshed.fm/296) last week) but if you want to get up to speed with performance and deployment (on your own metal) matters, it’s time well spent. 

Rails with Jason Podcast podcast   

[Complete Peace of Mind Rails Hosting](https://www2.reinteractive.com/opscare-hosting) — If you need 100% peace of mind Rails hosting, OpsCare is for you. We keep your application online and performing, 24 hours a day, 7 days a week. 

OpsCare by reinteractive sponsor   

▶[A GitHub Workflow For Automated Gem Releases](https://www.tomdalling.com/blog/software-processes/github-workflow-for-automated-gem-releases/?utm_source=rss&utm_medium=rss) — A brief 2-minute screencast demonstrating a pipeline Tom created for automating the release of one of his gems (in case you wish to replicate such a process). The code behind the action itself [is here](https://github.com/tomdalling/byebug-skipper/blob/main/.github/workflows/release.yml). 

Tom Dalling   

[Using Tags with Sidekiq Jobs](https://www.mikeperham.com/2021/06/23/using-tags-with-sidekiq-jobs/) — Mike tells us about a feature added in Sidekiq 6. _“I haven’t told people that tags exist. Oops. Here is your notification.”_ 

Mike Perham   

[Speeding up Rails 7 Controller Actions with `#load_async`](https://blog.kiprosh.com/rails-7-activerecord-relation-load_async/) — `load_async` uses a separate thread (from a background thread pool) to execute a query which can provide a healthy speedup in some scenarios. 

Krishna Singh   

[How to Calculate the Mode and Median Averages of a Ruby Array](https://andycroll.com/ruby/calculate-mode-median-average-of-a-ruby-array/) 
Andy Croll    

Jobs  

[Senior Software Engineer (Remote in the US)](https://grnh.se/bf97c4df4us) — Snapdocs is now a [Unicorn](https://snapdocs.com/press/snapdocs-named-to-the-2020-cb-insights-fintech-250-list-of-fastest-growing-fintech-startups/) with a $1.5B+ valuation. We’re a SaaS product disrupting the mortgage and real-estate industry. Join our growing distributed team. ROR, Go, Postgres, React, AWS. 
Snapdocs   

[Calling Sr. Software Engineers! SaaS + Growth + Culture @TeamSnap](https://jobs.lever.co/teamsnap/b56fd238-7c26-4df5-8538-bea539d07da7?lever-origin=applied&lever-source%5B%5D=Ruby%20Weekly) — Want to build a product with 25+ million users on a remote-first team? TeamSnap is the place for you! Party parrot emojis welcome. 
TeamSnap   

[Find Ruby Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now. 
Hired    

🛠 Code and Tools  

[d3-rails 7.0: Bringing D3.js to Rails](https://github.com/iblue/d3-rails) — [D3](https://d3js.org/) is perhaps the leading JavaScript data visualization library and something I’m more used to covering in [JavaScript Weekly](https://javascriptweekly.com/) :-) This brings it more easily into your Rails projects, and this week’s update upgrades things to D3 7.0 standards. 

Markus Fenske   

[Heya 0.5.0: A Campaign Mailer for Rails Apps](https://github.com/honeybadger-io/heya) — Think of it _“like ActionMailer, but for timed email sequences.”_ AGPL licensed. 

Honeybadger   

[Semantic Logger: A Logging Framework for Ruby and Rails](https://logger.rocketjob.io/) — The goal here is to provide richer logs for both humans and machines complete with color, forwarding, and extensive contextual information available to add to the logs. [GitHub repo](https://github.com/reidmorrison/semantic_logger). 

Reid Morrison   

[Application Dependencies Outdated? We Can Help](https://www.upgraderails.com) 

Hint sponsor   

[InvoicePrinter: Super Simple PDF Invoicing](https://github.com/strzibny/invoice_printer) — A server, command line program and pure Ruby library to generate PDF invoices. It’s been around _years_ but continues to get [updates](https://github.com/strzibny/invoice_printer/releases/tag/v2.2.0). 

Josef Strzibny   

[ActiveRecord::JSONValidator: Validate JSON Attributes Against a JSON Schema](https://github.com/mirego/activerecord_json_validator) 
Mirego   

[ActiveType: Make Any Object 'Quack' Like an Active Record Object](https://github.com/makandra/active_type) 
Makandra         

Curated by [Peter Cooper](https://twitter.com/peterc), [Glenn Goodrich](https://twitter.com/ruprict) and [Cooperpress](https://cooperpress.com/). 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
