Echo Nolan

Software Engineer

Links online at or via QR code


Co-organizer for the Portland Functional Programming Study Group a.k.a PDXFUNC since November 2015, member since 2012. Spoken on topics including functional reactive programming, Idris, “Haskell: The Bad Parts” and fixing a GHC bug (described below).

Open Source Experience

October 2016 - June 2017
Beescheduler. A single page web application to schedule goals using the goal tracking service Beeminder’s API. Personal project. Frontend using React, backend using Node.js and the Serverless Framework. Online at
June 2014 - October 2016
Idris. A programming language with dependent types, implemented in Haskell. Many contributions including improvements to the dynamic linker, parser, build system, terminal support, continuous integration and documentation. Wrote bug reports and reduced others, helped people on mailing lists and Stack Overflow.
January 2016 - June 2017
Software Quality Causes Project. An ongoing personal project empirically researching the effects of tools, programming languages and practices on software quality outcomes. Design notes here. Created a web application to survey users on their perception of the quality of software they use. Written in Haskell, using Yesod, Docker, Selenium, Postgres and JavaScript. Not live in production yet.
December 2015 - August 2016
AlanDeniseEricLauren. Personal project. An implementation of the ADEL algorithm for finding minimal subsets of a given input satisfying an arbitrary upward-closed property. Found a recent (2014) academic conference paper solving my problem and turned it into working, performant code. Released on Hackage.
March 2016 - June 2016
GHC Libraries. The built-in libraries for the flagship Haskell compiler. Fixed an especially hairy bug in the Windows networking functionality. The build tool Stack would hang intermittently when downloading dependencies. Traced it down to http-conduit, then to base. Submitted a patch to GHC which was merged May 19 2016. Submitted a workaround patch to the network library. Wrote a blog post describing the process.
April 2015
PIA-Forward. Personal project. Uses a simple REST API to set up port forwarding on the Private Internet Access VPN service. Was the subject of the “Haskell: The Bad Parts” talk mentioned above.
Small changes to Cabal, Stack, the Selenium Docker images, Haskell’s network library and the offline debugging server for Serverless Framework. A mostly-complete BitTorrent client, Whiteout.


June 2016 - July 2016
Oregon Programming Languages Summer School. Two week intensive on the academic study of programming languages located at the University of Oregon. Topics included type theory, category theory, verification and programming language theory generally.
March 2016 - June 2016
Machine Learning Coursera Course. Taught by Andrew Ng of Stanford. Implemented linear regression, logistic regression, neural networks, clustering, and Support Vector Machines. Certificate.
Computer science baccalaureate program (incomplete), Portland State University, Portland, Oregon, USA.

Work Experience

2008 - 2016
Computer Support Technician. Joe Nolan DMD, West Linn, Oregon, USA. Provided general support in a small dental office.