Stephen Lau


steve@grommit.com
http://www.whacked.net
Contact Information available upon Email request

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.