---
title: "Exceptional creatures"
publication: "Ruby Weekly"
issue: 688
published_at: "2024-02-01"
canonical_url: "https://rubyweekly.com/issues/688"
---

Plus the lowdown on Ruby's newest parser, and a pure Ruby Linux window manager. |        

#​688 — February 1, 2024 

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

Together with [![reinteractive\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_900,h_186/e_make_transparent/co_white,e_outline:9/goq5p4n0bj1gcxvxkfel.png)](https://reinteractive.com/services-codecare-shield)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gxpjqwizijryhe9cwen7.jpg)](https://www.exceptionalcreatures.com/)  

[Ruby's _Exceptional Creatures_](https://www.exceptionalcreatures.com/) — A fun (and dare we say _whimsical_) guide to exceptions, where each is represented by a different cutesy [‘creature’](https://www.exceptionalcreatures.com/bestiary.html) (12 so far). It's not all cute drawings, though, as each page defines what each exception is for, shows how they manifest, and how you can manage them properly in your code. 

Honeybadger   

[Prism: Ruby 3.3's New Error-Tolerant Parser](https://kddnewton.com/2024/01/23/prism.html) — Ruby 3.3 shipped with a much anticipated new default gem called Prism, a new parser for Ruby code that can be depended upon by third party tools that need to work with source code in a structured way. Its creator explains how it came to be and where things are heading next (and you could be a part of this!) 

Kevin Newton   [![\](https://copm.s3.amazonaws.com/b638560d.png)](https://reinteractive.com/services-codecare-shield) 

[Get a Free Ruby on Rails Security & Updates Check](https://reinteractive.com/services-codecare-shield) — Ensure the safety and integrity of your sensitive information with our advanced Ruby on Rails security measures. Enhance your application's security posture and focus on what you do best – leave the protection to us. 

reinteractive/CodeCareShield sponsor   

[On Ruby's Positional Arguments](https://noelrappin.com/blog/2024/01/better-know-positional-arguments/) — The author of the latest Pickaxe book dives deep (and we do mean “deep”) into this subject, explaining how to use splats (`*`) and arrays, dereferencing args, when to use anonymous args, and how blocks fit in to the conversation. 

Noel Rappin   

[A Packwerk Retrospective](https://railsatscale.com/2024-01-26-a-packwerk-retrospective/) — [Packwerk](https://github.com/Shopify/packwerk) is a static analysis tool to help modularize Rails apps that Shopify released in 2020. The Shopify team explains the motivation for building it, the weaknesses encountered in its approach, and how it provoked a rethink in the organization of their monolithic app. 

McGibbon and Salzberg (Shopify)   

- 🗣 If you want to speak at [RailsConf 2024](https://railsconf.org/), taking place this May in Detroit, [the CFP is open for the next two weeks](https://sessionize.com/railsconf2024/).
- AWS has introduced [RBS support to AWS SDK for Ruby v3](https://aws.amazon.com/blogs/developer/announcing-rbs-support-for-aws-sdk-for-ruby-v3/).
- `rails console` is getting [some improvements to its prompt](https://github.com/rails/rails/pull/50796).
- Take care when [deploying Rails 7 apps to Heroku's smallest dynos](https://justin.searls.co/posts/brand-new-rails-7-apps-exceed-heroku-s-memory-quotas/).
- [An interview](https://onceamaintainer.substack.com/p/once-a-maintainer-robert-mosolgo) with Robert Mosolgo, creator of [graphql-ruby](https://github.com/rmosolgo/graphql-ruby).
- 👀 Just what is [inside the `.git` folder](https://jvns.ca/blog/2024/01/26/inside-git/)?  

📕 Articles & Tutorials  

['The Tech Stack I Chose to Build My Project'](https://allaboutcoding.ghinda.com/the-tech-stack-i-choose-to-build-my-email-courses-project) — Lucian is working on a project to provide Ruby courses over email and I enjoyed seeing his approach to the overall stack. No big surprises, but it’s nice to see a complete, modern Ruby stack outlined in one place. 

Lucian Ghinda   

[Turbo Frame Search Filters](https://code.avi.nyc/turbo-frame-search-filters) — A fantastically short but sweet blog post on creating a search filter in a Rails app using the added elegance provided by Turbo Frames and Stimulus. 

Avi Flombaum   

[Share Rails-Style Secrets Across Applications](https://www.prefab.cloud/blog/multi-language-secret-management?utm_source=rubyweekly&utm_medium=newsletter) — Pain with local dotenv files & duped secrets is no fun, particularly with > 1 app. Try our zero-knowledge CLI app. 

Prefab sponsor   

[An Approach to Client-Side Encryption with Rails and Active Storage](https://www.stefanwienert.de/blog/2024/01/31/rails-activestorage-client-side-encryption-with-amazon-s3/) — A customer had strict, specific data safety requirements, so Stefan’s team had to work out how to implement client-side encryption in a Rails app. 

Stefan Wienert   

[How to Deal with Postgres Backups using Kamal](https://www.botzenhart.io/articles/how-to-deal-with-postgresql-backups-using-kamal) — A look at using [postgres-backup-s3](https://github.com/eeshugerman/postgres-backup-s3) to periodically backup a database to S3 on a schedule from a Kamal deployed app. 

Stefan Botzenhart   

🐦 Quick Tip: [Using Rails 7.1's `log_file_size` Option](https://twitter.com/rails/status/1752635337501737426) — You can use the `config.log_file_size` option to define a maximum size for an environment’s log file (after which it will get rotated). 

Ruby on Rails on X   

[Rails 7.1's Support for MessagePack as a Message Serializer](https://www.shakacode.com/blog/rails-7-1-adds-message-pack-as-message-serializer/) 
Alkesh Ghorpade  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/uzmjuh8muo2ophdjites.jpg)](https://github.com/vidarh/rubywm)  

[rubywm: An Experimental X11 Window Manager in Pure Ruby](https://github.com/vidarh/rubywm) — If you hang around [`/r/unixporn`](https://reddit.com/r/unixporn) (yes, it’s safe for work!) much, you’ll see there’s a _lot_ of experimentation when it comes to Linux window managers, so it’s neat to see a Ruby attempt. 

Vidar Hokstad   

[Lode: PStore, But Even Better](https://alchemists.io/projects/lode) — [PStore](https://github.com/ruby/pstore) is a long standing standard library that can be used to persist hashes (which may contain other Ruby objects) to disk. Lode adds a DSL and some handy patterns on top of it to provide more structure. 

Brooke Kuhlmann   

[Rails Insights Even Your Leadership Team Will Understand!](https://scoutapm.com/ruby-monitoring?utm_source=rubyweekly&utm_medium=affiliate&utm_campaign=2_1_24&utm_content=newsletter_ad) — Scout APM is made for monitoring Ruby apps. Get all the APM insights and support you need from actual Rails engineers. 

Scout APM sponsor   

[Karafka Framework 2.3 + Web UI 0.8](https://mensfeld.pl/2024/01/karafka-framework-2-3-web-ui-0-8-release-announcement/) — Karafka provides a lot of valuable structure when using the Apache Kafka event streaming platform with Ruby and Rails apps. v2.3 adds support for Kafka’s ‘exactly once’ semantics, enhanced multiplexing, periodic jobs, and full error backtraces can now be viewed in the open source version of the Web UI. 

Maciej Mensfeld   

[Web Tsunami: Tailor-Made Load Testing for Webapps](https://github.com/BaseSecrete/web_tsunami) — Provides an interesting Ruby DSL for custom load testing scenarios. 

Alexis Bernard   

- [Slack Ruby Client 2.3](https://github.com/slack-ruby/slack-ruby-client) – Access Slack's Web, Real Time Messaging and Event APIs in Ruby or via a CLI.
- [Falcon 0.43](https://github.com/socketry/falcon) – Multiprocess, multi-fiber Rack-compatible HTTP server.
- [Business Class 1.5](https://nts.strzibny.name/businessclass-1.5/) – The (paid) SaaS template gains a simple Kamal deployment feature.
- [MockRedis 0.44](https://github.com/sds/mock_redis) – A fake Redis for your tests.
- [Gemsmith 21.2](https://github.com/bkuhlmann/gemsmith) – CLI for smithing Ruby gems.
- [Reek 6.3](https://github.com/troessner/reek) – 'Code smell' detector for Ruby.         

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

[Change your email](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 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
