---
title: "Now Ruby's on the Nintendo Wii"
publication: "Ruby Weekly"
issue: 690
published_at: "2024-02-15"
canonical_url: "https://rubyweekly.com/issues/690"
---

Plus Git goodies, the plan for Rails 8, and more WASM shenanigans. |        

#​690 — February 15, 2024 

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

Together with [![Crunchydata\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_430,h_100/e_make_transparent/co_white,e_outline:7/xyflkz7n00elwtgja9ne.png)](https://www.crunchydata.com/products/crunchy-bridge?utm_source=cprb-prim-0215)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kjpal8qootzvctfukj4c.jpg)](https://fly.io/ruby-dispatch/the-plan-for-rails-8/)  

[The Plan for Rails 8](https://fly.io/ruby-dispatch/the-plan-for-rails-8/) — There’s been a fair amount of buzz around the Rails 8 feature announcements, such as less of a need for Redis, no more Sprockets, Rack 3 support, and more progressive web app features (like push notifications). Exciting stuff. 

Brad Gessler (Fly.io)   

[RunRuby.dev: Run Ruby (and Bundler!) in the Browser](https://runruby.dev/) — Last week, we linked to Yusuke Endoh's [emirb](https://mame.github.io/emirb/) which uses WebAssembly to run IRB in the browser. Svyatoslav Kryukov has upped the ante here, providing more of an editor plus a clever workaround to get Bundler working too. [🐦 This Twitter/X thread](https://twitter.com/skryukov_dev/status/1757495602697454072) has more information about how he did it, plus a link to [the source.](https://github.com/skryukov/runruby.dev) 

Svyatoslav Kryukov   [![\](https://copm.s3.amazonaws.com/afd5cae1.png)](https://www.crunchydata.com/products/crunchy-bridge?utm_source=cprb-prim-0215) 

[❤️ Postgres](https://www.crunchydata.com/products/crunchy-bridge?utm_source=cprb-prim-0215) — You need a database provider that loves Postgres as much as you do. We'll take care of all the hassle - monitoring, backups, HA, disaster recovery so you don't have to. Want amazing support? We'll be there when you have questions. 

Crunchy Bridge sponsor   

- 🥳 [mruby 3.3](https://mruby.org/releases/2024/02/14/mruby-3.3.0-released.html) has been released ([release notes](https://github.com/mruby/mruby/blob/master/doc/mruby3.3.md)). The lightweight, embeddable Ruby implementation takes some gentle steps forward and adds support for... [MS-DOS](https://github.com/mruby/mruby/pull/6022) and [the Nintendo Wii?](https://github.com/mruby/mruby/pull/6086)
- 🗣 George Kosmopoulos [recaps the Ruby-related talks](https://thoughtbot.com/blog/fosdem_2024_review) from the recent FOSDEM event, with links to the videos for each.
- 🤖 We stumbled across [▶️ this rather odd 'documentary' of Rails' evolution](https://www.youtube.com/watch?v=Tq5s9Z5brN4) narrated by an AI clone of David Attenborough's voice...
- 📱 [TurboNative.Directory](https://turbonative.directory/) is a rapidly growing catalog of iOS/Android apps backed by (largely Rails powered) web views – you can submit your own, too.   

▶[So You Think You Know Git..](https://www.youtube.com/watch?v=aolI_Rz0ZqY) — GitHub co-founder Scott Chacon gave an engrossing talk at FOSDEM 2024 earlier this month that’s well worth 45 minutes of your time. He dug into lots of interesting areas of `git` and associated techniques, as well as a few GitHub bits and pieces. **If you _don’t_ have 45 minutes, good news – there’s [a set of blog posts](https://blog.gitbutler.com/git-tips-and-tricks/) covering it all, too.** 

Scott Chacon  

📕 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/joo7onllxljsendvxt9x.jpg)](https://code.avi.nyc/turbo-sortable-paginated-tables)  

[Turbo Sortable Paginated Tables in Rails](https://code.avi.nyc/turbo-sortable-paginated-tables) — A look at how easy it is to build responsive, sortable paginated tables with Rails and Turbo Frames nowadays _sans JavaScript._ Avi has written a run of interesting Turbo-related posts lately with [Turbo Frame Search Filters](https://code.avi.nyc/turbo-frame-search-filters) and [Turbo Frame Slide Over](https://code.avi.nyc/turbo-frame-slide-over) also worth a look. 

Avi Flombaum   

[What It Was Like Working for GitLab](https://yorickpeterse.com/articles/what-it-was-like-working-for-gitlab/) — A detailed retrospective of the author’s experience working at GitLab, as well as a little conflict he feels over GitLab’s use of Ruby and Rails. (If you recognize the name, Yorick used to work on Rubinius and the [Oga](https://github.com/yorickpeterse/oga) gem.) 

Yorick Peterse   

[That’s Some Funky Stuff—Who’s Going to Work on That? 😅](https://link.testdouble.com/funky-stuff) — Solving strange, complex problems in legacy codebases is our specialty. Let’s make things more maintainable, so your team moves faster. 

Test Double sponsor   

[Anonymous Block Forwarding in Ruby](https://www.writesoftwarewell.com/anonymous-block-forwarding-in-ruby/) — Did you know you can forward blocks anonymously as of Ruby 3.1? It’s all in the power of the `&`. 

Akshay Khot   

[`tap` vs `yield_self`](https://monorails.substack.com/p/ruby-tap-vs-yield_self) — `yield_self` is perhaps more commonly known through its `then` alias and is [‘more awesome than you could think.’](https://zverok.space/blog/2018-01-24-yield_self.html) 

Suraj Mishra   

▶[Digging into View Transitions with Turbo 8 and Rails](https://www.youtube.com/watch?v=gdePV0Beihg) — A quick code and demo-led screencast in 7 minutes. 
webcrunch   

[Rails 8 to Introduce Built-in Rate Limiting API](https://www.bigbinary.com/blog/rails-8-rate-limiting-api) 
Yedhin Kizhakkethara  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/d4hdvhjl5bzox52sfdc2.jpg)](https://github.com/mcmire/super_diff)  

[SuperDiff 0.11: View Differences Between Data Structures in RSpec](https://github.com/mcmire/super_diff) — When you’ve got something that’s expected and what actually came back, distinguishing the difference between them can be tricky. This makes it easier. 

Elliot Winkler   

[dotenv 3.0: A Gem to Load Environment Variables from `.env`](https://github.com/bkeepers/dotenv/releases/tag/v3.0.0) — A long-time Ruby classic that has seen some fresh activity this week, and now requires Ruby 3.0+. Note that `dotenv-rails` is now considered superflous, since the Rails features have [been rolled into](https://github.com/bkeepers/dotenv/pull/468) `dotenv` proper. [GitHub repo.](https://github.com/bkeepers/dotenv) 

Brandon Keepers   

[🌳 Need to Upgrade Rails on a Tight Budget? Try Bonsai by FastRuby](https://go.fastruby.io/07m) — Starting at $2,000/month, Bonsai is the cost-effective way to gradually modernize your Gemfile, Ruby, and Rails 🚀 

Bonsai by FastRuby.io sponsor   

[Extralite 2.7: Ruby on SQLite, But Better](https://github.com/digital-fabric/extralite#value-transforms) — With great performance and a clean API, Extralite is becoming our SQLite library of choice for Ruby, and things have gotten even better with support for [prepared queries](https://github.com/digital-fabric/extralite?tab=readme-ov-file#prepared-queries) and [value transforms](https://github.com/digital-fabric/extralite?tab=readme-ov-file#value-transforms) now making it in. 

Sharon Rosner   

[Letter Opener 1.9: Preview Mail in the Browser Instead of Sending](https://github.com/ryanb/letter_opener) — No longer worry about accidentally sending test emails to real addresses while in development. 

Ryan Bates et al.   

[Dynamoid 3.10: A Ruby ORM for Amazon DynamoDB](https://github.com/Dynamoid/dynamoid) — Get an Active Record-esque ORM for Amazon’s flexible [DynamoDB](https://aws.amazon.com/dynamodb/) database service. 

Dynamoid   

[Savon: A 'Heavy Metal' SOAP Client](https://github.com/savonrb/savon) — A long standing SOAP client library. The latest release requires Ruby 3.0+. There’s also [Wasabi](https://github.com/savonrb/wasabi), an associated WSDL parsing library. 

Daniel Harrington   

[Forme 2.5: HTML Form Generation Library](https://github.com/jeremyevans/forme) — A structured way to create HTML forms with no external dependencies and a simple API. 

Jeremy Evans   

- [Crack 1.0](https://github.com/jnunemaker/crack) – Simple JSON and XML parsing, ripped from Merb and Rails.
- [assignable_values 1.0](https://github.com/makandra/assignable_values) – Restrict the values assignable to Active Record attributes or associations.
- [google-dfp-api 3.0](https://github.com/googleads/google-api-ads-ruby) – Google's official Ad Manager SOAP API client library.
- [CronCalc 1.0](https://github.com/mizinsky/cron_calc) – Calculates job occurrences from cron expressions.
- [Good Job 3.24](https://github.com/bensheldon/good_job) – Postgres-backed job queue for Rails.
- [cypress-rails 0.7](https://github.com/testdouble/cypress-rails) – Easier Cypress testing for Rails apps
- [Stripe Ruby 10.8](https://github.com/stripe/stripe-ruby) – Ruby library for the Stripe API.
- [redis-rb 5.1](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md#510) – The Ruby client library for Redis.
- [Nori 2.7](https://github.com/savonrb/nori) – XML to hash translator.         

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/).
