Skip to content



The Limitations of Type Classes as Subtyped Implicits, ACM SCALA 2017. [Slides]


Everything old is new: Yesterday's internet as today's infrastructure, Scale by the Bay 2019. [Slides] [Video]

Microservice architecture: A programming languages perspective, Curry On 2019. [Slides] [Video]

Nelson: Functional programming in system design, Scale by the Bay 2018. [Slides] [Video]

Nelson: Functional programming in system design, NEScala 2018 and Scala Taiwan #23. [Slides] [Video]

Persistent Data Structures in System Design, Easy Bay Haskell Meetup, January 2018. [Slides] [Video]

The Functor, Applicative, Monad talk, Scale by the Bay 2017. [Slides] [Video]

Simplicity in composition, Scala World 2017. [Slides] [Video]

All About Applicative, BayHac 2017. [Repo] [Video]

Let the Scala compiler work for you, Typelevel Summit 2017. [Slides] [Video]

Functional Geekery Episode 86, March 2017.

Spoiler by higher-kinded types, Scalae by the Bay 2016. [Slides] [Video]

Checked complexity with typed simplicity, NEScala 2016. [Slides] [Video]

Becoming a cat(s) person, Typelevel Summit 2016. [Video]

Why I Like Functional Programming, LambdaConf 2015. [Slides] [Video]

Reasoning with Types, Scala by the Bay 2014. [Slides] [Video]

Distributed Graph Processing with Scala and Akka, Silicon Valley Scala Symposium 2013. [Slides] [Video]

External blog posts

EDSLs as functions, October 2016.

Subtype type classes don't work, September 2016.

It's programs all the way down, September 2016.

Information hiding, enforced, March 2016.

Of variance and functors, February 2016.

How do I error handle thee?, February 2014.

Towards Scalaz (Part 2), December 2013.

Towards Scalaz (Part 1), October 2013.

Distributed (in-memory) graph processing with Akka, August 2012.