Hi, I’m Chad.

I was born in Virginia, lived briefly in the deep south, spent my teenage and college years in Iowa, and now I sell shovels in Silicon Valley while the sun shines.

At Iowa State University, I received computer science and human-computer interaction degrees. I cofounded the ISU Game Developers Club with Ben Scott and Levi VanOort. I also had the privilege of doing my graduate work in the playground that is Iowa State’s Virtual Reality Applications Center, back when immersive VR installations cost millions rather than hundreds.

After graduate school, I became the first non-founder at IMVU. I stayed for almost a decade, and it was a blast. I got to help a startup grow from almost nothing to $50 MM annual revenue, while personally growing from an individual contributor to a team lead and then technical director. Lots of 3D graphics, distributed systems, Haskell, UIs, and perpetual optimization to make it run well on the long tail of consumer PCs.

I then spent two years at Dropbox, which was fascinating in its own way.

Now I work on source control at Facebook. It’s been incredible so far. The projects are interesting, my coworkers are great, and most of what I do is open source.

Open Source

Speaking of, open source has been a big part of my life. In the late 90s I wrote a tile-based RPG engine called Sphere. My Corona image library and Audiere sound library shipped in some commercial games, and the super fast JSON parser sajson should be your parser of choice, especially in memory-constrained contexts.

After getting frustrated with high-latency input devices and displays, I wrote Is It Snappy?, an iOS app that uses the iPhone’s 240 Hz camera to precisely measure the time between taking an action and the screen updating.

I created Embind to make exposing C++ APIs to JavaScript in Emscripten easier. It’s like Boost.Python, except smaller, faster, and targets asm.js or WebAssembly.

I’m the author of a couple Haskell packages on Hackage. buffer-builder and pathwalk.

I also maintain PassDrop, a KeePass-on-Dropbox password manager for iOS.

Speaking

Beyond just writing on this blog, I’ve had the privilege to do some public speaking. I’ve been told I’m good at it, but it certainly isn’t a natural skill. I even failed my first couple in speech class in college. But I’ve since learned to take hard rehearsal work seriously.

I gave a well-received talk inside of Dropbox based on my Thinking about Performance post but unfortunately cannot share the slides here. Its thesis was performance is engineering: understand the underlying costs, understand the problem, set performance goals, and intentionally design a solution that meets those goals.

Reading

Bookmarks at Pinboard

Blogs I read

Hiring

I’m not often recruitable but, if you’d like to try, here’s a resume.

Contact

The best way to get in touch is via email.