Stan Lo
st0012.dev
Stan Lo
@st0012.dev
Ruby committer working on various projects to improve Ruby’s developer experience: rdoc, irb, ruby-lsp, ruby-lsp-rspec
@Shopify Ruby DX
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
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.
November 10, 2025 at 12:40 PM
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 @hsbt.org ❤️)
November 10, 2025 at 1:48 AM
Reposted by Stan Lo
This
November 7, 2025 at 2:28 AM
Pistol Squat ✅
November 3, 2025 at 12:55 AM
Reposted by Stan Lo
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! 🌿
November 1, 2025 at 5:32 AM
Reposted by Stan Lo
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.
GitHub - eregon/ractor-shim: A shim to define Ractor by using Thread, if not already defined
A shim to define Ractor by using Thread, if not already defined - eregon/ractor-shim
github.com
October 30, 2025 at 9:01 PM
Reposted by Stan Lo
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.
www.a-k-r.org
October 28, 2025 at 9:56 PM
Reposted by Stan Lo
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...
Frozen String Literals: Past, Present, Future?
If you are a Rubyist, you’ve likely been writing # frozen_string_literal: true at the top of most of your Ruby source code files, or at the very least, that you’ve seen it in some other projects.
byroot.github.io
October 28, 2025 at 12:25 PM
I'm excited to share that I became a Ruby committer today! A 10 year goal since RubyKaigi 2015.
Huge thanks to @bernsteinbear.com for the JIT mentorship and nomination, @k0kubun.com for years of guidance, and everyone who supported me along the way.
Looking forward to improving Ruby and its DX!
October 28, 2025 at 12:11 PM
Reposted by Stan Lo
When people complain Shopify is too prominent, only main company donor in RC, etc.

WTF folks. As if that was their choice!

Where are the other companies pushing Ruby and Rails with real money and resources to be on par?

Talk is cheap.
October 18, 2025 at 7:29 PM
Reposted by Stan Lo
I wrote about some of my thoughts on the lessons we can learn from the RubyGems situation and how we can move forward. blog.peterzhu.ca/open-source-...
Open Source is the Most Fragile and Most Resilient Ecosystem - Peter Zhu
Some of my thoughts on the lessons we can learn from the RubyGems situation and how we can move forward.
blog.peterzhu.ca
October 18, 2025 at 3:58 PM
Turns out Herb linter doesn't have this limitation. So why wait:
github.com/ruby/rdoc/pu...
October 16, 2025 at 2:16 PM
@marcoroth.dev Is it possible for HERB to support `.rhtml` extensions too? Legacy non-Rails projects, like RDoc, and RDoc template gems like SDoc, can use .rhtml as template extension instead of .html.erb.
Or is there a way we can configure the target extension name?
October 16, 2025 at 12:11 PM
🎉 Incredibly honored to be a Ruby Prize 2025 finalist! Thank you to everyone who has supported my work on IRB, RDoc, debug, ZJIT, and other Ruby projects.
See you in Matsue!

rubyprize.jp
Ruby Prize 2025 | 最終ノミネート者決定 | RubyPrize
rubyprize.jp
October 15, 2025 at 3:27 PM
I was excited to use MCP servers with Claude Code to iterate on frontend changes.
But I quickly realized that using entire page screenshots consumes context extremely fast. So I ended up taking smaller screenshots manually to avoid frequent compaction.
Any tips to avoid this?
October 11, 2025 at 4:09 PM
Thank you for writing this, especially:

> Aaron got nerd sniped into making Bundler faster, and now he’s being called out for supposedly being part of a hostile takeover? Give me a break.
October 9, 2025 at 2:59 PM
Reposted by Stan Lo
This is by far the most sensible take ever since all this mess started.

Glad there are still some people capable making the difference between unsubstantiated conspiracy theories and proper reporting of facts.

Thank you ❤️
October 7, 2025 at 4:22 PM
In most cases, becoming an OSS maintainer/committer/core team member, whatever you call it, isn’t some special privilege won by luck. Yes, it looks good on a profile or resume—but that’s often the only “benefit”
September 28, 2025 at 9:45 PM
Reposted by Stan Lo
I’m excited to share that I’m starting as a Staff Developer at Figma!
September 22, 2025 at 10:35 AM
It always irks me when I order at a pub and the staff try to confirm if I want to full pint 🙄
September 20, 2025 at 6:23 PM
Reposted by Stan Lo
Shopify sponsors and collaborates with academia to take Ruby to new heights. We're working with Australian National University to integrate Memory Management Toolkit into Ruby. Earlier this year, we published a paper about it. Today, we wrote a blog post: railsatscale.com/2025-09-16-r...
Reworking Memory Management in CRuby
Shopify sponsors and collaborates with academia to take Ruby to new heights. In this post, we give an overview of what we’ve built in collaboration with the Australian National University.
railsatscale.com
September 16, 2025 at 9:48 PM
Invest some time to set up the debugger for your project, and document how to use it.

You don’t have to debug everything with it, but having it available will save you a lot of time when you do need it.

mahesh-hegde.github.io/posts/what_d...
Things you can do with a debugger but not with print debugging
mahesh-hegde.github.io
September 10, 2025 at 11:30 PM
This summer I started working on Ruby's new JIT compiler—ZJIT, with zero JIT background

After two months of learning, I wrote about the questions that puzzled me most:
- Where does JIT code live?
- How does Ruby execute it?
- And more!

railsatscale.com/2025-09-08-h...
How Ruby Executes JIT Code: The Hidden Mechanics Behind the Magic
Where does JIT-compiled code live? How does Ruby switch between bytecode and native execution? Why does TracePoint slow everything down? This post answers the JIT questions most Ruby developers have b...
railsatscale.com
September 9, 2025 at 8:40 PM
Reposted by Stan Lo
📣 After a lot of work we've shipped Ruby & Rails SDKs with support for @sentry.io brand new Logs feature which is now out of beta!

While you're waiting for Rails' "structured events" feature, you can start using Sentry *today* to get structured logging work OOTB! 🎉

#Ruby #Rails #OpenSource

👇🏻
September 9, 2025 at 12:19 PM