Employment
- »
The Julia Language
2009-present
Language Author & Core Developer.
Together with Jeff Bezanson, Viral Shah, and our patron at MIT, Alan Edelman, designed and implemented Julia, a high-level, high-performance dynamic programming language for scientific and technical computing, with syntax that is familiar to users of other technical computing environments.
It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
The library, mostly written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, FFTs, and string processing.
- »
Etsy Inc.
2009-2011
Data Scientist & Software Engineer.
- Personalization Project:
Designed and implemented algorithms for modeling user taste, used to make personalized recommendations to site visitors of shops and items from the Etsy marketplace. After prototyping and validation, also designed, built, deployed, and maintained the production systems implementing these algorithms on the site.
- Analytics Project:
Designed, developed, and deployed scalable systems based on Hadoop, Cascading, Elastic MapReduce and other technologies to collect, aggregate, and analyze all events on site with events from internal systems and databases.
This infrastructure provided data use by personalization systems.
- »
Adtuitive Inc.
October-December 2009
Data Scientist.
Built scalable systems for processing and analyzing click-stream data using Hadoop, Cascading, JRuby, and Elastic MapReduce. Adtuitive was acquired by Etsy in December of 2009.
- »
University of California, Santa Barbara
2002-2004, 2006, 2009
Teaching Assistant.
Taught weekly discussion sessions, held office hours, graded assignments and exams, created and maintained course web-pages, gave lectures when necessary. Subjects taught: formal languages and automata, complexity theory, advanced data structures and algorithms, software engineering, computer architecture, scalable web application development in Ruby on Rails on EC2 [course website; software used for this course became RightScale.com], and parallel scientific computing.
- »
Citrix Online
part time 2004-2007
Networking Researcher.
- Network Path Prediction Project [2006-2007]:
Invented and prototyped a completely redesigned Network Path Prediction system, including the core prediction algorithm and data structures. This system has since provided real-time datacenter/ISP performance predictions for each client connection to a Citrix Online service.
- Netmap Project [2005]:
Designed and built a prototype system to perform lightweight, real-time mapping of Internet paths between data centers and client hosts, using probabilistic databases and information theory.
- Fast Failover Project [2004]:
Developed and prototyped a robust, scalable multipath route selection algorithm using a modified paired-series t-test. This algorithm [USPTO Patent 7,898,968] has since been used by all Citrix Online services to determine when to switch between alternative routes from clients to data centers.
- »
Akamai Technologies
2000-2002
Software Engineer.
Engineered, maintained and designed a variety of systems and tools for deploying, monitoring and managing Akamai’s global content delivery network of 10,000+ servers worldwide. Primarily worked in C and Perl, with some C++, Python and Java.
- »
Harvard University
1997-2000
Course Assistant.
Taught weekly problem sessions, held office hours, graded assignments, created and maintained course web-pages. Subjects taught: single- and multi-variate calculus, differential equations, methods of numerical approximation, point-set topology, axiomatic and naïve set theory, group theory.
- »
The Rowland Institute for Technology
part time 1998
Software Engineer.
Designed and created a graphical, integrated suite of applications for Windows 95/98. The applications automate the control of equipment for cutting-edge research in quantum physics with scanning tunneling electron microscopes and allow on-the-fly graphical analysis of acquired data within a graphical user interface.
- »
Medical Liability Mutual Insurance Company
Summers 1996-1997
Programmer & Systems Administration Assistant.
Wrote database query and information extraction programs in ALGOL, C, C++ and Perl. Worked in Windows, UNIX, Linux and mainframe environments. Assisted in network administration; installed and maintained PC hardware and software.
Education
- »
University of California, Santa Barbara
2002-2009
PhD in Computer Science, status: all-but-dissertation, on indefinite hiatus. Field of research: mathematical modeling and analysis of local area network traffic, especially using linear analysis techniques such as singular value decomposition, nonnegative matrix factorization, low-rank matrix completion, and linear subspace segmentation. Other major interests: parallel scientific computing, distributed systems, programming languages, computational theory, security and cryptography. Graduate studies include: algorithmic theory, distributed systems, modern programming languages and systems, automata-based complexity, networking, mobile and wireless computing, delay-tolerant networking, security, game theory, information theory, and stochastic processes. [GPA: 4.0]
- »
Harvard University
1996-2000
BA degree in Mathematics with honors received in June 2000. Harvard College Scholarship recipient. Have in-depth working knowledge of all branches of modern mathematics including analysis, geometry, abstract algebra, descriptive and classical set theory, point-set and algebraic topology. Course work in computer science included: network programming, mobile and wireless networking, mobile IP, routing protocols, natural language processing, compilers and interpreters, computational theory, tractability problems and algorithmic efficiency. [GPA: 3.56]
- »
Budapest Semesters in Mathematics
Spring 1999
Studied measure theory, integration theory (generalized Lebesgue integrals), Lie Algebras, functional analysis, Euclidean, hyperbolic and projective geometries with applications to computer graphics.
- »
Columbia University
1994-1996
Audited courses in analysis and group theory.
- »
Regis High School
1992-1996
Publications
Miscellanea
Computer Skills:
Experienced using, administrating and programming for Linux, Mac OS X, and other UNIX systems. Extensive experience with C, Ruby (and Rails), JRuby, Hadoop, Cascading, Cascading.JRuby, Elastic MapReduce, EC2 (and other Amazon web services), Perl, shell scripting, PostgreSQL, Mathematica, Matlab, R, LaTeX, GNU Make, and Git. Proficient in Java, C++, Python, Pascal, Tcl, MySQL, XML, XSLT, Apache, JavaScript, ActionScript, HTML, CSS, Subversion, CVS, BitKeeper, and Perforce.
Languages:
Fluent in English and Swedish; proficient in German and Latin; basic knowledge of French and Spanish.
Patent:
The “Fast Failover Algorithm” developed at Citrix Online is patented in the United States [USPTO Patent 7,898,968].
World Record:
Holder of the record for the fastest single-fare per-navigation of the New York City Subway system, riding trains stopping at each of the 468 stations in the system. New record time: 24 hours, 54 minutes, 3 seconds. Previous record: 26 hours, 21 minutes, 8 seconds. Co-holders: Bill Amarosa (Queens), Michael Boyle (Staten Island), Brian Brockmeyer (Brooklyn), Stefan Karpinski (Manhattan), Jason Laska (The Bronx), and Andrew Weir (New Jersey). We all went to high school together and completed the challenge to raise money for the school [website].
Erdős Number:
At most five: Paul Erdős (0), Vitaly Bergelson (1), Terence Tao (2), Emmanuel Candès (3), John R. Gilbert (4), Stefan Karpinski (5).
Interests:
Music, reading, wine & food, ultimate frisbee, traveling, learning languages, riding the subway.