- 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