Current Work in Detail

I've been at the California Institute of Technology since 1998. Currently I am in the Division of Applied and Computational Mathematics as a Scientific Software Engineer with the Pierce Lab.

Roles

In practice, I fulfil the following roles in the lab:

  • Project Manager
  • Software Architect
  • Software Designer
  • Programmer
  • Tester
  • Customer support for lab and external use of Nupack
  • Web application administrator
  • Web issue tracking administrator
  • Code repository manager

Components

Nupack consists of serveral components. The ones I've worked on in the past or present are outlined below.

Nupack core code

This code is available in the nupack_core module, which consist of a mix of C and C++

  • My first assignment at the lab was to optimize the thermodynamics code.
    • The inherited code was somewhat badly organized, consisting of several subdirectories with different Makefiles and compiler options.
    • I reorganized the code and make it compilable from a single toplevel Makefile using both gcc and icc.
    • I managed to squeeze out a twofold increase in speed (or 50% reduction in runtime).
    • See group meeting presentation for more details.

Nudraw back-end drawing code

In July 2008 I started working on optimizing and enhancing Nudraw for use on the Nupack web site.

Attachments