---
title: "Ruby on Rails on WebAssembly"
publication: "Ruby Weekly"
issue: 737
published_at: "2025-02-06"
canonical_url: "https://rubyweekly.com/issues/737"
---

Plus all the people, so many people.. Parklife! |        

#​737 — February 6, 2025 

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

🙏 I wouldn't usually say 'please read this issue' but this is one of the most densely packed ones in a while. There's a real buzz around the Ruby ecosystem right now as demonstrated by the great articles and projects coming out every day. Long may it last!
__
_Peter Cooper, your editor_ 

Together with [![FastRuby.io\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_467,h_106/e_make_transparent/co_white,e_outline:14/y65nyff19ylf5udphsq4.png)](https://go.fastruby.io/ky3)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vymzavaq6ku3c0zxyiui.jpg)](https://web.dev/blog/ruby-on-rails-on-webassembly?hl=en)  

[Ruby on Rails on WebAssembly: The Full-Stack In-Browser Journey](https://web.dev/blog/ruby-on-rails-on-webassembly?hl=en) — This post takes DHH’s famous “build a blog in 15 minutes” tutorial and embeds it in the _browser_ using WebAssembly. While this is a bit of a parlor trick, it shows the possibilities of WASM. The author goes on to show how the magic happens and points out more practical and exciting use cases. 

Vladimir Dementyev   

[Ruby 'Thread Contention' is Simply GVL Queuing](https://island94.org/2025/01/ruby-thread-contention-simply-gvl-queuing) — We’ve enjoyed a great run of articles on the depths of Ruby’s implementation recently and it continues with this look at how threads wait politely for their time to shine, thanks to Ruby’s GVL (Global VM Lock). But all this politeness has a downside.. so you may have to get involved and tune things a bit. 

Ben Sheldon   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/f5b9d737.png)](https://go.fastruby.io/ky3) 

[🚀 FastRuby.io Makes Your Rails Upgrade Delightfully Boring](https://go.fastruby.io/ky3) — [FastRuby.io](https://FastRuby.io) ’s monthly maintenance services keep security and uptime high & costs low (starting at $4,000/month). The team behind [RailsBump.org](https://RailsBump.org) offers gradual, 0-downtime upgrades — making technical debt remediation feel delightfully boring. 

Bonsai by FastRuby.io sponsor   

**IN BRIEF:** 

- 🇺🇸 Want to speak at _RailsConf 2025_ this July? [The call for speakers](https://sessionize.com/railsconf-2025/) is open until February 28.
- Originally an elaborate set of shell scripts, [the latest version of the `asdf` version manager](https://github.com/asdf-vm/asdf/releases/tag/v0.16.0) (which I use to manage my Ruby installs) sees a complete rewrite to Go which means you may need to [be aware of some changes](https://asdf-vm.com/guide/upgrading-to-v0-16.html#breaking-changes) more than with a usual update.
- Ruby's 3.2 branch has had a small update in the shape of [Ruby 3.2.7](https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/) to fix [a variety of bugs.](https://github.com/ruby/ruby/releases/tag/v3_2_7)
- Rails 6.1+ has included [a `--minimal` app generation option,](https://www.bigbinary.com/blog/rails-6-1-adds-minimal-option-support) to create a Rails app without a lot of Rails' extended features. [Rails is now going to make it even more minimal](https://github.com/rails/rails/pull/54313) by excluding Kamal, Rubocop, Solid, Thruster, and more.
- ⛰️ [Rails Camp West](https://west.railscamp.us/) is taking place this August in Alaska and if you need a scholarship to be able to attend, [there's a form you can fill in](https://docs.google.com/forms/d/e/1FAIpQLSeohqukCQaD50WTrhrtf-OFpmxgCW257BrJ6Fg3yJuEqU8oNQ/viewform) to apply.   

[Inserting One New Element into Hashes of Varying Sizes](https://patshaughnessy.net/2025/2/4/inserting-one-new-element-into-hashes-of-varying-sizes) — An experiment from Pat’s work on updating _Ruby Under a Microscope_ shows how performance can spike on specific insertions into a hash. It’s explained well and is a detail worth knowing. 

Pat Shaughnessy   

📊 [Benchmarking Caching in Rails with Redis vs Alternatives](https://www.bigbinary.com/blog/caching-in-rails-with-redis-vs-alternatives) — There are now many ways to speed up caching in Rails. This benchmark includes open-source options, SolidCache with Postgres, and a couple of SQLite options. The results may surprise you. 

Sandip Mane (BigBinary Blog)   

[How to Avoid Problems with Turbo Morphing](https://radanskoric.com/articles/how-to-avoid-problem-with-turbo-morphing) — The most significant feature of Turbo 8 isn’t without its issues. Here, Radan examines three common Turbo ‘gotchas’ and how to solve them so you don’t morph into a frustrated developer. 

Radan Skorić   

[Is Heroku Still Worth It in 2025? 💸](https://judoscale.com/blog/heroku-alternatives?utm_source=ruby-weekly&utm_campaign=heroku-alt) — You might want to give this guide a read — we took a tour through PaaS alley and found some worthy (💵) alternatives. 

Judoscale sponsor   

📄 [Setting Up Cloudflare R2 Buckets for Active Storage](https://nts.strzibny.name/rails-cloudflare-r2-activestorage/) Josef Strzibny 

📄 [The Arbitrary Handling of Mock Arguments in RSpec](https://tejasbubane.github.io/posts/arbitrary-handling-of-mock-arguments-in-rspec/) Tejas Bubane 

📄 [Tagging Your Logs in Rails Apps](https://ryanbigg.com/2025/02/rails-tagged-logging) Ryan Bigg  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/auxgz8ubtzxn4j2cm4qk.jpg)](https://avohq.io/blog/ruby-on-rails-markdown-editor-marksmith)  

[Marksmith: A GitHub-Style Markdown Editor for Rails](https://avohq.io/blog/ruby-on-rails-markdown-editor-marksmith) — Well known for his [Avo](https://avohq.io/) Rails app dev framework, Adrian is back with another banger: a GitHub-style Markdown editor you can use in your Rails apps. It features a similar toolbar, supports Active Storage, and is ready to drop in. 

Adrian Marin   

[Parklife: Turn a Rack App into a Static Build](https://parklife.dev/) — Got a Rack-powered app and want to spin it into a static version to quickly deploy on GitHub Pages, S3, or just your own basic HTTP server? The [latest version](https://github.com/benpickles/parklife/releases/tag/v0.7.0) adds Rails 8 support. 

Ben Pickles   

💡 I learnt about Parklife through Ben Sheldon's article about [migrating from Jekyll to Parklife for his blog.](https://island94.org/2025/01/living-parklife-with-rails-coming-from-jekyll)  

[Seamless Rails Upgrades: Expert Maintenance. Fixed Price](https://reinteractive.com/service/code-care) — Upgrade RoR smoothly. We offer expert Rails maintenance at a fixed price. Secure, performant, minimal disruptions. Outdated gems? Breaking changes? We handle it. 

reinteractive / CodeCare sponsor   

[WebMock 3.25.0: Stub and Set Expectations on HTTP Requests for Testing](https://github.com/bblimke/webmock) — Supports lots of HTTP libraries like Net::HTTP, Excon, the `http` gem, and Curb::Easy. 

Bartosz Blimke   

- ⚠️ [Slowpoke 0.6](https://github.com/ankane/slowpoke) – `Rack::Timeout` enhancements for Rails, such as for [safer service timeouts.](https://github.com/ankane/slowpoke?tab=readme-ov-file#safer-service-timeouts)
- [Ruby PG Extras 5.6.1](https://github.com/pawurb/ruby-pg-extras) and [Rails PG Extras 5.6.1](https://github.com/pawurb/rails-pg-extras) – Get more insight into your Postgres instance.
- [Ceedling 1.0.1](https://github.com/ThrowTheSwitch/Ceedling) – Ruby-based unit testing and build system for C projects.
- [eps 0.6](https://github.com/ankane/eps) – Machine learning for Ruby to build predictive models quickly.
- [Versionaire 14.1](https://github.com/bkuhlmann/versionaire) – A immutable, thread-safe semantic versioning type.
- [Sequel 5.89](https://github.com/jeremyevans/sequel) – Popular database toolkit. [Changelog.](https://github.com/jeremyevans/sequel/blob/master/CHANGELOG)
- [Kamal 2.5](https://github.com/basecamp/kamal/releases/tag/v2.5.0) – The container-based app deployer.
- 🤖 [Regent](https://github.com/alchaplinsky/regent) – An experiment in building a framework for AI agents in Ruby.
- [Gemirro 1.6](https://github.com/PierreRambaud/gemirro) – Create your own RubyGems mirror.
- [ruby-install 0.10.0](https://github.com/postmodern/ruby-install/releases/tag/v0.10.0)      

📰 Classifieds   

🚀 Hiring Ruby devs? [Get top LATAM talent, fluent in English & synced to your U.S. time zone](http://www.tecla.io/onboarding). Fast, vetted, ready to code! 

--- 

⛽ [Supercharge your team with SINAPTIA!](https://sinaptia.dev/services/staff-augmentation/) We can augment your team with devs to help you keep up with your delivery schedule. [Test us!](https://sinaptia.dev/services/staff-augmentation/)    

📢 Elsewhere  

A quick roundup of some of other interesting updates in the broader developer landscape, in case you've missed them: 

- 🐝 If you ever feel a need to start building full-stack JavaScript apps but want a framework that describes itself as 'Rails-like', [Wasp](https://wasp-lang.dev/) may be for you.
- The Evil Martians have a handy 2025 take on [what you need to cover all the 'favicon' bases for your apps](https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs) – it takes just three files (down from six in last year's take).
- Did you know Oracle owns the 'JavaScript' trademark? The team behind the [Deno](https://deno.com/) JavaScript runtime are [trying to get the trademark invalidated](https://javascript.tm/) but it's a long, drawn-out process and [Oracle is attempting to get the case dismissed](https://deno.com/blog/deno-v-oracle2) asserting that _"relevant consumers do not perceive JAVASCRIPT as a generic term."_ 🤡
- Salma Alam-Naylor is a developer who developed severe hand pain and needed to find new ways to keep coding. [Here's her story](https://whitep4nth3r.com/blog/how-i-learned-to-code-with-my-voice/) of how she found a voice-based coding approach.
- [httptap](https://github.com/monasticacademy/httptap) is a fascinating Linux-only Go-powered tool for viewing the HTTP/HTTPS requests made by _any_ program. Could be handy for seeing if an app or dependency is phoning home or for black box debugging.         

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