Publications

Uniform, nonparametric, non-asymptotic confidence sequences.

S. R. Howard, A. Ramdas, J. Sekhon, J. McAuliffe. | arXiv

Exponential line-crossing inequalities.

S. R. Howard, A. Ramdas, J. Sekhon, J. McAuliffe. | arXiv

Cataloging the visible universe through Bayesian inference at petascale.

J. Regier, K. Pamnany, K. Fischer, A. Noack, M. Lam, J. Revels, S. R. Howard, R. Giordano, D. Schlegel, J. McAuliffe, R. Thomas, and Prabhat. | International Parallel and Distributed Processing Symposium (IPDPS), 2018. | arXiv

Talks

Randomized experiments, A/B tests and sequential monitoring

April 26, 2018 | Guest lecture, Principles and Techniques of Data Science (DS 100), UC Berkeley | slides | Jupyter notebook (co-authored with Jake Soloff)

It is now commonplace for organizations with websites or mobile apps to run randomized controlled experiments, or “A/B tests” as they’re often called in industry. Such experiments provide a reliable way to determine which product changes lead to the most successful user interactions. In this lecture we will discuss why randomized experiments are so important, talk about some of the key design choices that go into A/B tests, and get a brief introduction to sequential monitoring of experimental results.

Moving to Wyoming

December 12, 2013 | video + transcript | slides

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.

Distributed Web Crawling with Python and AWS

March 1, 2012 | slides

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.

Code

Android Download Manager

2010 | Source | API

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.

Autotest

2007 - 2010 | Project page | Paper

My first major project from my Google days.

Music

complicated or not

2014 | Bandcamp

Recorded in late 2013/early 2014 while I was playing with a couple of awesome musicians in Little Heart. I played the lead guitar parts, wrote some of them, and coiled and uncoiled a lot of microphone cables.

Classical guitar recordings

Valse Choro by Francis Kleynjans

Miami by Gerard Montreuil

Prelude by George Handel

Etude V and Etude VI by Heitor Villa-Lobos