---
title: "A Rails blog app in a ~500KB binary"
publication: "Ruby Weekly"
issue: 806
published_at: "2026-06-25"
canonical_url: "https://rubyweekly.com/issues/806"
---

Plus copy-and-paste webapp UI components, bringing parallel sweeping to Ruby's GC, and Ruby events news.        

#​806 — June 25, 2026 

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

Together with [![Tiger Data logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_282/e_make_transparent/co_white,e_outline:30/px1u7kjyvz7xnbm6ytir.png)](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=ruby-weekly-newsletter)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gvphgeiptevq3g0uwrho.jpg)](https://intertwingly.net/blog/2026/06/19/Spinel-on-Rails.html)  

[Spinel on Rails](https://intertwingly.net/blog/2026/06/19/Spinel-on-Rails.html) — When [I dug into Spinel](https://rubyinside.com/spinel/), Matz's AOT Ruby compiler, I knew we’d see some interesting use cases, but a webapp wasn't on my radar. This experiment uses Sam’s [Roundhouse compiler](https://github.com/rubys/roundhouse) which converts Rails apps to targets like Rust, TypeScript, and now Spinel. **It’s not near the level of "compile any Rails app to a binary"**, but it’s fun to see a Ruby webapp served in 12MB of RAM! 

Sam Ruby  

💡 Sam has also been [experimenting with Roundhouse compiling to JRuby](https://intertwingly.net/blog/2026/06/11/The-Ruby-JRuby-Was-Built-to-Run.html), where the same emitted app hit ~46k req/sec vs 1k running normally as a Rails app.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/2a00a49a.png)](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=ruby-weekly-newsletter) 

[That Nightly Rollup Job Is Already Out of Date](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=ruby-weekly-newsletter) — By the time the job finishes, the numbers have moved. TimescaleDB extends the Postgres your Rails app runs on. Continuous aggregates update rollups incrementally on live data. No second database. [Get $1000 credit to start](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=ruby-weekly-newsletter). 

Tiger Data (creators of TimescaleDB) sponsor   

[Proposal: Add Parallel Sweeping to Ruby's GC](https://bugs.ruby-lang.org/issues/22121) — A core Ruby committer has a working example that lets Ruby’s garbage collector work in parallel to take advantage of multiple cores. Initial benchmarks show an average of a 3.64% run time improvement due to reduced GC pause times. 

Luke Gruber   

**⚡️ IN BRIEF:** 

- 🗓️ The _Ruby Users Forum_ has [launched an Events category](https://www.rubyforum.org/t/launching-the-events-category-a-new-place-for-discussing-ruby-conferences-and-meetups/478) where you can see, and discuss, [numerous upcoming Ruby events](https://www.rubyforum.org/c/events/16).
- 📕 Aaron Sumner is working on a new book: [Testing Rails from Scratch](https://leftofthe.dev/2026/06/21/new-book-testing-rails-from-scratch.html).
- If you buy (or have bought) a ticket to RubyConf 2026 before July 1st, you'll be [placed into a RubyConf VIP raffle](https://rubycentral.org/news/announcing-the-rubyconf-vip-raffle/) where five winners will get VIP seating and an invite to the speakers' dinner.
- Rails World, taking place this September 23-24 in Austin, Texas, has [unveiled its final roster of speakers](https://rubyonrails.org/2026/6/22/here-are-the-rails-world-2026-speakers).   

[Beyond Enumerable: Counting Distinct Values with HyperLogLog](https://baweaver.com/writing/2026/06/15/beyond-enumerable-counting-distinct-with-hyperloglog/) — Brandon continues his Ruby data wrangling series with a look at [an algorithm](https://en.wikipedia.org/wiki/HyperLogLog) for efficiently counting distinct values in large datasets without using much memory. 

Brandon Weaver   

[The Playwright Debugging Tool Rails Devs Aren't Using](https://thoughtbot.com/blog/the-playwright-debugging-tool-rails-devs-aren-t-using) — Playwright’s [Trace Viewer](https://playwright.dev/docs/trace-viewer) lets you play back recorded traces after a run. 

Justin Toniazzo   

[44 PostgreSQL Talks from POSETTE 2026 Now on YouTube](https://aka.ms/posette-playlist) — POSETTE 2026 is over, but the talks are here to stay. Learn from Postgres contributors, developers & experts. [Watch now](https://aka.ms/posette-playlist). 

Microsoft | AMD sponsor   

📄 [Dependencies Should Be Fetched Directly from VCS](https://www.arp242.net/deps-vcs.html) – A Go developer who’s now working with Ruby reflects on Go’s different approach to dependency management. Martin Tournoij 

🤖 [Testing GLM-5.2 on a Real Rails Upgrade](https://mariochavez.io/desarrollo/2026/06/19/testing-glm-52-rails-upgrade/) – GLM-5.2 is the current darling of the open LLM model scene, but is it useful for boring upgrade work? Mostly! Mario Alberto Chávez 

📄 [Make a Method a Recurring Task with Solid Queue](https://bhserna.com/make-a-method-a-recurring-task-with-solid-queue) Benito Serna  

🛠 Code & Tools 

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

[RubyUI 1.4: Copy-and-Paste Components for Ruby Webapps](https://www.rubyui.com/) — [shadcn/ui](https://ui.shadcn.com/)-inspired, server-rendered [Phlex](https://www.phlex.fun/) components ([here's all 49 of them](https://www.rubyui.com/docs/components)) you can copy and paste into Phlex views. v1.4’s [Dialog](https://www.rubyui.com/docs/dialog) component now uses the native `<dialog>` element. 

RubyUI Team  

💡 RubyUI is 'Rails-first' in terms of ease of integration, but I put them into a Sinatra app without much trouble once I had [a small shim](https://gist.github.com/peterc/1fbfa2b60c8fe7abd0555c94083e3e32) to load them in.  

[Jidoka: Automation with a Human Touch](https://sinaptia.dev/jidoka?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=rubyweekly-2026q2&utm_content=sponsored) — Pair coding agents with senior engineers to modernize legacy code and ship faster with built-in quality. 

JIDOKA by SINAPTIA sponsor   

[json 2.20: Ruby's Default JSON Gem](https://github.com/ruby/json/releases/tag/v2.20.0) — Both the C and Java parsers are no longer recursive, so if you parse deep documents with `max_nesting` set to false, you won’t hit stack level errors (though `max_nesting`’s _default_ is 100). `JSON::ResumableParser` has also been added to parse streams of JSON documents (no docs yet, but [the tests](https://github.com/ruby/json/blob/master/test/json/resumable_parser_test.rb) might help). 

The Ruby Team   

[rubyterm: A Pure Ruby Terminal for X11](https://github.com/vidarh/rubyterm) — An interesting ‘rough and opinionated’ experiment, especially as it doesn’t rely on C at all, complete with a pure Ruby X11 client and font renderer. 

Vidar Hokstad   

 [Polaris: A macOS GUI Tool for Kamal Deployments](https://polaris-deploy.com/#license) — A _commercial/paid_ tool for deploying, monitoring, and rolling back Kamal deployments from within a single Mac app. 

Cengiz Gürtusgil   

- [RubyGems and Bundler 4.0.15](https://blog.rubygems.org/2026/06/24/4.0.15-released.html) – A minor update, but with reduced memory usage during full-index loading and bundle installs. Good if you're using small VMs!
- [mruby/c 4.0](https://github.com/mrubyc/mrubyc) – An alternative, even lighter implementation of [mruby](https://mruby.org/) that can run with as little as 40KB of memory on microcontrollers.
- ✉️ [Mailbin 1.2](https://github.com/excid3/mailbin) – Preview Action Mailer emails in the browser by recording deliveries to a local temp directory.
- [kamal-backup 0.4](https://github.com/crmne/kamal-backup) – Add scheduled backups to Kamal-hosted Rails apps. By the creator of[RubyLLM](https://rubyllm.com/).
- [Rails Event Store 3.0](https://github.com/RailsEventStore/rails_event_store) – Event-driven architecture and pub-sub bus for Rails.
- [Grape 3.3](https://github.com/ruby-grape/grape/blob/master/CHANGELOG.md#330-2026-06-20) – Opinionated framework for creating REST-like APIs.
- [Shrine 3.8](https://github.com/shrinerb/shrine) – File attachment toolkit for Ruby apps. [Changelog](https://github.com/shrinerb/shrine/blob/master/CHANGELOG.md).
- [Yake 1.3](https://github.com/amancevice/yake) – A Rake-like DSL for writing AWS Lambda handlers.
- [mruby-lsp](https://github.com/Asmod4n/mruby-lsp) – A prototype language server for [mruby](https://mruby.org/).       

📰 Classifieds   

🧐 Where to host? Judoscale’s [cost comparison calculator](https://judoscale.com/tools/paas-pricing-calculator?utm_source=ruby-weekly&utm_medium=newsletter&utm_campaign=calculator&utm_content=paas-alternatives-head-to-head) puts the PaaS alternatives head-to-head. 

--- 

🔬 Feedback loops for agentic coding were a hot topic at RubyConf Austria. Check the [4 recipes to help your team ship without testing gaps](https://undercover-ci.com/blog/feedback-loops-for-agentic-coding).          

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