| Objective |
|
Seeking a career involving challenging software development & engineering problems. Specific interests lie in HPC/parallel systems development, operating systems development, & Unix application development. |
| |
| Summary |
|
A software engineering professional with experience in parallel & high performance systems & software development, as well as expertise with Linux, Solaris, & other Unix system development. Proficient in developing both high-level user applications & systems software.
|
| |
| Experience |
|
| Sun Microsystems, Inc. |
Menlo Park, CA |
| Solaris Kernel Development (OpenSolaris) -- MTS 3 |
June 2005 - Current |
| Solaris Kernel Test Development -- Member Technical Staff 3 (Software Engineer) |
June 2003 - June 2005 |
|
Worked with Solaris Kernel developers to develop functional, stress, and regression tests in order to test new functionality for Solaris 10. Wrote test plans, planned test methods, and developed actual test cases/suites for testing specific projects: CPCv2 (CPU Performance Counters), lgroups (Hierarchical Locality Groups for Opteron MP NUMA support), and Intrd (Interrupt Redistribution on SPARC Multiprocessors). Helped find and debug problems uncovered by my developed tests. Wrote DTrace scripts for observability into memory and CPU scheduling on NUMA platforms. Selected as a participant in the SEED (Sun Engineering Enrichment & Development) mentoring program. Helped mentor and train new hires in Sun's Beijing Engineering Research Institute. Member of test review committee to review test plans of projects going back into the Solaris operating system.
|
| |
| Quantum Magnetics |
San Diego, CA |
| Software Engineer |
October 2002 - March 2003 |
| Ported existing landmine detection systems software from QNX 4 platform to new QNX 6 Neutrino platform. Re-wrote IPC to use new message passing primitives. Setup CVS repository server, & converted software engineering process to use revision control. |
| |
| Ricoh Silicon Valley |
Cupertino, CA |
| Software Engineer |
June - September 2002 & 2000, June - December 1999 |
Helped develop open source Server Side Markup Language (OpenSSML), http://www.risource.org/SSML. Embedded PHP, Perl, & Python function calls within OpenSSML, as well as integrating namespaces into one managable namespace. Fixed bugs & created new features for beta release of eCabinet product.
Developed KDE & GNOME (Linux) development tools (in C & C++), as well as developing C/C++ code for a web-driven user interface (CGIs, & their corresponding libraries). |
| |
| Information Systems Laboratories, Inc. |
San Diego, CA |
| Software Engineer |
June 2001 - June 2002 |
| Developed & optimized software for the GSTAMIDS counter-landmine warfare project using C/C++. Performed research for a parallel clustering implementation of the GSTAMIDS project. Built eight node cluster running Red Hat Linux 7.2 to research clustered computing. |
| |
| University of California, San Diego |
San Diego, CA |
| Graduate Teaching Assistant |
March - June 2002, January - June 2001 |
| Assisted in teaching undergraduate compilers & parallel programming courses. Led discussions, helped & tutored undergraduate students. Graded & scored programming assignments, homeworks, & exams. Developed grading scripts & parallel development environment including compilation & debugging tools. |
|
| |
| Projects |
|
| Fotobin Ringtones |
http://whacked.net/foto_ring |
| Sole Developer & Maintainer |
March 2004 - May 2004 |
| Developed PHP application to automate browsing, selecting, and sending on MP3/Midi ringtones to Verizon Wireless phones via Picture Messaging technology. Software was developed as a hobby/personal project for friends/family, and sold to NyCom to be used as a service with FotoBin (camera phone picture portal) |
| |
| gRio500 |
http://grio500.sourceforge.net |
| Lead Programmer & Maintainer |
June 2000 - Current (Maintenance only) |
| Founded & initiated development on gRio500, the first open source (compiles on Linux/BSD) GNOME/GTK application using the Rio500 MP3 player device driver for Linux. gRio500 interfaces with the driver to allow users to organize music on their SonicBlue Rio500 mp3 player from a Linux-based PC. |
| |
| ActiveCampus |
http://activecampus.ucsd.edu |
| Programmer |
September - December 2001 |
| Worked on Professor William Griswold's ActiveCampus project coding in PHP & C/C++ using MySQL APIs. Performed database performance analysis, tuning, & spatial algorithm optimisation for geo-location. |
|
| |
| Education |
|
University of California, San Diego
Thesis Topic: Using a Proxy to Enable Communication Overlap with Computation
M.S. Computer Science, with a concentration in Parallel & Scientific High Performance Computing, December 2003. GPA: 3.66
B.S. Computer Science from Revelle College, December 2001. Major GPA: 3.72, Overall GPA: 3.5
Member of Tau Beta Pi Engineering Honours Society. Awarded Revelle College Provost's Honours four times. |
| |
| Skills |
|
Programming Languages: C++
& STL, C, Fortran, Java, SPARC Assembly, Perl, HTML
Parallel Processing: MPI (LAM & MPICH), OpenMP
Titanium, Threads (POSIX pthreads)
Linux/Unix: Solaris (8, 9, 10), Red Hat, Debian, QNX (QNX4 & Neutrino),
FreeBSD, Tru64. Experience
developing for both the KDE & GNOME desktop environments
using the Qt & GTK+ toolkits. |