Anton V. Staaf

411 18th Street
Pacific Grove, CA 93950

Employment

Hopkins Marine Station (Oct 07 - Present) As the sole engineer in a biomechanics lab I worked closely with scientists to design and build an embedded computer to measure intertidal wave forces for parameterizing models of organismal responses to environmental stressors. This work included:

Anton's Toys and Games (Mid 06 - Sept 07) I formed a sole proprietorship to design:

NVIDIA (Jan 03 - Feb 06) Performance Architect in the GPU Architecture group. I developed and maintained:

Green Hills Software (Sept 98 - Aug 02) INTEGRITY systems software engineer. INTEGRITY is Green Hills' Real Time Operating System. While on the INTEGRITY project I developed from concept to shipment:

MetaCreations Corp. (Feb 98 - Aug 98)

Green Hills Software (June 97 - Feb 98)

Augmentech Inc. (Summer 96) While developing a wearable computer to track user location I:

M+ind (Summers 93, 94, 95)

Personal projects

BallPit An Android physics simulation application. Uses accelerometer and touch screen user inputs. OpenGL sprite rendering engine.
Morbit A plugin architecture for fast evaluation of scripted vector operations. Currently used to evaluate function trees for fractal renderings.
Signal Processing Implemented standard and packet wavelet decomposition routines as well as FFT to analyze music.
Ray Tracer Simple 2, 3, and 4 dimensional ray tracers and casters. Spatial subdivision as well as intersection stacks were used to improve performance. Voxel based terrain renderers.
Particle Systems Many fractal and physical particle system projects, including interactions with pre-rendered scenes, and geometry databases.
Reaction Diffusion Simulation of reaction diffusion chemical processes. It generates natural looking textures.
Radiosity Progressive radiosity engine. The actual rendering was done on a second computer that used my polygon renderer for a real time fly through as the radiosity was updated.
Buggy A physically simulated driving program. It uses OpenGL, a freely available rigid body simulator, and my scheme interpreter. Multiple cars can be created, each with a camera that trails behind it.
Polygon Renderer High performance polygon rendering engine. Used for physical system visualization.
Subdivision Loop subdivision surface rendering engine using C++ templates and OpenGL.
Physical Simulation Spring-Mass based physical simulation of deformable fractal objects. Used Runge-Kutta ODE solver for stability.
Neural Networks Developed a Neural networks package that was capable of back propagation as well as competitive learning. It was used to bet in an AI bridge player, and I used it for face and speech recognition.
Layout A 2D constraint based widget layout engine.
Micros 32-bit operating system for Desktops. Wrote boot code and multithreaded protected memory scheduler and context switch code. Included device driver code for keyboard and display.
Spectral Miasma Linux graphics and sound demo written with another programmer and musician.
Quadruped A 12 degree of freedom four legged walking robot. Programmed with a static gait that uses skid steering to turn.
Caterpillar A segmented caterpillar robot that could crawl in a straight line. Used to develop crawling gaits. Trained the caterpillar robot to walk using Probabilistic Based Incremental Learning (PBIL is similar to Genetic Algorithms), in a physical simulation of the robot and its environment. Appeared on the Discovery channel.
Balancer A two wheeled robot that uses closed loop PID control to balance.
Mobot Line following robot that competed in an annual robotics competition at Carnegie Mellon University.

Education

Carnegie Mellon University
B.S. in Mathematics/Computer Science, 1997

Relevant Coursework: Computer Graphics I (Witkin) and II (Heckbert), Multivariable Calc., Linear Algebra, Algebraic Structures, Numerical Methods, Discrete Math, Operating Systems, Algorithms, Programming languages, Machine learning I and II, Parallel Distributed Processing (McClelland)

Technical Abilities

Languages: C, C++, D, Cg, assembler (x86 (MMX, SSE), MIPS, PPC, Arm, PIC, AVR, various 8-bit), Lisp, Scheme, Python, PHP, Perl, MySQL, JavaScript

APIs: X Windows, Posix (including pthreads), OpenGL, OpenEXR, libpng, GGI, DirectFB, INTEGRITY, Sockets, and Register level access

Software Development Platforms: Linux, Solaris, Windows, DOS, Firefox (DHTML, XPI)

Hardware Development Platforms: PC, CompactPCI, VME, PC104, GPGPU, and various SBCs