Channeling the Inner Complexity

An essential requirement for writing programs that scale is to have constructs to model concurrency in an understandable, safe, and efficient manner. This talk presents an overview of various such models available in Scala, and their impact on program structure and complexity. It then explores a way to model concurrency with less complexity with an implementation of Communicating Sequential Processes (CSP), heavily inspired by goroutines, scala-async and Clojure’s core.async.

slides [pdf] [html] project escale

Project Condor

Building a DIY quadrotor. This talk gives an overview of all steps necessary in building a drone from the ground up, with off-the-shelf parts from the hardware store and hobby electronics. It describes the evolution of Project Condor, presents its software architecture from base station to on-board flight stack, and summarizes engineering tradeoffs.

slides [html] project website