professional and academic

I'm a Software Engineer at Google, in the Seattle, WA area. Currently I lead Google's Privacy Working Group for Infrastructure.

Employment History (recent)

Google (2008-present)

Software Engineer at Google. Teams I've worked on while there have included:

  • Lead of Google's Privacy Working Group for cross-Google infrastructure systems

  • Developer tools infrastructure: Kythe, Google's open-source toolset for working with source code

  • Social infrastructure: Google's primary service for social graph data (contacts, profiles, chat relationships, etc.)

  • Search infrastructure: Google's crawler for rapidly-changing pages

Microsoft (2006-2007)

Applied Researcher at Microsoft's Redmond campus, researching and developing technology relating to spam, phishing, reputation, reliability, performance, and security.

UC Irvine (2001-2006)

Ph.D. candidate in computer and information science, supervised by Padhraic Smyth; research focused on building predictive and descriptive machine learning models for social network data (especially time-evolving networks).

More information available at my resume.

Projects

In 2003, with two other UC Irvine graduate students, I co-created JUNG, a free and open-source Java software library for manipulating, analyzing, and visualizing network data. It's one of the top 2 Java open-source graph libraries, and is used widely in both industry and academia; to date it's been downloaded more than 300,000 times.

In 2015, I released a new Java graph library as part of Google's Guava libraries; it is also used widely. The next version of JUNG (in development) will replace its graph model with Guava's.

Interests

  • data privacy, scalable data protection, ethical use of personal data

  • system and process analysis, scaling, and optimization

  • helping people making intelligently informed decisions

  • graphs and hypergraphs

    • API and library design and implementation

    • data structure and algorithm design and analysis

    • predictive and descriptive machine learning models for social network data

  • distributed reputation models

  • technical writing and communication

  • information organization and retrieval