
Anton's Toys and Games (Mid 06 - Sept 07)
NVIDIA (Jan 03 - Feb 06) Performance Architect in the GPU Architecture group.
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) Developed Text animations and image transitions for Kai's Power Show. Prototyped multiple engines for next generation of Bryce.
Green Hills Software (June 97 - Feb 98) Ported RTMON (Real Time Monitor) to Mips-X based system. This consisted of the lowest level of Green Hills' OS. Participated in weekly design meetings for INTEGRITY.
Augmentech Inc. (Summer 96) Developed wearable computer that tracked users location using RF/ultrasonic beacons by timing ultrasonic responses.
M+ind (Summers 93, 94, 95) Automated test equipment for artificial legs. Wrote improved renderer for CAD/CAM software.
| 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. |
| 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 | A Linux graphics and sound demo written with another programmer and a musician. |
| Quadruped | A 12 degree of freedom four legged walking robot. Programmed with a static gait that uses skid steering to turn. |
| Caterpillar | An 8 segment caterpillar robot that could crawl in a straight line. Used it 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. |
| Robos | 8-bit preemptive multitasking non-protected OS used in various robotics projects. |
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)
Languages: C, C++, D, Cg, assembler (x86 (MMX, SSE), MIPS, PPC, Arm, PIC, AVR, various 8-bit), Lisp, Scheme, HTML, Python, PHP, Perl, MySQL, JavaScript
APIs: X Windows, Posix (including pthreads), OpenGL, OpenEXR, libpng, GGI, DirectFB, INTEGRITY, Sockets, and Register level access
Software Platforms: Linux, Solaris, Windows, DOS, Firefox (DHTML, XPI)
Hardware Platforms: PC, CompactPCI, VME, PC104, GPGPU, and various SBCs