You need to enable JavaScript to run this website.
Work
Blog
Research
Bio
Alt.CHI 2020: a reader’s guide
Making old media new
How chromatropes work
AI’s long, hot summer
Digital Fatalism; are we locked in?
Filling gaps in TensorFlow’s Java api
Running TensorFlow in Clojure
Neural Networks in Carbon and Code
AI Arseholes
Design and Complexity
Starting Blocks