Bachelor of Science, Electrical Engineering & Computer Science, August 2006
University of California, Berkeley
Sr. Staff Engineer, 2016 - Present
Nielsen
Radio metadata, search, and monitoring APIs
Sr. Software Engineer, June 2012 - Present
Gracenote, Emeryville, CA
Highly scalable and fault tolerant web service.
Software Engineer, Video Technologies, December 2008 - June 2012
Gracenote, Emeryville, CA
Gracenote Entourage
Design, implement and maintain major components of Gracenote Video ID and Video Explore.
Reverse engineer DVD copy protection and metadata obfuscation methods.
Software & Electrical Engineer / Network Administrator, July 2006 - November 2008
Alpha Scientific Electronics, Hayward, CA
Design and implement complex embedded software for power supply control.
Conduct testing of industrial power supplies for medical, government, military and academic use.
Maintain company network and servers.
Interact with external customers to develop product designs and troubleshoot.
Computer Programmer, Summers of 2001, 2002
KISS Institute for Practical Robotics, Norman, OK
Ported firmware code between educational robotics platforms (MIT Handyboard to LEGO RCX).
Wrote documentation for and presented robotics training courses to high school students and teachers.
NASA Student Intern, Summer of 2000
NASA Ames Research Center, Moffett Field, CA
Summer internship developing software and educational materials for the NASA Robotics Education Project.
Worked as part of small team of programmers and technical writers.
Developed novel control system for behavior-based robots.
Programming Languages: Golang, C/C++, AVR Assembly, PHP, x86/64 assembly, BASH, BASIC Rusty experience with: Java, Perl, Matlab, Verilog, HC11 assembly, MIPS assembly, Scheme/LISP, FORTH
Very Interested in Learning: AI, Rust
Tools:Perforce, Git/lab/hub, kdevelop, gcc/gdb, Visual Studio, Makefiles, AWS, Terraform
Operating Systems: Linux, Mac OS-X , Windows
Most Interested In: Graphics, Vintage/Legacy/Unusual systems
Embedded Systems: Arduino/AVR C and assembly, embedded Linux, embedded DOS, PIC controllers, BASIC stamps & variants, CAMBASIC, FORTH interpreters.
Protocols & Libraries: Qt, TCP/IP, HTTP, standard C libraries, Win32, OpenGL (both fixed function and shaders), GPIB, POSIX, RS-232, XML, JSON, I2C, SPI
General Computer Skills: Building and troubleshooting IBM-PCs, networking, Office suites, Photoshop/GIMP
EE Skills Digital logic, small signal analog amplifers (audio and RF), soldering, PSPICE.