The management of dependencies among classes is one of the most important (and underappreciated) aspects of object-oriented programming. In this talk I make a case for composition over inheritance and give a brief introduction to dependency injection. I then spend the rest of the talk outlining a step-by-step, Fowler-style method for migrating incrementally from a system built upon static binding of global state to one that uses dependency injection exclusively.
In this talk I share some of my experiences developing a large-scale web crawler using Python and AWS. I give an overview of the Mercator web crawler, share some tips and hard-earned wisdom on implementing Mercator with Python and AWS, and end with some real-world results from our crawls.
My attempt to build a better web calculator for split test (or any randomized binomial trial, really). Emphasizes confidence intervals, corrects for multiple testing, looks nice, fully linkable, transparent about the math it uses, open source.
This is where I cut my teeth on dependency injection and TDD, refactoring the download provider and preparing it for release as a public API in Gingerbread.
Recorded in late 2013/early 2014 while I was playing with a couple of awesome musicians as Little Heart. I played the lead guitar parts, wrote some of them, and coiled and uncoiled a lot of microphone cables.