Aaron Denney
+1.818.943.0557
2456 Lake View Ave
Los Angeles, CA 90039
wnoise@gmail.com
http://www.ofb.net/~wnoise/resume/

Objective:

Seeking work programming computers to do interesting things.

Experience:

Computer Vision Programmer/Roboticist
September 2012-Current
applied minds
Submitted several changes to ROS Point Grey camera driver upstream to fit AMI use cases.
Changed OpenCV CUDA stereo algorithm to reduce latency by allowing multiple concurrent uses in single process.
Generate point cloud data of environment from stereo cameras.
Used point clouds to build map of local environment for modeling traversability of environment.
Applied various scoring methods to select "interesting" sections of video.
Modeled reception of sound sources at microphones to improve signal quality when using multiple microphones.
Terrain classification via Gaussian Mixture model.
Fused several different methods of estimating position to get stabler and more accurate estimates, including accelerometer and gyroscopic data with two visual odometry systems.
Research Assistant for Cris Moore
September 2004-May 2012
UNM Physics and Astronomy Department
Teaching Assistant for Physics 102L.
August 2003-May 2004
UNM Physics and Astronomy Department
Ran lab sections for freshman physics course and graded.
CAD Software Developer
August 2000 - May 2003
Fulcrum Microsystems
Ported digital circuit simulator from C to Java.
Maintained parser for proprietary Hardware Description Language.
Maintained layout vs schematic tool.
Wrote boolean logic to transistor netgraph generation for design flow.
Designed and implemented data structures for transistor sizing.
Wrote test cases for multiple designs.
Kernel Programming Intern
Summer 1999
Sun Microsystems
Examined high latency of pipes under SunOS. Implemented prototype of new system call method. Wrote debugger module to examine x86 page tables and related registers.
UGCS Sysadmin
Summer 1997-January 2000
Caltech Computer Science Department
Maintained an integrated cluster of 35 HP 9000s700, Linux/ia32 and SGI workstations with over 1000 users. Wrote system monitoring scripts, configuration file generation scripts. Installed and ported system and user software packages.
Programmer
January 1998-September 1998
Tanner Research Inc.
Enhanced scripting / plug-in API for L-Edit/Therm, a layout editor and thermal solver for circuit boards.
Caltech Card Office Staff
Summer 1997
Caltech Card Office
Interfaced the card office database with main Caltech financial systems. Automated processing of monthly updates.
Teaching Assistant for CS 1
Fall 1996, 1997
Caltech Computer Science Department
Gave mini-lectures, lab and homework help, and graded for an introductory programming class at Caltech.
Numerical Analysis
Summer 1996
Professor David Grether, Caltech
Wrote software to fit and analyse various statistical models of human decision making behaviour.

Education:

University of New Mexico:

Department of Physics and Astronomy
800 Yale Blvd NE
Albuquerque, New Mexico 87131-0001

Ph.D. received July 2012 on dissertation "Quantum algorithms, symmetry, and the Fourier transform".

California Institute of Technology:

Caltech
Pasadena, CA 91125
B.S. in Physics received June 2000

Course work includes:

CS 3:
Parallel computation using MPI.
Labs included parallel fractal solvers and simplified chemical reaction diffusion equations.
CS 20:
Computation, Computers, and Programs.
DFAs, NFAs, Turing machines, NP-completeness. A basic introduction to formal verification of programs. Lisp and Java used for labs. Projects included a C compiler (target 80386 netbsd) and a wavelet image (de)compression engine.
EE/CS 51:
Principles of Microprocessor Systems.
Assembly level programming of a microprocessor based system (80186). The project in 1995 was a translator between Baudot and ASCII codes intended to be part of a TDD (Telephone device for the deaf).

Languages:

Fluent in C, Java, Haskell, Python

Familiar with CUDA, C++, Common Lisp, Perl, m4, x86 assembly, Mathematica, Maple, matlab, awk, sed, O'Caml.

Able to learn new languages quickly.

OS's and Environments:

{Linux,SunOS,NetBSD}/{x86,sparc}, HP-UX/HPPA, IRIX/mips, FreeBSD/x86, embedded 80186

Software tools used:

revision control
CVS, RCS, SCCS, aegis, git, Perforce,
build automation
autoconf, make, cook, cmake

Free software:

In addition to minor patches to few projects (most can be found on github under wnoise@ofb.net or adenney@appliedminds.com), I've written the following:

Other Interests:

Control theory, Belief propagation, Stochastic Calculus

Citizenship

United States of America.

References

Available upon request.