Jason Baker
1417 Columbia #2
Lafayette, IN 47901
765-532-1433
baker29@cs.purdue.edu

Objective

A challenging position developing software in Java, C, or C++.

Experience

11/2002-present Research Assistant, Purdue University.

While at Purdue, I have worked on the Ovm Java Virtual Machine. Ovm is currently being used by several companies to evaluate Realtime Java, and was recently used in an unmanned aerial vehicle by Boeing. My contributions to Ovm include a bytecode-to-C++ compiler, a conservative garbage collector, and various smaller components.

Publications

  • Krzysztof Palacz, Jason Baker, Chapman Flack, Christian Grothoff, Hiroshi Yamauchi, and Jan Vitek. Engineering a Customizable Intermediate Representation. In Science of Computer Programming, 57(3):357-378, July 2005.
  • Jeremy Manson, Jason Baker, Antonio Cunie, Suresh Jagannathan, Marek Prochazka, Bin Xin, Jan Vitek. Preemptible Atomic Regions for Real-time Java. In the proceedings of The 26th IEEE Real-Time Systems Symposium, Miami Florida, Dec. 2005.
  • Jason Baker, Atonio Cunie, Chapman Flack, Filip Pizlo, Marek Prochazka, Jan Vitek, Austin Armbruster, Edward Pla, and David Holmes. Real-time Java in Avionics Applications. To appear in the proceedings of The 12th IEEE Real-Time and Embedded Technology and Applications Symposium San Jose, California, Apr. 2006.
8/2001 - 8/2002 Research Associate, University of Utah.

  • I adapted the JanosVM Java Virtual Machine's profiling mechanism to use the x86 real-time clock interrupt when JanosVM is configured as an operating system kernel.
  • I started work on refactoring tools for the Jiazzi component system for Java. Jiazzi allows independently defined components to be statically linked to build complete applications. My refactoring tools replace OO techniques for implementing modularity with Jiazzi's modularity constructs. These tools convert Java packages containing interface declarations to Jiazzi component signatures, create component signatures from packages of code, remove interface inheritance and the casts that coding to interfaces in Java introduce, and eliminate occurrences of the singleton pattern and factory methods.
8/1998 - 8/2001 Research Assistant, University of Utah.

My Master's thesis involved defining an extension to Java that allows programmers to define their own syntax extensions, implementing this language as a source-to-bytecode compiler, and developing new parsing techniques needed to make it work. Before arriving at a thesis topic, I did some work on memory management for Java and on JVM internals.

Publications

8/1997 - 8/1998 Senior Analyst, OneNet ICI.

While at OneNet, I was part of a team that developed a large application in C using Informix, AIX, and a library for writing terminal-based applications called Vermont Views. Because I was one of the first programmers on this project, I was able to play a significant role.

  • I wrote a powerful library that used Vermont Views' structural reflection capabilities. Many library functions could be used in form callbacks directly, thus minimizing the amount of code associated with each form.
  • I modified Vermont Views' form designer to act as an application-specific code generating wizard. The original form designer generated a declaration for each callback function, and my changes made these declarations useful. Each kind of callback function was generated from a distinct template with sed. These templates captured much of the rote typing that could not be factored into the project's libraries.
  • I defined conventions for using shared libraries, and modified the build system to support them.

Awards

  • President's Award
  • Special Recognition Award

Education

12/2001Master of Science in Computer Science, University of Utah.
3/1997Bachelor of Science in Computer and Information Science, Cleveland State University.

Skills