Darrick J. Wong
email: djwong at djwong dot org; phone: (503) 578-3563
Objective
A software engineering position at Google where I can
utilize my Linux kernel expertise to increase energy efficiency in server clusters
while expanding Google's service offerings.
Experience and Accomplishments
IBM, Beaverton, Oregon, July 2004 - Present
Open Sourcerer, Linux Technology Center
- Designing a set of tools to enforce maximum power usage limits on
server and laptop computer systems by recording observations of energy use
and drawing conclusions about the effects of various performance
settings from patterns in the data.
- Enhanced an internal computer job scheduling system into a compute
cluster that automatically assembles and disassembles itself during idle
periods. Adapted coding and testing processes to take advantage of this
cluster.
- Augmented the Serial Attached SCSI (SAS) software in the Linux kernel
by fixing performance problems, by designing and implementing an
exception handler for SAS (and its interface to existing SCSI code), and by
implementing a translation layer between SAS and ATA to enable the connection
of low-cost devices to mid-range storage systems.
- Enhanced Linux device-mapper RAID functionality by augmenting the
dmraid configuration program to handle more formats and more operations.
- Identified and fixed bugs in Linux and platform BIOS code for handling
power management on IBM x336, x346, x3550, x3650, x3755 and Z30 platforms.
- Designed and wrote a full-system stress test suite for Linux and
merged it into the Linux Test Project.
- Managed the technical projects of two college summer interns: assisting with
dmraid development, IPMI testing, and design, construction and testing
of a entralized document repository for the Linux Technology Center.
- Assisted in bringing up Linux on several IBM platforms: IntelliStation
Z20/30, x226, x346 and x366.
SUN MICROSYSTEMS, San Diego, California, May 2003 - June 2004
Software Development Intern, Enterprise Server Products
- Researched the use of distributed file systems to achieve high availability
and data replication across a group of low-power Linux devices that monitor server
operation.
- Analyzed performance characteristics of various Java2 Micro Edition VMs on
embedded Linux platforms, and customized the VM to enhance performance.
- Architected a set of common software utilities for an enterprise server
management system.
UNIVERSITY OF CALIFORNIA, SAN DIEGO, La Jolla, California, Jan. 2003 - Apr. 2003
Tutor for Unix Instructional Lab
- Taught students the basics of the Unix operating system, shell and perl
programming, and Unix systems administration.
AANKHEN, San Jose, California, Summer 2001
Web Service Integration Architect
Aankhen is a vendor of XML-based enterprise resource planning tools.
- Developed a tool to browse and manipulate a UDDI web service directory,
import and export service information, and adapt itself on the fly to
interface with arbitrary web services.
- Wrote a suite of control programs that automates production planning via
Microsoft BizTalk Server.
Personal Research Projects
My personal pursuit of computer technologies and the exploration of their applications
resulted in the development of the following projects:
- Designed a heuristic-based file system fuzzing tool that scans a file system
image for metadata blocks, corrupts them, and tests the filesystem code against the
garbage data. (see
http://djwong.org/programs/fs_mutate/)
- Designed an XML-based metadata directory as the backend to a PHP-based
content management framework (CMF) that facilitates automatic generation of web
site navigation controls. (see http://djwong.org/)
- Created a periodic table program using Java and the Swing UI framework
that can be accessed over the Internet. (see http://
djwong.org/programs/jperiod/)
Education
- 2004: Received a BS in Computer Science from the University
of California, San Diego. Upper-division major GPA 3.76; minored in
Management Science with a GPA of 3.68.
- 2000: Graduated with honors from Menlo High School in Atherton,
CA.
Computer Skills
Experience with the following technologies:
- Linux kernel v2.4 - 2.6
- C, C++, i386 assembly
- XML, XSL, XSLT, XPath, XQuery
- Serial Attached SCSI and ATA protocols
- ACPI 2.0 and 3.0
|
- Debian, Ubuntu, Red Hat and SuSE Linux
- GNU Compiler Collection (gcc) and related tools
- Mac OS X 10.4 and Solaris 10
- XHTML 1.1, CSS 2, AJAX
- Java and Python
|
References available upon request.