Jon Rafkind

San Jose CA | (617) 470 4281 | jon@rafkind.com
http://rafkind.com/jon


Education
Ph.D in Computer Science
University of Utah, Salt Lake City, UT 2007-2013
Advisor: Matthew Flatt
Research Area: Programming languages and systems
Dissertation: Syntactic Extension for Languages with Implicitly Delimited and Infix Syntax

Bachelor of Science in Computer Science
Northeastern University, Boston, MA 2001-2005
College of Computer and Information Science

Technology
Languages (years of experience): Java (16), C (18), C++ (18), HTML (13), Python (10), Ruby (10), Scheme (12), Racket (5), Javascript (6), Scala (2), Ocaml (2), Pascal (5), Perl (4), PHP (4), Assembly (4), SQL (4)
Software Engineering: OOP, Functional Programming
Systems: Linux (Preferred), Solaris, FreeBSD, OS X/macOS, Windows (2000, XP, 8, 10), DOS, Android
Version Control: Subversion, Git, Perforce

Work Experience
HPE 6/2013 - current
Senior Software Engineer VI (Expert) with the Fortify group

Sun Microsystems 5/2008 - 8/2008
Internship at the Programming Languages group

Citigroup Corporate and Investment Bank 2004 - 2007
Analytics Library Framework - Software Engineer

EMC 2003 - 2004
PowerPath - Quality Assurance


Personal Projects
Github profile http://github.com/kazzmir
Sourceforge profile http://sourceforge.net/u/kazzmir

Academic research
6/2009 - 2/2013
Honu: Syntactic Extension for Algebraic Notation through Enforestation. Rafkind, Flatt. GPCE 2012
Developed a new parsing technique that can hygienically expand macros in a language with infix syntax. The parsing technique is applicable to a wide range of existing static and dynamic languages such as Java, Python, C/C++, Javascript, and many more. The addition of hygienic macros yields a new dimension of expressibility in line with traditionally extensible languages such as Scheme. The challenge was integrating traditional tree-based macro expansion algorithms with complex parsing technology, such as LL or PEG.

9/2007 - 3/2009
Precise Garbage Collection for C. Rafkind, Wick, Regehr, Flatt. ISMM 2009
Implemented a source to source transformation for C code using the CIL framework that automatically inserted calls to a garbage collector as well as automatically creating functions which trace complex data structures. The tool was then used on C files in the Linux kernel in an EXT3 filesystem module, and a garbage collection algorithm was then used instead of manual memory management.

Publications
Honu: Syntactic Extension for Algebraic Notation through Enforestation. Rafkind, Flatt. GPCE 2012
Run Your Research: On the Effectiveness of Lightweight Mechanization. Klein, Clements, Dimoulas, Eastlund, Felleisen, Flatt, McCarthy, Rafkind, Tobin-Hochstadt, Findler. POPL 2012
Growing a Syntax. Allen, Culpepper, Neilsen, Rafkind, Ryu. FOOL 2009
Precise Garbage Collection for C. Rafkind, Wick, Regehr, Flatt. ISMM 2009

Other Interests
Racquetball
Lacrosse
Violin
Martial Arts - 2nd Dan in Tae Kwon Doe