~/conference

RubyKaigi 2026

date:2026-04-22..2026-04-24
location:Hakodate, Japan
series:RubyKaigi · 3 editions
editions:[RubyKaigi 2015, RubyKaigi 2017, RubyKaigi 2026]
tags:[ruby]
titleauthorlength
Building a Modern Ruby <-> C++ ToolchainCharlie Savage28m
Modernized Rice adds C++11+ templates, STL support, ownership semantics and buffer/pointer handling, FFI‑Clang parses headers into an AST and RubyBindGen…
Talk on
Programming with a DJ Controller - not vibe codingMasatoshi Seki25m
Programs a cheap DJ2GO2 Touch (~10,000 yen) with Ruby using unimidi and a custom MIDI-splitting library that fixes clumped messages, and drives LEDs and knob…
Talk on
A Write Barrier Validating GC for RubyJohn Hawthorn28m
Built a write‑barrier validating GC called WB check that runs as a separate modular GC for CRuby, captures an initial snapshot of object references, records…
Talk on
Smalruby: Visualizing Ruby with Bidirectional TranspirationKouji Takao29m
A web app that bidirectionally converts Scratch blocks and real Ruby runs entirely in the browser using a forked Scratch editor plus the Prism WebAssembly…
Talk on
No Types Needed, Just Callable Method CheckDaichi Kamiyama27m
Claims that the only essential static check in many Ruby workflows is that a called method actually exists and builds a CI-first tool to do just that. The gem…
Talk on
Blazing-fast Code Indexing for Smarter Ruby ToolsAlexandre Terrasa21m
A new shared code index called RuboCop (Rubidex) provides project discovery, fast parallel syntactic indexing and a worklist fixed point resolver that builds a…
Talk on
PicoRuby as a Multi-VM Operating SystemKatsuhiko Kageyama30m
A minimal OS runs on an ESP32 that hosts multiple PicoRuby VMs concurrently, claiming playable GUI apps (Tetris, Flappy Bird, Doom-style demo) and hardware I/O…
Talk on
Pure Intonation on Browser: Building a Sequencer with Rubynagachika30m
Purified Synth is a browser-based sequencer and subtractive synth implemented with Ruby/WASM + Web Audio API that plays pure-intonation microtonal chords using…
Talk on
Building the Next-Generation Garbage Collector in RubyPeter Zhu30m
MMTK is integrated into Ruby via a Rust-backed runtime and a C binding that adds a fast-path bump-pointer allocator, plus support for moving Immix and a new…
Talk on
PicoRuby for IoT: Connecting to the Cloud with MQTTYuhei Okazaki29m
Adds a Wi‑Fi class and ports TCPSocket/UDPSocket/SSLSocket to ESP32, refactors mbedTLS refactor to resolve duplicate-version link errors, and implements…
Talk on
Whose Memory is it AnywayJacob Denbeaux27m
Implements two concrete JIT passes for Ziji: a load elimination pass that replaces repeated load_field with cached values and a dead store elimination pass…
Talk on
ruby.wasm also enables JavaScript to call Ruby libraries.Shigeru Nakajima30m
ruby.wasm now targets calling Ruby from JavaScript by adding a minimal loader and improving value wrappers: Node.js demo uses jsrequire_local to load doc.rb…
Talk on
Integration of PRK Firmware and R2P2Hayao Kimura29m
R2P2 now runs keyboard firmware: USB HID is implemented but remains always enabled (runtime toggle PR is dropped for stability), WS2812 LEDs work by using…
Talk on
Autoresearching Ruby Performance with LLMsNate Berkopec28m
AutoResearch runs LLM agents against benchmarks and opens PRs using Pi auto research and simple tools; one Sidekiq run reports 21,000 jobs/sec and yields…
Talk on
Chasing Real-Time Observability for CRubyShintaro Otsuka29m
rrtrace visualizes CRuby in real time across time, thread count and stack depth by streaming 16-byte events (TracePoint, GC enter/exit, InternalThreadEvent)…
Talk on
Ruby Committers and the World01h 07m
Covers concrete proposals and measurable outcomes: a push for String popcount and byte/bit APIs with MSB/LSB indexing debate; governance options including a…
Panel on
Writing DSL for DSL: Catch Code as It's Born with TracePointAndrey Novikov20m
Typelizer extracts field types from serializer DSLs and emits TypeScript types or OpenAPI schemas, merging DB schema, ActiveRecord attributes and annotations…
Talk on
Good Enough Types: Heuristic Type Inference for RubySangyong Sim30m
A heuristic type-inference gem called Type Guesser infers Ruby types by collecting methods called on variables, applying a duck-typing-like heuristic and light…
Talk on
Invariants in my own Ruby: some things must never changeSoichiro Ishiki22m
An independent Ruby implementation builds a JIT almost entirely in Rust and now loads gems and Bundler, hitting about 350 FPS on OptCarrot versus ~70 FPS with…
Talk on
Making the RBS Parser FasterSoutaro Matsumoto28m
RBS parser work focuses on concrete wins: lexer byte-width caching speeds core RBS parsing ~16% and fixes non-UTF-8 behavior, and switching the arena from mmap…
Talk on
Surviving Black Friday: 329 billion requests with Falcon!Samuel Williams, Marc-Andre Cournoyer, Josh Teeter29m
Falcon replaces Unicorn for Shopify storefront rendering and carries 329 billion requests over Black Friday weekend, peaking at 1.42M req/s, with a fiber-based…
Talk on
Require Hooks: Filling the Gap in Ruby's ExtensibilityVladimir Dementyev29m
Provides a concrete API called require_hooks that adds three hook types (around_load, source_transform, a full hijack_load) and runs on MRI and JRuby by…
Talk on
HTML-Aware ERB: The Path to Reactive RenderingMarco Roth32m
Herb provides a real parser and grammar for HTML+ERB, with bindings for Rust/C/WebAssembly/Node/Ruby and an editor LSP that flags invalid HTML, ERB, or Ruby…
Talk on
Thread-Coordinated Ractors: The Pattern That DeliversMaciej Mensfeld28m
Shows that replacing thread-heavy JSON and CPU work with a persistent ractor pool inside Karafka delivers real wins: frozen deserialization and offloading…
Talk on
A Faster FFIAaron Patterson32m
Claims a JIT-backed FFI pipeline that beats handwritten C: a Ruby-side translator generates C extensions with tiny trampolines that smuggle type metadata…
Talk on
Ruby the Hard Way: Writing Bytecode to Optimize Plain RubySamuel Giddins33m
A toy optimizer gem called optimize gem decodes YARV binaries, rewrites instruction sequences and re-encodes them between Ruby’s dump and eval steps. The…
Talk on
Ruby Releases RubyHiroshi Shibata31m
Ruby core and packaging now ship far more often with much less toil: CI runs across GitHub Actions and an in-house RubyCI using chkbuild, infrastructure is…
Talk on
Ruby on NES - how to make the smallest ruby everYutaka HARA30m
A tiny Ruby runs on the NES: an mruby bytecode interpreter built in cc65 that omits GC, Array, and String but runs a 70-line game on an emulator…
Talk on
The AST Galaxy to the Virtual Machine BluesKoichi Sasada31m
Introduces an AST-based reusable optimization framework that uses astrogen to generate specialized C via subtree dispatchers, names AST subtrees with…
Talk on
Back to the roots of dateODA Hirohito32m
Pure‑Ruby gem ruby-date rewrites the C Date implementation (first commit Jan 10, tests green Feb 11) by porting and reimplementing Date._parse and other…
Talk on
Lightning-Fast Method Calls with Ruby 4.1 ZJITTakashi Kokubun29m
Proposes replacing per-call frame writes with driver frames in ZJIT, collapsing ~10–40 memory writes down to three by lazy-materializing frame metadata and…
Talk on
Implementing Core SetJeremy Evans29m
Ruby 4.0 replaces the stdlib Set with a native SET_TABLE-backed implementation that removes per-entry hash values and yields about a 33% memory reduction for…
Talk on
From Ruby 2 to 4: Updating a C extension for a Modern VMIvo Anjo30m
Datadog updates a C extension to target Ruby 4 APIs, replacing legacy patterns that slow GC and inflate memory. Practical swaps: use…
Talk on
From Formal Specification to Property Based TestMasato Ohba30m
A gem named spec2pbt parses formal specifications and scaffolds runnable Property Based Tests plus a separate config file, lowering only safe, recognized…
Talk on
Extreme MQTT on PicoRubyRyosuke Uchida27m
A C binding called picoruby-net-mqtt-femto runs LWIP's MQTT client on a Raspberry Pi Pico W and implements QoS 0 and QoS 1 with automatic retransmit and…
Talk on
Native Multi-Core Support in mruby/c: Enhancing PerformanceKazuaki Tanaka31m
mruby/c gains native multi‑core support by extending the TCB and adding a dedicated migration queue to avoid a global lock; task migration happens via a new to…
Talk on
Rapid Start: Faster Internet Connections, with Ruby's HelpKazuho Oku31m
Rapid Start changes startup by sending twice the initial window over 1 RTT, using a 3x growth that drops to 2x when queue delay rises, and a recovery that…
Talk on
Practical TypeProf: Lessons from Analyzing OptcarrotYusuke Endoh31m
TypeProf applied to Optcarrot (a 6,000-line NES emulator) finds 669 false-positive errors initially and is driven to zero by a mix of targeted RBS at…
Talk on
From C to Ruby: Porting DoomChris Hasinski24m
A full rewrite of Chocolate Doom in Ruby runs original WAD assets with a software renderer (no MIDI music, frame rate unlocked) and targets playable speed: the…
Talk on
The future of Ruby documentationStan Lo26m
RDoc 8.0 removes old Darkfish aesthetics with the Aliki theme (shipped in Ruby 4.0), replaces the fragile parser with the Prism parser (2,200 → 1,200 lines of…
Talk on
Keeping Ruby Running on CygwinDaisuke Fujimura31m
Maintains Ruby on Cygwin and documents concrete results: upgraded 2.6 → 3.2 then to 3.4 (3.4.7 released), rewrites cygport packaging to split out RubyGems and…
Talk on
Pure Ruby Apache Arrow reader/writerKouhei Sutou28m
A pure-Ruby reader/writer for the Apache Arrow file/stream format (published as red_arrow_format) reads and writes Arrow with zero-copy where possible by using…
Talk on
mruby on C#: From VM Implementation to Game ScriptinghadashiA32m
A C# reimplementation of the mruby VM called MRubyCS runs as a pure .NET package so Unity and other C# apps avoid native builds — installable via dotnet add…
Talk on
Building a Standalone Ruby Programming EnvironmentShunsuke Michii31m
A tiny Halcomboard uses an RP2350 (RP2350A) to run a nearly complete Ruby environment: 6 MB flash, 8 MB PSRAM, 640×480 @60Hz DVI via RP2350 HSTX DMA trick…
Talk on
Uzumibi: Reinventing mruby for the EdgesUchio KONDO29m
Rust rewrite of mruby called MRubyEdge compiles to tiny wasm that runs on Cloudflare Workers, Fastly Compute, and Google Cloud Run, connects to KVS, Durable…
Talk on
Guide to getting started walking source codes of CRubyYoh Osaki30m
Practical guide to reading CRuby source: skip noncompiled #if blocks, debug and assert paths, and semantic areas irrelevant to your goal; read functions…
Talk on
Portable and Fast - How to implement a parallel test runnerTsutomu Katsube31m
Implements a multiprocess test runner using spawn over fork for Windows portability, falling back to TCP sockets on Windows and pipes elsewhere; uses…
Talk on
The Less-Told Story of Socket TimeoutsMisaki Shioi29m
Ruby 4.0 adds open_timeout to Socket.tcp/TCPSocket.new so a single timeout covers name resolution through connection, solving cases where resolv_timeout and…
Talk on
Making Hash Parallel, Thread-Safe and Fast!Benoit Daloze25m
Implements a new concurrent hash storage in TruffleRuby that switches storage when an object becomes shared, uses lock-free per-bucket lists and a lock-free…
Talk on
(Re)make Regexp in Ruby: Democratizing internals for the JITHiroya Fujinami30m
Rebuild of Onigmo, named Narak, produces a full Ruby-aware regex parser and a prototype pure-Ruby matcher that tests JIT tradeoffs. The parser is done and a…
Talk on
When Can You Skip a Test? Tracking Test ImpactAndrey Marchenko28m
DataDog’s test impact tool claims to cut CI time dramatically — examples show a 15‑minute suite reduced to 9 seconds for some commits and a goal of ~50%…
Talk on
Digits, Digits, and Digitstomoya ishida31m
BigDecimal's BigMath gains practical huge‑digit functions: exp and trig move from minutes or years to seconds by improving multiplication and using binary…
Talk on
Faster Bundler, Happier DevelopersEdouard Chin29m
Bundler and RubyGems deliver concrete speedups: a stable sort key replaces slow version comparisons (5× faster), Git gem clones run in parallel (≈5× faster for…
Talk on
Liberating Ruby's Parser from Lexer HacksYudai Takada26m
Claim: replacing ad hoc lexer flags with a parser-aware scanner (PSR) exposes the real causes of Ruby syntax confusion and lets the lexer stop guessing. The…
Talk on
Twenty Years of JRubyCharles Oliver Nutter46m
Twenty years of work on JRuby produces concrete wins: JRuby 10.1 released with a core object layout reduced to 24-byte objects and short Fixnum storage, a JIT…
Talk on
mruby in the 8-bit world: mruby VM for Zilog Z80Yuji Yokoo29m
Runs mruby bytecode on a Z80 by implementing a custom VM (repo: codeberg/yugigo/mruby-z) and boots directly from a Sega Master System cartridge. Uses…
Talk on
Exploring RuboCop with MCPIto Koichi32m
Built an MCP Ruby SDK that runs but stays Tier 3 experimental, with server-side conformance tests passing 100% while client features lag. Implements RuboCop…
Talk on
ext/profile, or How to Make Profilers Tell the TruthDaisuke Aritomo29m
Profilers often miss hot work because RB_profile_frames only sees real frames, so specialized instructions and inlined methods disappear; a working hack…
Talk on
Funicular: A Browser App Framework Powered by PicoRuby.WASMHitoshi Hasumi30m
PicoRuby.WASM runs a mruby VM with a cooperative task scheduler so Ruby’s sleep/yield work in the browser by stepping VM instructions for ~16ms then yielding…
Talk on
TutorialKit.rb: interactive Ruby gem docs powered by WasmAlbert Pazderin33m
Framework runs a full Rails dev environment entirely in the browser by embedding RubyWasm into a StackBlitz-style web container and using Wazi VFS for gems and…
Talk on
Million-Agent Ruby: Ractor-Local GC in the Age of AIJustin Bowen29m
A Ractor-native agent framework called Ragents runs simulated LLMs on a laptop, claims parallelism gains for CPU-bound tool calls, and shows benchmarks…
Talk on
Ruby's Scheduler: Improving I/OLuke Gruber22m
Ruby's main-reactor scheduler uses a simple round-robin with a 100 ms quantum, which yields high throughput but poor responsiveness: threads that block on I/O…
Talk on
Lightning TalksTeruki Tada01h 01m
Demo shows RubyBox modular monolith actually isolates class space per URL: one package can monkey‑patch String and scramble titles while another remains…
Talk on
Matz Keynoteyukihiro Matsumoto 'Matz'56m
Introduces Spinel AOT compiler that parses Ruby with Prism, runs whole-program type analysis, emits C and links with CC to a native binary; started March 16…
Talk on
From Live Code to Sound: Building a Ruby Live Coding EngineYuya Fujiwara26m
Built a Ruby live‑coding engine called Studier RB that ports Studier/TidalCycles patterns into the terminal, uses Parslet to parse mini notation, and reuses…
Talk on
Kingdom of the Machine: The Tale of Operators and CommandsYuichiro Kaneko29m
Compares hand‑written Pratt/recursive‑descent parsing used in Prism with generator approaches and shows three concrete pain points: TokenBeginsExpressionP that…
Talk on
The Journey of Box BuildingSatoshi "Moris" Tagomori49m
Ruby 4.0 ships an experimental isolation mechanism accessible with RUBY_BOX=1 and the Ruby::Box class that loads files and extensions into per-box spaces so…
Talk on
The design and implementation of ZJIT & the next five yearsMax Bernstein27m
Zjit compiles Ruby at runtime using an SSA HIR, a lower-level LI for data motion and native Intel/ARM backends, inserting runtime guards and patch points to…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.