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