Sign in

Sam Ruby

@intertwingly.net
1.1K followers 49 following 183 posts

Author: Agile Web Development with Rails 8; Retired ; en.wikipedia.org/wiki/Sam_Ruby

PostsRepliesMedia
Sam Ruby @intertwingly.net · 4h
100% written by a human. Porting and on-shotting are anecdotes. Yes, Rust is faster than CRails. Duh. But is that really the interesting question? What happens when your needs change and you are faced with a requirement than you never anticipated before? intertwingly.net/blog/2026/09...
intertwingly.net
Rust is the answer to the wrong question
130
Sam Ruby @intertwingly.net · 22h
Nokogiri, Loofah and Crass now compile to native code with Spinel, Matz's Ruby-to-C compiler. Same requires, same APIs, no Rails. An HTML sanitizer becomes a 2–3 MB binary that runs in 5–9 ms, byte-identical to the gems on their own test inputs. intertwingly.net/blog/2026/09...
intertwingly.net
Nokogiri, Loofah and Crass, Compiled
021
Reposted by Sam Ruby
Eduard G.Castelló @elpatroned.bsky.social · 29/09/2026
Today I contributed to #roundhouse and #spinel, unthinkable for me a few years ago. Tooling from @matz.bsky.social and @intertwingly.net makes it approachable: compile my Rails API, hit an issue, report it, repeat. Now I see low-level details I couldn't (or wouldn't) before🙃
121
Sam Ruby @intertwingly.net · 29/09/2026
This could be important: github.com/rubys/roundh...
github.com
Make `roundhouse check` fast on large apps by tobi · Pull Request #171 · rubys/roundhouse
roundhouse check on a very large app (Shopify core: 96k .rb files, 140 components) was dominated by two quadratic costs in constant resolution. This PR measures, then removes them. Commits ROUNDHO...
010
Sam Ruby @intertwingly.net · 28/09/2026
"As if", a new post covering Aaron's closing keynote, DHH's new rust port of campfire, performance, and maintainability. Yes, it is "AI slop", but I think the questions this piece poses are worth exploring. intertwingly.net/blog/2026/09...
010
Sam Ruby @intertwingly.net · 27/09/2026
Partly in the Right - intertwingly.net/blog/2026/09...
intertwingly.net
Partly in the Right
010
Sam Ruby @intertwingly.net · 25/09/2026
intertwingly.net/blog/2026/09...
intertwingly.net
Pencils Down, Notation Up
071
Reposted by Sam Ruby
Eduard G.Castelló @elpatroned.bsky.social · 18/09/2026
I made a tiny Rails API compile into a native Linux binary using Roundhouse + Spinel. This repo shows the full path: Rails source → compatibility check → generated Spinel target →native binary → Docker deployment. Includes a runnable binary and setup guide. github.com/eddygarcas/s...
112
Sam Ruby @intertwingly.net · 22/09/2026
@headius.bsky.social @eregon.me intertwingly.net/blog/2026/09... - let me know what conclusions I may have gotten wrong or what areas I should explore next.
intertwingly.net
Campfire, Three Rubies
100
Sam Ruby @intertwingly.net · 20/09/2026
A PR against Campfire, merged by @rosa.codes, and Campfire on Spinel now passes 300 out of 300 model and controller tests: intertwingly.net/blog/2026/09...
intertwingly.net
Campfire, One Short
020
Sam Ruby @intertwingly.net · 19/09/2026
TruffleRuby specializes the interpreter to the program at runtime; Roundhouse specializes Rails to the app ahead of time. I'm now, for the first time, starting to measure the impact of each separately and together: intertwingly.net/blog/2026/09...
intertwingly.net
Two JITs, Opposite Signs
012
Sam Ruby @intertwingly.net · 18/09/2026
Roundhouse Released: intertwingly.net/blog/2026/09...
Matz on stage: 5x the throughput; 366 MB against 4.6 GB, referring to Campfire → Roundhouse → Spinel
041
Reposted by Sam Ruby
Benoit Daloze @eregon.me · 17/09/2026
So Matz is saying you can make Campfire (a Rails app) 5 times faster and use a twelvth of the memory by using github.com/rubys/roundh... + github.com/matz/spinel
1122
Sam Ruby @intertwingly.net · 18/09/2026
intertwingly.net/blog/2026/09... - browser based IDE/playground, LSP, and MCP for Spinel
intertwingly.net
Spinel at Your Fingertips
000
Sam Ruby @intertwingly.net · 14/09/2026
Hyprland as the multiplexer: intertwingly.net/blog/2026/09... #omarchy #herdr
intertwingly.net
Terminals That Outlive the Laptop
010
Sam Ruby @intertwingly.net · 11/09/2026
Spinel demo in a tweet: curl -sL rubys.github.io/roundhouse/c... | tar xz cd campfire-docker docker build -t campfire . docker run --rm -p 3000:3000 -v campfire-data:/app/storage campfire intertwingly.net/blog/2026/09... intertwingly.net/blog/2026/09...
000
Sam Ruby @intertwingly.net · 05/09/2026
Developing in public, Campfire on Spinel measurements: intertwingly.net/blog/2026/09... TL;DR: some early wins (examples: cold start, memory, sockets), and some known work to be done, then profiling.
intertwingly.net
Campfire, Measured
121
Sam Ruby @intertwingly.net · 03/09/2026
Video of my talk from RubyConf; preview of my talk in Deccan Queen on Rails. www.youtube.com/watch?v=33Sa... intertwingly.net/blog/2026/09... intertwingly.net/blog/2026/09...
youtube.com
RubyConf 2026 - There Is No Server by Sam Ruby
YouTube video by Ruby Central
110
Sam Ruby @intertwingly.net · 01/09/2026
MVP version of Campfire on Spinel is now something you can run yourself: intertwingly.net/blog/2026/09...
intertwingly.net
Campfire Chats
010
Sam Ruby @intertwingly.net · 28/08/2026
As of today, Campfire (unmodified) boots on Spinel. This is both an important milestone and the first step of many. intertwingly.net/blog/2026/08...
intertwingly.net
Campfire Boots
020
Sam Ruby @intertwingly.net · 29/07/2026
Next target: Lobste.rs on Spinel: intertwingly.net/blog/2026/07...
200
Sam Ruby @intertwingly.net · 22/07/2026
Rails on Roda: intertwingly.net/blog/2026/07...
010
Sam Ruby @intertwingly.net · 20/07/2026
Roda on Spinel: intertwingly.net/blog/2026/07...
010
Sam Ruby @intertwingly.net · 19/07/2026
@ufuk.dev What we discussed at RubyConf is now implemented and in the test suite: unannotated scopes and class methods infer Relation[T], and scopes resolve on relation receivers — Story.recent.for_user(1) just types. github.com/rubys/roundh... and github.com/rubys/roundh...
110
Sam Ruby @intertwingly.net · 16/07/2026
My RubyConf slides: intertwingly.net/blog/2026/07... Demos, speaker notes, and links to blog posts that contain more depth. All running in your browser.
intertwingly.net
There Is No Server
020
Sam Ruby @intertwingly.net · 11/07/2026
Lobste.rs as a benchmark: initial progress report: intertwingly.net/blog/2026/07...
000
Sam Ruby @intertwingly.net · 10/07/2026
> My goal with JRuby has always been to give Rubyists more tools and more opportunities. By combining JRuby with the power and ecosystem of the JVM, we’ve brought Ruby and Rails to places it never could have gone before. Hold my beer. :-)
021
Sam Ruby @intertwingly.net · 07/07/2026
Mastodon's streaming server exists because MRI can't hold ten thousand idle sockets. Rewrote it in a Ruby that compiles: 300 connections, 16MB vs Node's 202MB. It's the first rung of a bigger ladder — Mastodon on Spinel, as a supported configuration. intertwingly.net/blog/2026/07...
030
Sam Ruby @intertwingly.net · 06/07/2026
Status update: ingesting Mastodon. intertwingly.net/blog/2026/07...
000
Sam Ruby @intertwingly.net · 25/06/2026
Live Types for Rails: intertwingly.net/blog/2026/06...
000
Sam Ruby @intertwingly.net · 20/06/2026
Roundhouse demos: intertwingly.net/blog/2026/06...
Type comment.commenter + 1 and a red marker appears under it, live, because adding an integer to a string is an error and the compiler knows it.
000
Sam Ruby @intertwingly.net · 19/06/2026
Spinel on Rails: intertwingly.net/blog/2026/06...
010
Sam Ruby @intertwingly.net · 11/06/2026
The Ruby JRuby Was Built to Run: intertwingly.net/blog/2026/06...
intertwingly.net
The Ruby JRuby Was Built to Run
020
Sam Ruby @intertwingly.net · 25/05/2026
intertwingly.net/blog/2026/05...
intertwingly.net
Numbers Without Conclusions
110
Reposted by Sam Ruby
Deccan Queen on Rails @hideccanqueen.bsky.social · 20/05/2026
The co-author of the legendary AWDR book is coming to Deccan Queen 🚂 We’re excited to welcome Sam Ruby as a speaker at Deccan Queen this October in Pune. See you in Pune this October. #DeccanQueenOnRails #RubyOnRails #Rails @samruby #Pune
031
Sam Ruby @intertwingly.net · 02/05/2026
Two perspectives on one decision: intertwingly.net/blog/2026/05... and intertwingly.net/blog/2026/05... ; background: intertwingly.net/blog/2026/05... and intertwingly.net/blog/2026/04...
intertwingly.net
Borrowed from Prisma
010
Sam Ruby @intertwingly.net · 28/04/2026
Two make commands from a fresh git clone: a real Rails app transpiled to Spinel-subset Ruby, running on localhost:3000 with real-time Turbo broadcasts and SQLite persistence. Roundhouse iteration one is here. intertwingly.net/blog/2026/04...
intertwingly.net
Round Trip
000
Sam Ruby @intertwingly.net · 27/04/2026
Convergence: intertwingly.net/blog/2026/04...
intertwingly.net
Two Compilers, One Subset
011
Sam Ruby @intertwingly.net · 25/04/2026
Two Ruby compilers, started about the same time, by people unaware of each other's work. The interesting question isn't which is right — it's what changed. intertwingly.net/blog/2026/04...
intertwingly.net
Two Compilers, One Moment
031
Sam Ruby @intertwingly.net · 16/04/2026
Nine days, six languages: intertwingly.net/blog/2026/04...
intertwingly.net
Nine Days
021
Sam Ruby @intertwingly.net · 14/04/2026
intertwingly.net/blog/2026/04...
intertwingly.net
Python on Rails
100
Sam Ruby @intertwingly.net · 13/04/2026
I'll be presenting at this conference; the title of my talk is "There is no Server" and I'll be showing Ruby taken to places it has never been before.
030
Sam Ruby @intertwingly.net · 10/04/2026
intertwingly.net/blog/2026/04...
intertwingly.net
Crystal on Rails
Compiling arbitrary Ruby is a problem that's been attempted many times and never solved. The language is too dynamic — method_missing, eval, define_method, open classes. Any expression can change the meaning of any other expression at runtime. Static analysis can't keep up.
010
Sam Ruby @intertwingly.net · 03/04/2026
Any QuickBeam fans out there? Check this out: intertwingly.net/blog/2026/04...
intertwingly.net
Rails on the BEAM
053
Sam Ruby @intertwingly.net · 25/03/2026
Calling JavaScript from Ruby: intertwingly.net/blog/2026/03...
intertwingly.net
Calling JavaScript from Ruby
010
Sam Ruby @intertwingly.net · 25/03/2026
The Transpiler That Reads Your Whole App: intertwingly.net/blog/2026/03...
intertwingly.net
The Transpiler That Reads Your Whole App
000
Sam Ruby @intertwingly.net · 22/03/2026
WriteBook on Juntos: intertwingly.net/blog/2026/03...
intertwingly.net
Writebook on Juntos
000
Sam Ruby @intertwingly.net · 20/03/2026
Ruby2JS: now Self-Hosted intertwingly.net/blog/2026/03...
intertwingly.net
Ruby2JS: Self-Hosted
000
Sam Ruby @intertwingly.net · 18/03/2026
A Rails blog transpiled to JavaScript produces identical HTML. Not similar. Not close enough. Identical. Here's how I proved it and what I found along the way. intertwingly.net/blog/2026/03...
intertwingly.net
Same Code, Same Output
010
Sam Ruby @intertwingly.net · 17/03/2026
Three Tiers, Zero Servers A Rails blog: SharedWorker for application logic, dedicated Worker for SQLite with OPFS persistence, main thread for Turbo and Stimulus. Under 600KB gzipped. No server required. intertwingly.net/blog/2026/03...
intertwingly.net
Three Tiers, Zero Servers
000