Stan Lo
@st0012.dev
Taiwanese 🇹🇼 / Ruby committer / Shopify Ruby DX / Building developer tooling infrastructure / Exploring how AI changes open source
st0012.dev
Suggested for you
Posts
Media
Videos
My team is hiring a manager to lead one of our team of engineers working in the infrastructure for the Ruby language and the Rails framework. Come work with us! www.shopify.com/careers/engi...
RDoc server mode with live reload is almost ready for ruby/ruby. Currently `make html` takes 30-60s and you have to rerun it after every change. With `make html-server`, you get instant live reload.
(Just found a bug with page links, but it's getting there)
Here is a demo:
An error occurred while loading the video. Please try again.
This is part of my March update. I also got accepted into Anthropic's Claude for Open Source program, and welcomed a new GitHub sponsor! Both of which I deeply appreciate 🙏
More RDoc improvements (RBS signatures, coverage) are coming too.
st0012.dev/updates/marc...
First Ruby LSP beta got released with partial migration to Rubydex 👀
github.com/Shopify/ruby...
Indexing our Rails application (+ dependencies) currently takes 12s with Ruby LSP's internal indexer.
Rubydex does it in 2s 💯 And I think it's even doing more work.
I joined RubyCentral to release a postmortem, and today I'm delivering my report on what happened. The hope is to provide more transparency and closure, 194 days since the incident on September 18.
I've named the incident "RubyGems Fracture." Read my report. #ruby
rubycentral.org/news/rubygem...
🙌
Janko Marohnić
@janko.io
· 22d
I finally made it, I'm running 3 Claude Code instances in parallel with cctop by @st0012.dev to monitor them.
github.com/st0012/cctop
The context switching is killing me. But I'm officially an AI developer.
I published my thought of "cooldown" feature of language package system: dev.to/hsbt/should-...
New post by Jacob about recent heap modeling optimizations in ZJIT :D
railsatscale.com/2026-03-18-h...
#UkrainianView
I remember the news abt this
Ukrainians:
Mariupol Drama Theater hit. People under the rubble.
russians:
WE HIT AZOV NAZIS... oh shi.
(delete post)
Ukronazis hit Theater with civillians!!!
global media: Mariupol Drama Theater is destroyed. Both sides blame each other.
Olena Halushka
@halushka.bsky.social
· 1mo
As I sit through yet another russian Shahed attack on Kyiv, I'm thinking of one of russia's most horrific crimes — the targeted destruction of the Mariupol Drama Theater four years ago today.
That airstrike killed hundreds of innocent people, mostly women and children who had sought shelter there.
Yesterday I released cctop v0.11.0 with a redesign and 4 color schemes!
If you want a lightweight macos app to help you monitor Claude Code/opencode sessions with keyboard navigation, give cctop a try:
github.com/st0012/cctop
“32yr old software engineer training hard to not be replaced by AI” - week 2
It's been released!
github.com/st0012/cctop...
Stan Lo
@st0012.dev
· 2mo
Per @ufuk.dev's request, OpenCode support coming soon!
Per 's request, OpenCode support coming soon!
Stan Lo
@st0012.dev
· 2mo
I used Claude Code to build a tool for managing CC sessions.
cctop sits in macOS menubar and shows real-time status of every session: idle, working, waiting for input, or waiting for permission.
You can then one click jumping to the right VS Code/Cursor window.
Link 👇
I used Claude Code to build a tool for managing CC sessions.
cctop sits in macOS menubar and shows real-time status of every session: idle, working, waiting for input, or waiting for permission.
You can then one click jumping to the right VS Code/Cursor window.
Link 👇
It's signed and notarized by Apple, so you can directly install and use it with:
```
brew tap st0012/cctop
brew install --cask cctop
```
Or learn more in: github.com/st0012/cctop
Claude Code’s agents team is far more powerful than I expected. But it also requires an overhaul on existing CC skills AND some new skills to fully utilize.
Building a macOS menubar app called "cctop" to show all running CC sessions
I wrote a SPEED markdown file with instructions for Claude Code (Opus 4.6) with a loop process in order to improve the speed of the Voxtral speed with the Metal backend and left my home to pickup my daughter, have lunch, ... Back home, the code is 2x faster, and it is still going.
Trying something new in 2026: I'm going to post monthly updates about the OSS work I did.
Here's the first one: st0012.dev/updates/janu...
(Repost as I updated the slug after posting 😅)
I haven’t opened my PS5 since I subscribed to Claude Max a few weeks ago 🤔
I built a Claude Code plugin that teaches it how to work with Ruby - picks the right version manager, reads the right docs, connects to Ruby LSP.
I think we will eventually have community maintained bridges between AI agents and the language ecosystem.
Here's the blog post: st0012.dev/2026/01/24/r...
With Aliki shipped, in 2026 I'll be focusing on RDoc's writing experience: better Markdown support (some in v7.1.0 and more to come), RBS type signatures, and AI-friendly documentation.
st0012.dev/2026/01/12/m...
Over the weekend I rebuilt my blog using Claude Code. Then I tried fixing issues from my phone using Claude's Code sessions.
It was a fun experience and I want to write more posts this year!
st0012.dev/2026/01/11/f...
RDoc has always supported Markdown as a markup language. But its support was buggy and lacks documentation.
After a year of addressing various related issues, I was able to rewrite a doc for it. I think we'll soon be able to migrate from RDoc to Markdown.
ruby.github.io/rdoc/doc/mar...
After 6 months of using AI to help me work on OSS projects—from contributing to new projects, to maintaining and drastically improving my own projects—I'm cautiously optimistic that AI tools can be positive for OSS maintenance:
st0012.dev/ai-and-open-...
Just published this year's version of my "Ruby Changes" project: a full annotated changelog for Ruby 4.0:
rubyreferences.github.io/rubychanges/...
Goals: Full, comprehensive, concise, well-structured.
Examples, explanations of reasons, links to docs, all of it.
ZJIT is available starting in Ruby 4.0! Please try it out on your test suite, maybe in a staging environment, and let us know how it goes!
railsatscale.com/2025-12-24-l...
The official Ruby documentation site is also renewal at this year. ruby-lang.org/en/news/2025...
Thanks !
#rubyrelease30th I’d like to introduce Aliki, RDoc and docs.ruby-lang.org’s new theme 😄
railsatscale.com/2025-12-22-i...
I published the context and concept for redesigning www.ruby-lang.org. www.ruby-lang.org/en/news/2025...
I'm really happy to see receive the 2025 Rails Luminary Award! 🎉
He’s done so much for the Rails ecosystem and the Ruby community.
Huge congrats, Marco! 🙌
And it's great to have and around.
#rails #RubyOnRails #ReActionView #herb
Finally, I made Ruby 30th anniversary stamp for You can get this at Ruby conferences that I'm going to.
Ever forget whether it's "change_table" or "alter_table", "remove_column" or "drop_column", "set_column_null" or "change_column_null"?
You don't? Well, I do 😄 So, I thought it would be cool if Ruby LSP could autocomplete schema statements in migrations ✨
github.com/Shopify/ruby...
Have you noticed how great the Ruby docs looks like for the master?
docs.ruby-lang.org/en/master/
Thank you and the entire team contributing to RDoc for these improvements.
Replied to
Subscribe to Ruby Around the World if you haven’t already! ☺️ youtube.com/@rubyaroundt...
I've uploaded the slides for my RubyPrize talk @RubyWorldConf: Ruby DX - Past & Future.
It's short (15min) but I summarized Ruby DX progress since Ruby 3.0, shared my thoughts on how to prepare for the AI age, and a teaser for an upcoming project 😉
github.com/st0012/slide...
Extended an existing doc to explain Ruby’s VM stack, which I learned from my ZJIT work:
docs.ruby-lang.org/en/master/co...
My advice on top of this: Use AI to learn the codebase and explore contribution options and ideas, then write the PR manually.
I also wonder if projects having some agent instructions can:
- Make AI-assisted exploration more productive
- Reduce fully automated vibe-coding PRs
Anthony Fu
@antfu.me
· 5mo
My first advice to junior contributors is to STOP using vibe coding for PRs. OSS is always about people more than about code. We don't need more code generated by LLM, we need more people who care.
I'm very honored to have received this year's RubyPrize from Matz's hands in Matsue last Thursday, recognizing my work on Ruby and its development tools.
I can still remember how nervous I was asking Matz for a picture back in 2016 😂 Time really flies
(Photo from ❤️)
This just made my day! 🙏🏼
Open Source can be rough sometimes, but it's really awesome when people take the time to report how it works for them!
Can't wait to see where Herb is going in the next few months! 🌿
Announcing ractor-shim, a new gem that reimplements Ractor on top of Thread & Queue: github.com/eregon/racto...
This gem provides the full Ruby 3.5 Ractor API (Ractor::Port, Ractor#{join,value,monitor}, etc) on TruffleRuby, JRuby, and CRuby 2.7 to 3.4.
If you want to make change or add new feature to Ruby, I suggest to read www.a-k-r.org/pub/howto-pe...
Ruby's decision-making process isn't democratic or based on voting. It's more like a game of persuading Matz and Module maintainers.
I was recently reminded that not everyone fully understand what the frozen string literal magic comment is about.
So I figured it was the occasion for another deep dive.
byroot.github.io/ruby/perform...
I'm excited to share that I became a Ruby committer today! A 10 year goal since RubyKaigi 2015.
Huge thanks to for the JIT mentorship and nomination, for years of guidance, and everyone who supported me along the way.
Looking forward to improving Ruby and its DX!