Speaking
Talks and podcast appearances, going back to 2012.
Talks
2015
Space, time and stateBlending functional approaches with Reactive Extensions to manage state, exploring what it means to mix traditionally imperative design patterns with functional reactive programming.
Dualizing IEnumerable and IEnumeratorBreaking reactive extensions down to their essence, combining concrete examples with the mathematical foundations behind this style of programming.
Level up with HypermediaTo level up an API you need to shield clients from server-side changes, in essence provide a stable API over time. One way to do this is to take advantage of Hypermedia in ASP.NET Web API.
Not MacGyver's JavaScriptPatterns for keeping client-side JavaScript from becoming a soupy mess as your application grows, illustrated with Backbone.js but applicable to any library.
Reactive Extensions: The whyThe first in a series of screencasts exploring reactive extensions and reactive functional programming, starting with why we'd use a reactive style of programming in the first place.
2013
Exist in the web, not on itA 30,000 ft view on how we can model our public web APIs close to how HTTP was designed to be used, and an illustration of what kinds of problems hypermedia web APIs can solve.
Unsuck your backboneBackbone.js is awesome, but scaling it is hard, especially without a plan. Introducing composite application architecture patterns using Marionette.js to build scalable large JavaScript applications.
Game Master KidsAs part of the Te Papa Games Masters Exhibition, I took part in the Digital Media Careers Day, teaching a class of 40 students to build a simple side-scroller game in JavaScript.
2012
Podcasts
2015
The state of open source in .NETA panel discussion on the state of Open Source in .NET, moderated by .NET Rocks hosts Richard Campbell and Carl Franklin.
GitHub Desktop, Git & RX on .NET Rocks!Unifying your Git GUI experience with GitHub Desktop. Talking with Carl Franklin and Richard Campbell about GitHub Desktop, Git, and Reactive Extensions.- Enhancing CommunicationDeveloper on Fire



