August 2026
Making Failure More Predictable in Ruby Systems
The Case of the Readable Dead Connection: A Ruby Mystery
June 2025
The Case of the Blocking Operations: A Ruby Mystery
November 2024
Streaming Rack with Falcon
September 2024
Leveraging Falcon and Rails for Real-Time Interactivity
June 2020
Bringing Fiber Scheduling to Ruby
April 2020
Running Falcon Virtual in Production
A Fiber Scheduler for Ruby
March 2020
Improving Net::HTTP Concurrency
January 2020
Making Ruby I/O Work with Event Loops
Modernizing Rack and Falcon Deployment
December 2019
Separating Concurrency from Parallelism in Ruby
Laying the Groundwork for Ruby 3 Concurrency
November 2019
Making Ruby Concurrency Safer
January 2019
Streaming HTTP for Ruby
November 2018
Fibers Are the Right Solution
October 2018
HTTP/2 for Ruby Web Development
June 2018
Improving Ruby Fibers
Improving Ruby Concurrency
Asynchronous Ruby
November 2013
Hybrid Tracking using Gravity Aligned Edges
Transform Flow: A Mobile Augmented Reality Visualisation and Evaluation Toolkit
October 2013
Real-time Hybrid Tracking for Outdoor Augmented Reality
October 2012
Adaptive Hybrid Tracking for Mobile Outdoor Augmented Reality
September 2011
Simple Garbage Collector
May 2011
Solving Sudoku Efficiently
January 2011
There are more useless programs than useful programs.
December 2010
Implicit And Explicit Delimitation
October 2010
Mr. Painting Robot
Visualising Information Change Over Time
Kai 会
May 2010
Computer Science in New Zealand High Schools
April 2010
Image Processing
October 2009
Richard Stallman In Christchurch
May 2009
Run Time Polymorphism
Compile Time Polymorphism
Matrix Mathematics
February 2008
A discrete solution for the inverse kinematics problem.
May 2007
Permutation Generation