#​631 — December 1, 2022

Read on the Web 🇺🇦

If you missed last week's issue, make sure to take a look. It was a bumper week with lots of cool stuff including a major new JRuby release, Hanami 2.0, plus an interview with the Pickaxe's newest author. Now, without further ado, on to this week..
__
Peter Cooper, your editor

Together with  ButterCMS

Ruby Weekly

Kevin Newton's Advent of YARV — Let’s start with something incredibly advanced and work our way down :-) Kevin works at Shopify and his projects include SyntaxTree, Exreg, and contributing to YJIT. He knows his stuff, so it’s great to see him kick off a month of posts “detailing different aspects of the CRuby virtual machine.” Part 0 covers the terminology and bare basics, with part 1 pushing on to cover the stack.

Kevin Newton

🧈 Retire your Legacy CMS with ButterCMS — ButterCMS is your new content backend. We’re SaaS so we host, maintain, and scale the CMS. Enable your marketing team to update website + app content without needing you. Try the #1 rated SaaS Headless CMS for Ruby today. Free for 30 days.

🧈 ButterCMS sponsor

Ruby 3.1.3 Released (and 3.0.5 and 2.7.7) — Don’t get too excited - these are minor releases principally to cover a security fix for a cgi gem HTTP response splitting vulnerability. If you need them, here are the 3.0.5 and 2.7.7 release posts.

nagachika / Ruby Core Team

QUICK BITS

  • The nascent Rails Foundation is seeking an executive director to run day to day operations and lead efforts around community engagement, documentation, and more. Fully remote, too.

  • ▶️ BridgetownConf was an online conference held for the Bridgetown Ruby static site generator and the talks are now online for all to enjoy.

  • Shopify, the ecommerce platform well known for its use of Ruby and Rails, boasts driving 3 terabytes per minute of egress across its platform during the recent shopping season. All hitting a Rails app? No. But Ruby is down in there.. somewhere ;-) I'd love to see their AWS bill.

🎄  The Advent of Code 2022: 25 Days of Code Challenges — If you have a little time each day for a programming puzzle, the Advent of Code is back. There’s a sub-Reddit where people discuss their solutions and I’ve had my brain stretched and flexed from looking at other people’s creative approaches.

The Advent of Code

Consider MuumiJumala's solution for today's (very easy) puzzle. $/*=2 is not something I'd ever think to write, but is very apt here!

How to Migrate a Rails App from Heroku to Dokku (Updated) — If you want a cheaper hosting solution for your side projects or staging environments, it’s not too tricky to move a Heroku app to your own Dokku instance (especially now that Heroku's free option has gone away) including migrating the database and SSL with Let’s Encrypt.

Paweł Urbanek

📕 Articles, Videos, and Opinions

Tracking a Process's Memory Usage in Ruby — Another title for this post could be “Create a Basic Yet Useful C Extension in Ruby”, so you’ll learn more than just tracking memory usage. A fun bit of poking about.

Victor Andrey (BetterUp)

Hanami 2.0 Thoughts — Last week we told you about Hanami’s newest major release, and here’s one Rubyist’s thoughts on it. Spoiler: It’s missing a couple of bits (coming in 2.1) but it’s really fast.

Ryan Bigg

🕵️💎 Rails’ Hidden Gems - ActiveRecord Store — The latest article in our series spotlighting Rails’ lesser-known gems. Check it out and level-up your Rails game.

Honeybadger sponsor

Dealing with Flaky Tests — Is it possible to have a significant test suite without having lots of flaky tests? It is, says, David, who shares some tips on how he avoids the problem for himself, including writing tests that are prepared to handle random data.

David Bryant Copeland

Safe Gem Upgrades with PessimizePessimize is a tool that adds pessimistic constraints (e.g. those using ~>) to all gems in your Gemfile. This can help you take more control over upgrades of dependencies in future.

Hanami Mastery

From Paperclip to Active Storage at Scale — One developer’s experience of migrating from Paperclip to Active Storage on a production site.

Finnian Anderson

▶  Kevin Newton Talks About Ruby Parsing — Kevin works on the Prettier for Ruby code formatting plugin (plus, y'know, all that stuff in the top most item above).

Ruby Rogues podcast

The State of Notifications Report - User Preferences

Courier.com sponsor

Creating Multi-Line Strings in Ruby — How do I write strings? Let me "count" %{the ways}..

David Boureau

Handling Third-Party Webhooks with Rails Event Store
Piotr Jurewicz

🛠 Code & Tools

RubyMine 2022.3 Released — After an extensive early access program and round of betas, the latest incarnation of JetBrains’ (commercial) Ruby IDE is here boasting a (optional) new UI, significant improvements to working with RBS and type signatures in code generally, improved navigation of ERB templates, and more.

JetBrains

Pay 6.1: A Payments Engine for Rails Apps — Supports Stripe, Paddle, Braintree, as well as a ‘fake’ processor for trials, freebies, testing, etc. There’s a screencast showing it off, too.

Chris Oliver

Free eBook: Advanced Database Programming with Rails and Postgres

pganalyze sponsor

Vanilla Rails Authentication with Authentication Zero — Devise has been the go-to authentication app for Rails since forever. Still, if you want something simpler that doesn’t pollute your dependencies, Authentication Zero has a great set of features and almost zero magic.

Simon Chiu

telegram-bot-ruby 0.23.0: A Ruby Wrapper for Telegram's Bot APITelegram is a popular messaging app that’s particularly friendly to bots.

Alexander Tipugin

Typeless: An Interpreter for Λ-Calculus Implemented in Ruby
Gurbaaz Singh Nandra

Jobs

Find Ruby Jobs 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.
Hired

Software Development Educator — DPI (Full Time, Hybrid, Chicago) — Got a passion for software development, beginner focused education, and social impact? Join us in our mission to transform lives and diversify tech talent.
Discovery Partners Institute — University of Illinois System

🔮 Now for something completely different..

📗  Know Ruby? Try Crystal for Rubyists — A 10-chapter (but very short) online book to introduce Crystal (a statically typed and compiled language with Ruby-inspired syntax) to interested Rubyists. It sticks to the basics to give you an easily accessible taster. Crystal might even be a good candidate for trying Advent of Code with..?

Serdar Dogruyol