Prolific 29 year-old problem-solver and armchair algorist seeks technological challenges in the heart of Silicon Valley.


Signed, validated transcripts are available on request.

M.A., Classics, 2010

Preceptor, Introduction to Mythology (CLA 212), Fall 2009

Research topics:

  • Ancient information theory and library science
  • Software infrastructure for humanities scholarship
  • Deep learning models: applications in language
  • The culture of music in the ancient Greek world

A.B., Classical Languages and Literature, 2006

General and special honors. GPA: 3.99.



Some of the things I've done, and why they matter.

September 2012 - present

I support the product manager, tech lead, and engineers for Wildfire’s Messages product to ensure the team consistently delivers great software.

My core work is to guide the engineering staff in the estimation of how much development effort will be required to fulfill product development objectives. I facilitate the team in breaking down the necessary work into a set of useful feature increments ("stories") that can be delivered within a two-week timeframe called a sprint. Critically, each of these increments delivers value independently. Even if it becomes necessary to change plans mid-quarter, my planning guarantees that as little of the engineers’ work as possible is wasted.

I make sure at all times that engineering and product staff understand each others' needs. This is difficult work that I excel at because I can speak engineering and business development. For instance, when an engineer says something like, "Product needs to understand that this feature necessitates constructing an object graph that cannot be serialized in a relational database," I excel at providing this information in terms a product owner with minimal technical knowledge can grasp and in a context that they can use to rethink their priorities.

I also make reports to senior management every week on progress toward our current objectives. They use this information to revise the prioritized list of features, adding and removing items as necessary to guarantee that whatever feature the team happens to be working on next is always the one with the highest value in their estimation.

October 2011 - September 2012

Under the direction of Alain Chuard, then the head of Product, I took on a large number of cross-functional responsibilities to organize product planning at the strategic level and improve the cohesion of our Product Suite through market research and ideation. My work was very diverse, but the following instances were representative:

  • I spoke on behalf of Wildfire at several social media marketing conferences to establish Wildfire’s position as a thought leader in the social media marketing space. I also worked with our PR firm and a deputy head of marketing to help develop the public image of the company.
  • I researched and reported on emerging trends in social media, writing both short one-page executive briefs and long, exhaustive monographs. Executive staff found my deliverables engaging and informative, and engineers repeatedly referred to them to understand the long-term goals of our development efforts.
  • Between June and August 2012, I coordinated a massive overhaul of Wildfire’s user experience. On launch day, I served as the outbound point of communication between Engineering and Client Services. Together with engineering staff, I organized a companywide prerelease bug hunt that identified and helped eliminate several high-priority defects. I also worked with a senior designer to reskin Wildfire’s help site and write new documentation.
  • In July 2012, our sales engineering group was struggling to maintain a number of badly written vendor coupon-generation tools. I successfully reverse-engineered the coupon signing algorithm and reimplemented it in Ruby so we could remove the vendored components from the toolchain.
  • In March 2012, Facebook preannounced the launch of their Timelines feature for brand pages, giving the team about a month of lead time to prepare our response. I rapidly absorbed all available information on the changes and became the company’s go-to authority on their substance. I organized the efforts of the individual product managers to update and enhance their products to accommodate changes in appearance and functionality. Finally, I participated in a webinar with our chief evangelist to communicate the changes to current and prospective clients in a thought leadership role. For some inadequately explored reason the webinar trended nationally on Twitter that morning.


The coolest things I’ve built, both hardware and software, from whimsical to academic.


Parsley is a Latin-language morphology analyzer that runs on Google App Engine. Architecturally it’s a “single page app” utilizing AngularJS for the frontend and a JSON-REST server in Go on the backend. At its core is a highly concurrent finite-state transducer library which represents FSTs as adjacency lists in a single flat Go slice. The transducer itself (i.e., the machine-readable description of the Latin language) is built from a domain-specific language called SFST-PL into AT&T format.


In 2010 I planned to write my doctoral dissertation at Princeton on data mining the electronic corpus of Greek literature, a database called TLG. The TLG was designed in 1974. It uses an obsolete text-streaming format that divides documents into blocks of 8k and marks the difference between text and metadata segments by setting the sign bit. I wrote a C library that internally converts TLG text to Apple’s native NSAttributedString and made it the basis of a data-mining program for the Mac called Andromeda.

Lexidium and Lexiphanes are iOS Latin and Greek dictionary tools for scholars. Lexidium includes the first iteration of my Latin morphology analyzer, which included a finite-state transducer library I wrote from scratch in C for the low-memory environment of early iPhones.

An exploding computer

Every year, the University of Chicago hosts a Scavenger Hunt legendary for the size of the teams and the difficulty of the items. In 2004, item #28 on the list read, “have a computer combust through nothing but its own internal workings.” Working with an ancient 486 desktop that one of my teammates dug out of a dumpster, I removed the power supply’s safety fuses and reverse-biased the large filter capacitors on the AC side of the bridge rectifier. When powered on the computer produced a shower of sparks and burst into flame. It earned 32 points.

Dick Cheney’s Duck Hunt

In 2006, item #177 was “a playable copy of Dick Cheney's Duck Hunt… for the NES.” Other teams produced a Flash version of the game, but I hacked the original NES ROM in 6502 assembly with new graphics and jokes about the Vice President’s BAC. By sheer luck, a teammate had a reprogrammable NES cartridge, and we presented our copy on a vintage NES. It earned (.22 x 100) points.


The abilities I will bring to your team.

Computer languages
I claim proficiency in C, Objective-C, Go, and Javascript. I have written production systems and applications in all of these languages. In the past I have also worked in Java, C++, and 8051 assembler. I follow TDD personally (though I am not dogmatic) and strive for 100% coverage of all code in unit tests.
Developer tools
Of the popular RCSes, I am most adept at Git. In debugging tools I am well-versed in the use of GDB, Valgrind and Memgrind, and pprof.
Human languages
In graduate school, I passed comprehensive reading examinations in French, German, ancient Greek, and Latin. I also speak some German and a little Italian and modern Greek.
My skill in research and information science was honed at two rigorous research universities. Given a topic area and adequate resources and time, I can exhaust the literature; if time is scarce I can digest sources and provide actionable insight quickly.
Thanks to my work on morphological analysis of ancient Greek and Latin, I have extensive experience with finite-state automata in the linguistic setting. Before leaving Princeton I also studied the linguistic applications of hidden Markov models, support vector machines, and deep belief nets.
My time as a program manager has taught me a great deal about how to coordinate work effectively and seek pragmatic solutions in the delicate diplomacy of the corporate world. By nature I function in a task-oriented way, and I don't need prompting to seek information and assistance as appropriate from my teammates. I am also a Certified ScrumMaster with the Scrum Alliance.
Teamwork and group guidance

My work across teams at Wildfire, together with training from a highly skilled mentor, has taught me “servant leadership,” the ability to coordinate a group to achieve dramatic results without any direct supervisory authority. This was particularly important in my work as a program manager, where the majority of work critically depended on helping engineering and product staff understand each others' needs and objectives.

I also have experience guiding a group toward a common objective from having taught at Princeton, where the students are voracious learners and expect continuous personal engagement with their teachers. In the fall semester of 2009, I had charge of three small seminar groups of 8 to 10 students each. In the seminars, I facilitated interaction between students, provided timely and constructive feedback on assignments, and answered lots of questions.

My students’ course evaluations speak for themselves. “Fantastic, calm, and easy to speak to.” “He was one of the best preceptors I've had because of his intelligence, mastery of the material, and willingness to help his students.” “He was very good and encouraged student participation without making anyone feel uncomfortable or pressured to speak.” (The full, authenticated transcript of evaluations is available on request.)


“Social media strategy: using big social data and tools,” panel moderator at Brand Innovators, San Francisco, July 18, 2012.
“Timeline for Brands: how to make the switch,” webinar for Wildfire Interactive, Maya Grinberg, moderator, Redwood City, March 2, 2012.
“Unicode and you: or, how to do Greek text properly and why it matters,” at The First Classics and Technology Colloquium, Princeton University, April 16, 2011.
“Software development for the iPhone,” guest lecture for Brian W. Kernighan, COS 333: Advanced Programming Techniques, Princeton University, March 11, 2010.
“Computer technology and textual criticism: new approaches for the 21st century,” at The Future of the Ancient: Making Classics Relevant, Ohio State University, May 2, 2009.