I'm Tim Harper. I care deeply about crafting reliable software, specifically systems that can withstand change and handle massive scale.
I've served as CTO for over 2 years at SpinGo, and led the software team to victory, continuously meeting the scaling needs of the organization and keeping services online 99.9% month over month. We grew our APIs to be able to support giants such as CapitalOne and Samsung.
I've helped found several companies, including a predictive analytics company which has since been acquired.
I frequently contribute to open source, speak at conferences, and write around the web.
I use, make and contribute to open source software. Below are some of my projects:
Op-Rabbit is a full-featured, high-level, opinionated messaging library for RabbitMQ, Scala, and Akka.Op-Rabbit Home
I contributed a fix to resolve a memory leak in the Scala programming language; it was included in Scala 2.11.5.Scala 2.11.5 Announcement
I improved the design of the code, allowing for pluggable bindings (previously, reflection-based binding was available). Using these improvements, I implemented play-json integration, allowing views to be bound to a more type-safe JSON AST with near-perfect compatibility with handlebars-js.
Additionally, I fixed several issues with the template parser, while improving the coverage of test suite.Scala-Handlebars home My contributions
A macro-based, extensible, fast library to serialize case-classes to TSV.Scala-TSV home
I am responsible for the official installer for Git on OS X.Installer
I frequently speak at conferences and local user-groups.
How a message-driven architecture enables resilience, elasticity, and responsiveness.Slides
In which I discuss Reactive Streams and the Akka-Stream implementation. In the latter half I demoed an experimental stream-visualizer to illustrate the back-pressure concepts in streams.
I gave this when I was just adopting the Akka-Stream library, and so the slides contain a few errors and I conflated some ideas.Video