Jeffrey Palm 'jeff' at the following domain http://jeffpalm.com Objective ========= To tackle hard problems requiring an mix of innovation, research, and development;specifically to allow developers to develop more effectively and to make web experiences more fufilling. 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 ========== - Lime Wire, LLC, New York, NY, Software Developer, June 2007-present * Helped develop an online, digital music store. Implemented a system 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. - Kaletan Technologies, Las Vegas, NV Head of Software Dev. July 2006-June 2007 * Partner in a consulting company working under parent company VisioNET Television Company contracted to build their IP TV network and develop softwarefor it. Among the software was a pure-Java MPEG-4 player running in the J2ME profile. - Navtones, Los Angeles, CA, CTO July 2005-present * Developed and run technology side of the company Navtones (http://navtones.com) that supplies celebrity voices for navigation and GPSunits. Contributions include the installation service, financial tracking, and voice delivery. All technology has been accquired by the navigation unit companyTomTom to deliver their voice content. - IBM Research, Hawthorne, NY Research Staff Aug 2004-April 2006 * Worked on various aspects of the Concern Manipulation Environment (CME) (http://eclipse.org/cme). * Mentors: Peri Tarr and Harold Ossher. - IBM Research, Hawthorne, NY Intern Summer 2004 * Created a general-purpose framework for adding JSR 45 (debugging information) support to Java systems * Integrated this support into parts of the CME * Added such support to the Jikes and ANTLR parser generators. * Added it to 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 a language for quantifying events over programs called The Puffin. * Mentor: Bob Filman. - IBM, Cambridge, MA Extreme Blue Intern Summer 2002 * Enhanced the Jikes RVM to run the Java IDE Eclipse. * Implemented the Java Wire Debugging Protocol. * Improved the threading and I/O systems, resource management, serialization, and further libraries to comply with the Java 1.4 specification. * Mentor: Julian Dolby. - Xerox PARC, Palo Alto, CA Researcher Aug 2000-Aug 2001 * Developer on the programming language AspectJ. * 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. - Xerox PARC, Palo Alto, CA Intern Summer 2000 * Explored Aspect-Oriented solutions to software engineering problems, including implement ing various tools in AspectJ, such as the debugger. * Mentor: Crista Lopes. Selected Projects ================= All projects are available at http://jeffpalm.com/projects and various side-projects at http://jeffpalm.com/code/. - Tability (http://jeffpalm.com/tability/) An early-stage project to auto-matically generate graphs from HTML tables on both client- and server-side. - Kathymaps (http://kathymaps.com) An early-stage project allowing peopleto collaborately share narratives using Google Maps as a medium. Currently only works under Firefox. - GeoRSS (http://jeffpalm.com/geo) A very early-stage project to aggregategeo rss feeds and allow people to collaborate with other people's feeds. - GDirections (http://jeffpalm.com/gdirections) A firefox extension to aidin finding directions to and from selected text using Google Maps. - Flickrize (http://jeffpalm.com/flickr) An early-stage project to allow peo-ple to integrate different web sites into a single view. - JavaPalm (http://javapalm.sourceforge.net) A large suite of Java utilities. - DemeterCop (http://demetercop.sourceforge.net) Looking at the effectsof violating the Law of Demeter on software quality - Ajdoc by Reflection (http://reflectajdoc.sourceforge.net) A compilerextension to the documentation tool ajdoc from the AspectJ Project that uses reflection rather than requiring the source code. - Harry Legs (http://jeffpalm.com/harrylegs) My undergraduate thesis wasa domain-specific programming language generation system. - The Puffin (http://jeffpalm.com/puffin) was an aspect-oriented languagefor quantifying over the events of a program done as NASA Ames Research Center. - NetTraversals (http://www.ccs.neu.edu/home/jpalm/nettraversals) .NET implementaton of the Adaptive Programming Library from the Demeter Group. Skills ====== - Languages: Java, Ruby, Javascript, PHP, Perl, C/C++, Python, Scheme - Misc: build systems, compilers/language implementation, testing, Ajax, web programming, performance-analysis, teaching, debugging, Linux Papers ====== All papers are available at http://jeffpalm.com/papers. - Therapon Skotiniotis, Jeffrey Palm, and Karl Lieberherr. Demeter Interfaces: Adaptive Programming without Surprises. In European Conference on Object Oriented Programming, volume 4067 of Lecture Notes in Computer Science, pages pp.477-500. Springer-Verlag, 2006. - David Shepherd, Jeffrey Palm, Lori Pollock and Mark Chu-Carroll. Timna: AFramework for Automatically Combining Aspect Mining Analyses. International Conference on Automated Software Engineering. Long Beach, California, USA,November 7-11, 2005. - Karl J. Lieberherr, Jeffrey Palm, and Ravi Sundaram. Expressiveness and Com-plexity of Crosscut Languages. Workshop on the Foundations of Aspect Oriented Programming Languages at AOSD 2005, Chicago, IL, USA, 2005. - Jeffrey Palm and Karl J. Lieberherr. Improving XPath Evaluation with Strategies.Technical report, College of Computer and Information Science, Northeastern University, 2005. - Therapon Skotiniotis, Jeffrey Palm, and Karl Lieberherr. Demeter Interfaces:Adaptive programming without surprises. Technical report, College of Computer and Information Science, Northeastern University, 2005. - D. Shepherd, J. Palm and L. Pollock. Fast Prototyping and Evaluation of AspectMining Analyses via Timna. Workshop on Aspect Reverse Engineering, Delft University of Technology, the Netherlands, November, 2004. - David Shepherd, Jeffrey Palm and Lori Pollock. Fast Prototyping and Evaluationof Aspect Mining Analyses via Timna. Workshop on Aspect Reverse Engineering, Delft University of Technology, the Netherlands, November, 2004. - J. Palm, K. Anderson, and K. Lieberherr. Investigating the Relationship BetweenViolations of the Law of Demeter and Software Maintainability. Workshop on Software-engineering Properties of Languages for Aspect Technologies, AOSD,Boston, MA, 2003. - J. Palm, H. Lee, A. Diwan, and J. E. B. Moss. When to use a compilation service.Lightweight Compilers and Tools for Embedded Systems, Berlin, Germany, 2002. - G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold.Getting Started with AspectJ. October 2001 Communications of the ACM. - G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold. AnOverview of AspectJ. Proceedings of the 15th European Conference on ObjectOriented Program ming, Budapest, Hungary, June, 2001.* E. Hilsdale, J. Hugunin, M. Kersten, G. Kiczales, C. Lopes, J. Palm. AspectJ:the language and support tools. Addendum to the 2000 proceedings of OOPSLA 2000. - Jeffrey Palm. A Programming Language and Hybrid Editor Generator. HighestHonors Thesis. Department of Computer Science and Academic Experience =================== - Northeastern Univ., Teaching Assistant Jan 2006-May 2006 Assisted in teaching CSU213, Introduction to Computing II. Instructor: Viera Proulx. - Northeastern Univ., Instructor Jan 2005-May 2005 Instructed CSU211, Introduction to Computing. Organized and taught a class of approximately 25 students; managed two teaching assistants. Northeastern Univ., Teaching Assistant Sep 2004-Dec 2004Assisted in teaching CSU211, Introduction to Computing, by holding lab sessions, oce hours, grading work, and helping create assignments and tests. - Northeastern Univ., Teaching Assistant Sep 2003-Dec 2003 Assisted in teaching CSU211, Introduction to Computing, by holding lab sessions, oce hours, grading work, and helping create assignments and tests. Instructor: Matthias Felleisen. - Univ. of Colorado, Teaching Assistant Aug 2002-Dec 2002 Assisted in teaching CSCI 3155 - Programming Languages by holding recitation sessions, office hours, grading homework, and helping create assignments. Instructor: Martin Hirzel. - Univ. of Colorado, Research Assistant Aug 2001-May 2002 Explored energy-ecient compilation techniques over a network by carrying out compilation tasks remotely. Published in LCTES 2002, Berlin, Germany. Advisor: AmerDiwan. - Univ. of Florida, Teaching Assistant Jan 2000-May 2000 Assisted in teaching COP 5555 -Graduate Programming Languages, by holding oce hours and grading homework and tests. Instructor: Beverly Sanders. - Univ. of Florida, Research Assistant May 1999-May 2000 Designed and implemented a programming language and hybrid editor generator in C++, Perl, and Tcl while working with the Adaptive Image Manager team. Used this system to generate a language for the Image Algebra, helping to quickly evaluate network configurations while prototyping image manipulation algorithms. Mentor: Joe Wilson. Outside interests ================= Snowboarding, mountaineering, marathons (OK, I've only run Boston, but plan more),guitar and anything involving music. References ========== Available upon request.