COSCUP 2026 - Conference for Open Source Coders, Users, and Promoters

Mu-Fan Teng

滕牧帆 (Mu-Fan Teng / Owaru Ryudo),Ruby Taiwan 總召,寫 Ruby 第 19 年。白天寫 Rails,晚上和週末把 Ruby 推到 web app 以外的地方 — 攤位遊戲、教學工具、IoT 玩具、ruby.wasm 實驗。常在 COSCUP、SITCON、RubyConf TW 的 Ruby 攤位後面負責解釋「為什麼你應該寫 Ruby」。相信讓人寫到第一行 Ruby,比讓人讀第一篇 Ruby 文章重要。

Mu-Fan Teng (Owaru Ryudo) is the Chief Organizer of Ruby Taiwan and a 19-year Rubyist. Rails by day; by night and weekend, he pushes Ruby into places it doesn't belong yet — booth games, teaching tools, IoT toys, ruby.wasm experiments. You'll find him behind the Ruby booth at COSCUP, SITCON, and RubyConf TW, explaining why you should write Ruby. He believes getting someone to write their first line of Ruby matters more than getting them to read their first Ruby article.


Intervention

09/08
10:10
30minutes
你的 ruby.wasm 在手機上其實會壞
Mu-Fan Teng

SITCON 2026 我們在 Ruby Taiwan 攤位放了一個現場用 Ruby 寫一行程式的小遊戲:Jekyll 靜態站 + ruby.wasm,在瀏覽器裡跑 Ruby 4.0。設計上很單純,工程上完全不是。

上線第一天我們發現:iOS Safari 整個卡住、Android Chrome 靜默 hang 在載入畫面、學生切到別的 app 回來題目就消失。最後這個跑了一千人的攤位,背後其實是三個讓我們改寫一半程式碼的手機瀏覽器地雷。

這場 talk 會帶你進到這個專案的引擎室:我們怎麼把 EXPECTED_MAP 整段砍掉、改用 rubyVM.eval + StringIO + srand(seed) 讓答案在前端即時算;中、英、日三語的 i18n 怎麼從 Liquid 一路注入到 JavaScript;7 題標準 Ruby 加 3 題 JS/Python/PHP 對照題的跨語言流程怎麼設計;以及那三個手機 bug 真正的 root cause 與修法。

適合對 ruby.wasm、前端 Ruby、或「怎麼把 Ruby 推到 Rails 以外」有興趣的所有人。


At SITCON 2026, the Ruby Taiwan booth ran a live coding game: a Jekyll static site + ruby.wasm 4.0, with students writing one-line Ruby in the browser. Simple in concept, brutal in practice.

Day one, we found out: iOS Safari froze, Android Chrome silently hung at load, students who switched apps lost their progress. The booth that served 1000 students was held together by fixes for three mobile-browser landmines.

This talk takes you into the engine room: how we replaced a giant EXPECTED_MAP with rubyVM.eval + StringIO + srand(seed) to compute answers in the browser; how zh/en/ja i18n flows from Liquid into JavaScript; how the 7 Ruby + 3 cross-language (JS/Python/PHP) format works; and the real root cause behind each mobile bug.

For anyone curious about ruby.wasm, Ruby in the browser, or pushing Ruby beyond Rails.

Ruby Taiwan
TR514