- November 2024
- 
				Streaming Rack with Falcon
 
- September 2024
- 
				
Leveraging Falcon and Rails for Real-Time Interactivity
 
- June 2020
- 
				
Open Source Progress Report
 
- April 2020
- 
				
Open Source Progress Report
 Ruby Concurrency Final Report
 
- March 2020
- 
				
Improving Net::HTTP Concurrency
 
- January 2020
- 
				
Ruby Concurrency Progress Report
 Open Source Progress Report
 
- December 2019
- 
				
Ruby Concurrency Progress Report
 Open Source Progress Report
 
- November 2019
- 
				
Open Source Progress Report
 
- February 2019
- 
				
Early Hints and HTTP/2 Push with Falcon
 
- 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
 
- August 2017
- 
				
Using Vulkan fences to avoid corruption
 
- January 2017
- 
				
jQuery.Syntax, now with less code!
 
- November 2013
- 
				
CloudFlare Dynamic DNS Client in Ruby
 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
 Code Signing Auxiliary Executables
 Asynchronous DNS with EventMachine
 
- February 2012
- 
				
Hacking The Mainframe
 
- September 2011
- 
				
Simple Garbage Collector
 
- May 2011
- 
				
University Sudoku Challenge
 Cross-domain AJAX using XMLHttpRequest
 Solving Sudoku Efficiently
 
- March 2011
- 
				
Christchurch Earthquake v2
 Lake Tekapo School roles double overnight!
 Why are we having earthquakes in Christchurch?
 
- 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 会
 
- September 2010
- 
				
Christchurch Earthquake
 
- August 2010
- 
				
Source Code Visualisation
 Augmented Source Code
 Reasonably Efficient RSA Encryption/Decryption with C++
 
- July 2010
- 
				
Suspended Shelves
 
- June 2010
- 
				
Aggregate Callback
 
- May 2010
- 
				
Computer Science in New Zealand High Schools
 How do we learn?
 Bloom's Taxonomy
 The Socratic Method
 Vygotsky's Zone of Proximal Development
 The Theory of Constructivism
 Virtual Schooling
 
- April 2010
- 
				
Programming Dojo
 Image Processing
 
- March 2010
- 
				
LaTeX Symbols in Verbatim Mode (using UTF8)
 Caching HTTP Resources using Rack
 
- October 2009
- 
				
Thinking about Programming Languages
 Ramaze And Rack
 Concurrency And Immutability
 Floating Point Numbers
 Programming And Debugging
 Loading Anonymous Ruby Classes
 Richard Stallman In Christchurch
 
- September 2009
- 
				
DNS Server Benchmarking
 Scanning for specific UNIX permissions
 
- August 2009
- 
				
Time Limited Error Recovery
 RubyDNS Released
 
- May 2009
- 
				
What is abstraction?
 Run Time Polymorphism
 Compile Time Polymorphism
 Matrix Mathematics
 AppleScript Insanity
 
- April 2009
- 
				
Poll and Kqueue Hack
 Game State Management
 Game State Synchronization
 Python Hashes in Ruby
 Why do we play games?
 
- February 2008
- 
				
A discrete solution for the inverse kinematics problem.
 
- May 2007
- 
				
Furry Ball Theorem
 Permutation Generation