Ian L. Kaplan
Livermore, California
iank@bearcave.com

A note to recruiters

As the author, I own the copyright for my resume. Please do not violate my copyright by copying or distributing my resume without my permission.

Professional Objective

To work as a senior engineer or project lead on the design and development of large complex software systems. I have wide experience that includes quantitative financial modeling, trading systems, embedded systems, VLSI design tools, and extensive compiler development experience.

Professional Accomplishments

October 2002 to present, Staff Computer Scientist, Lawrence Livermore National Laboratories, Livermore CA

August 2000 to July 2002, Senior Software Engineer, Prediction Company, Santa Fe, New Mexico

Quickturn Design Systems, San Jose, CA

June 1995 to February 1996, Synopsys, Mountain View, CA

As a member of the Synopsys HDL Compiler group, I added over 1200 lines of C source code to speed the generation of logic net lists from HDL parse trees. Fixed a number of critical bugs in the HDL synthesis compiler. Learned both Verilog and VHDL. Acted as a reviewer for DAC '96.

April 1994 to June 1995, Migration Software Systems, Ltd., San Jose, CA

Wrote an entirely new code generator for the Microsoft C/C++ front end, targeting a 32-bit Japanese RISC microprocessor. This code generator consists of over 12K lines of code and output object in Microsoft's COFF format. Ported the Microsoft debugger and the Microsoft profiler to the IBM Power PC, running Windows NT. Worked on optimization in the GNU C/C++ compiler for the HP-PA RISC architecture.

November 1993 to April 1994, Microtec Research Inc., Sunnyvale, CA

Designed and implemented a code generator for Hitachi's H8/300H 32-bit microprocessor. Designed and implemented backend optimizations for Microtec's AMD 29K compiler.

July 1988 to November 1993, MasPar Computer Corp., Sunnyvale, CA

March 1987 to July 1988, ESL Inc., Advanced Technology Lab., Sunnyvale, CA

July 1984 to March 1987, Loral Instrumentation, Data Flow Group, San Diego, CA

June 1980 to July 1984, NCR Systems Engineering-Torrey Pines, San Diego, CA

Industry Publications

  1. A Semantic Graph Query Language by Ian Kaplan, Lawrence Livermore National Laboratory, October 17, 2006 UCRL-TR-255447 (PDF format)

  2. Wavelets and Signal Processing. This is an extensive set of web pages on wavelets, wavelet applications and the Fourier transform. A large body of extensively documented Java and C++ source code implementing wavelet, Fourier transform and statistical algorithms is published on these web pages.

  3. String Container Class and Reference Counted Objects. This is a set of C++ reference counted classes that supports a string class modeled after Rogue Wave's RWCString.

  4. An Email Filter for UNIX/Linux Based Email. This is a rule based email filter, implemented in C++.

  5. The ANTLR Parser Generator. This set of Web pages discusses why the ANTLR parser generator should be used and provides a set of examples showing how ANTLR grammars can be used to generate parsers. These Web pages have been cited as references on the main ANTLR web site

  6. A Reconfigurable Logic Machine for Fast Event-Driven Simulation by Jerry Bauer, Michael Bershteyn, Ian Kaplan and Paul Vyedin, Proc. 35th ACM/IEEE Design Automation Conference, 1998

  7. The Modula-2 Programming Language by Ian Kaplan and Mike Miller, Hayden Press, 1986.

  8. The Data Flow Graph Language by Ian Kaplan. Presented at the Second Annual SIAM Conference on Parallel Processing for Scientific Computing, Nov. 1985.

  9. A Large Grain Data Flow Architecture, by Ian Kaplan, Proc. of the Workshop on Future Directions in Computer Architecture and Software, May 5-7 1986.

  10. Programming the Loral LDF 100 Dataflow Machine, by Ian Kaplan, ACM SIGPlan Notices, May 1987

  11. The LDF 100: A Large Grain Dataflow Parallel Processor, by Ian Kaplan, ACM Computer Architecture News, June 1987

Programming Languages

C++, Java, C, Verilog, VHDL, Fortran 90, Pascal, Modula-2, C*, Scheme (an MIT LISP dialect), Franz LISP and Lucid.

Professional Interests

My domain, www.bearcave.com, publishes C++ and Java source code for applications ranging from networking to digital signal processing. This site also publishes web pages that discuss a variety issues, including VLSI design tools, software engineering and project management.

Academic Achievements


back to home page