Jeffrey Palm 'jeff' at the following domain http://jeffpalm.com Objective ========= To tackle hard problems requiring a mix of innovation, research, and development;specifically to allow developers to develop more effectively and to make web experiences more fulfilling. Education ========= - Northeastern University, Boston, MA Sep 2003-May 2006 ABD Computer Science (PhD on leave) Emphasis: Programming Languages/Systems, Aspect-Oriented Programming - University of Colorado, Boulder, CO, GPA: 3.91/4.0 Sep 2001-May 2003 M.S. Computer Science Thesis: On the Relationship Between Object-Oriented Metrics and Software Evolution - University of Florida, Gainesville, FL, GPA: 3.89/4.0 Sep 1997-May 2000 B.S. Computer Engineering (with highest honors), Minor in Mathematics Thesis: A Programming Language and Hybrid Editor Generation System Experience ========== - Independent Contracting/Consulting, New York, NY, November 2008-Present * Built end to end websites * Built iPhone applications * Worked on back-end Java/Python functionality for large systems - Lime Wire, LLC, New York, NY, Software Developer, June 2007-September 2008 * Developed an online, digital music store (http://store.limewire.com) using Wicket in Java backed by Spring/Hibernate; wrote all of Javascript using Prototype/Scriptaculous. * Implemented the only-known Java-Javascript bridge to allow a browser to communicate with the LimeWire desktop p2p client. * Implemented features in the well-known LimeWire client including sponsored results, browser, and integration with the web page. * Implemented the sponsored-result serving system in PHP. Performed analytics on the sponsored results in Ruby and Perl allowing periodic knowledge of click-thru, impression, etc. of the sponsored results. - Kaletan Technologies, Las Vegas, NV Head of Software Dev. July 2006-June 2007 * Developed a pure-Java MPEG-4 player running in the J2ME profile. Built infrastructure to serve and keep track of ads and current usage in PHP and Javascript. - Navtones, Los Angeles, CA, CTO July 2005-July 2008 * Developed and ran technology side of the company Navtones (http://navtones.com) that supplies celebrity voices for navigation and GPS units. Contributions include the installation service in Java, financial tracking and website analytics in PHP/Perl/Javascript, and voice delivery in Java/PHP. - IBM Research, Hawthorne, NY Research Staff Aug 2004-April 2006 * Worked on various aspects of the Concern Manipulation Environment (CME) (http://eclipse.org/cme), a composotion language written in Java. * Created a general-purpose framework for adding JSR 45 (debugging information) support to Java systems. * Added JSR 45 support to the Jikes and ANTLR parser generators; as well as the CME with an assembly toolkit based on the Shrike bytecode toolkit, and informant toolkits based on Shrike, EMF, and Microsoft IL assembly. Added it to various components of CME including testing tools, documentation tools, and performance-tuning tools. * Mentor: Peri Tarr. - NASA Ames Research Center, Mountain View, CA SSRP Intern Summer 2003 * Explored, designed, and implemented in Java a programming language for quantifying events over programs called The Puffin. * Mentor: Bob Filman. - Xerox PARC, Palo Alto, CA Researcher Aug 2000-Aug 2001 * Developer on the programming language AspectJ -- an Aspect-Oriented language implemented in Java (http://aspectj.org). * Designed and implemented the debugger (cleanroom jdb), documentation tool (cleanroom javadoc), Jakarta Ant support, and test suite/harness, and buildsystem. * Worked additionally on the compiler and support for existing products, such asForte and Netbeans. * Supervisor: Jim Hugunin. * Explored Aspect-Oriented solutions to software engineering problems, including implement ing various tools in AspectJ, such as the debugger. * Mentor: Crista Lopes. Projects ======== Various side-projects involving Ruby, Java, bookmarklets, Greasemonkey scripts, Firefox plugins, Google Map mashups, iPhone apps, available at: * http://jeffpalm.com/code/ * http://jeffpalm.com/projects/ Skills ====== - Languages: Java, Ruby, Javascript/Prototype/Scriptaculous, PHP, Perl, Objective-C, C/C++, Python, Scheme, J2ME - Misc: IPhone, Java (J2ME) Phones, Spring, Hibernate, Eclipse, Emacs, Ajax, SVN, CVS, Wicket, Ant, Maven, JUnit, Linux, CSS, MySQL, Jira, Bamboo, Fisheye and Crucible, YACC, Bison, Lex, Flex, Jikes PG, JavaCC, JavaCup, Antlr, Threading, Swing, SWT, compilers/language implementation, testing, build systems, web programming, performance-analysis, teaching, debugging Papers ====== All papers are available at http://jeffpalm.com/papers. Outside interests ================= Snowboarding, mountaineering, long distance road races/marathons, guitar and anything involving music. References ========== Available upon request. (Created with Emacs)