I'm a staff engineer at MongoDB in New York City. I specialize in Python, MongoDB drivers, and asynchronous frameworks. I study at the International Center for Photography and practice at the Village Zendo. You can read more about me.
- It Seemed Like A Good Idea At The Time: MongoReplicaSetClientConcludes a four-part series about choices we regretted in the design of PyMongo.
- It Seemed Like A Good Idea At The Time: PyMongo's "copy_database"Third in a four-part series about choices we regretted in the design of PyMongo.
- If Siddhartha Didn't Leave HomeWhat if Buddha had been a layman?
- It Seemed Like A Good Idea At The Time: PyMongo's "use_greenlets"Second in a four-part series about choices we regretted in the design of PyMongo.
- Joel Forrester Quintet With Christina ClareNovember 28th, 2014. The release party for "In New York", an album of jazz songs.
- PyCon 2014 Video: What Is Async, How Does It Work, & When Should I Use It?My talk about Python's asyncio library, and async frameworks in general.
- Night Of The Living ThreadA fun series about a race condition I fixed in Python's threading implementation.
- Python C Extensions And mod_wsgiIf you use mod_wsgi, or you're the author of a Python C extension, it's time for you to learn how they interact.
- Analyzing Python C Extensions With CPyCheckerSaves you from refcount bugs and segfaults.
- Moraff's WorldA very strange 1991 role-playing game, and the current state of videogame art.
- Review of "MongoDB Applied Design Patterns" by Rick CopelandAn excellent new O'Reilly book on MongoDB gives detailed, well-thought-out designs for a range of applications.
- Knowing When A Python Thread Has DiedSometimes thread.join() isn't enough.
- Optimizing MongoDB Compound IndexesHow to find the best multicolumn index for a complex query.
- Motor Internals: How I Asynchronized a Synchronous LibraryHow and why I wrote Motor, my asynchronous driver for MongoDB and Tornado.
- A Natural EnvironmentHow I love New York City.
- Motor: A full-featured non-blocking MongoDB driver for Tornado.
- PyMongo: I help maintain the standard MongoDB driver for Python.
- Toro: Locks and queues for Tornado coroutines.
- GreenletProfiler: A performance profiler that groks greenlets and Gevent.
- A queue implementation for
asyncioin the Python 3.4 standard library.
- I do portraits of Lower East Siders, residents of transitional housing, and American Buddhists.
PyTennessee, Nashville, February 2015.
- "Dodge Disaster And March To Triumph As a Mentor."
PyCon, Montréal, April 2015.
"Eventually Correct: Testing Async Apps."
"Python Profiling: The Guts And The Glory."