Computer Skills
Extensive programming experience in C, C++, JAVA.
Fluent in Visual C++(MFC), Perl, SQL, Shell Script, JavaScript, OpenGL, Assembly,
FORTRAN.
Network programming experience in sockets, protocols, client-server
architecture.
Familiar with Unix, Linux, Windows 95/98/NT.
Work Experience
01/01--present
Software Engineer, Amient, Inc. Redwood City,
CA
Developed servlets
that update applications on the client side.
Involved in design
and implementation business model classes and their communication with
database.
07/99--01/01
Software Engineer, Digital Integrity, Inc. San Mateo, CA
Developed HTML parser (in Java).
Set up testing infrastructure for testing codes in the company.(shell
script)
Developed software
sitting on the SMTP server side to process outgoing emails. (in Java)
Developed extractors
for some file formats (HTML, Lotus123, Lotus Freelance, PDF). (in Java)
Involved in developing
Netnews crawler (communicating with NNTP server and recording news to soif
file). (in Java)
Developed software
to modify HTML files used in UI part of findsame.com (in Java)
05/98--09/98
Software Engineer, EnReach Technology, Inc. San Jose,
CA
Developed e-mail
packages on UNIX (in C) and Microsoft Visual C++.
Developed http
software packages on UNIX (in C) and Microsoft Visual C++.
Add a Security
Socket Layer to http software package.
07/95--11/96
Lecturer, Dept. of Electrical Engineering, Zhengzhou University, China
Taught Power Electronics,
System Identification.
Involved in developing
a WWW browser using Visual C++.
Designed a program
to render HTML file and generate a bitmap in memory for MPEG encoder.
09/92--07/95
Research Assistant, University of Science and Technology of China
Developed Computer
Based Simulation and Training System of Distributed Control Systems.
Developed a software
package of simulator of single loop controllers. (Windows programming under
Borland C++).
Developed a boiler
temperature control system. (Including hardware design and assembly programming
).
Selected Course Projects
Network (
in C )
*Spell checker:
takes a file, compare every word in the file with a dictionary in a remote
server, and prints out those words which are not in the directory.
* FTP directory
copy: copy the contents of an entire directory from server.
* Feeble file transfer
protocol: exchange data using UDP datagrams. UDP transmits datagrams unreliably,
so the key challenge in implementing FFTP is putting in the features necessary
to recover from errors, such as packet drop, overlap, delay, out of sequence,
timeout, etc.
* RPC: implement
the RPC layer for the client of a multi-user game--Robot Wars, multiple
robots ( the client programs ) meet in an arena ( the server ) and
try to fire to each other.
Programming in
JAVA
* Pencil me in:
A program to read in file containing a calendar of events and generate
a weekly schedule in HTML format (list and table).
* Whiteboard: A
standalone whiteboard that allows single person to draw common shapes such
as circles and squares to a window, cut and paste these shapes, and even
save drawings to disk.
* Distributed Whiteboard:
Allows multiple, geographically distributed users to communicate with each
other by drawing to a common window.
Operating System
( Nachos Programming Project ) ( in C++ )
* Threads: Complete
a working thread system and use it to solve synchronization problems.
* Multiprogramming:
Implement system calls and exception handling, multiprogramming.
* Virtual Memory:
Investigate the interaction between the TLB, the virtual memory system
and the file system.
* Build a File
System.
Distributed
Systems( in C++)
* Consistent
distributed shared memory: DSM read sharing, DSM
server bypass, Lazy lock release, etc.
* A
multiplayer computer game: Mazewar--a distributed,
multiplayer game that allows each player to control a rat in
a maze. A player receives points for tagging other rats with
a projectile and loses points for being tagged.
Graphics(
in C )
* Impressionistic
paint system: The program will load a full color image, allow the user
to create a painting by sweeping the mouse over the image. (OpenGL)
* Special Effects
System: It is a set of plug-ins for a video-editing system and then to
create a special-effects video that shows off the plug-ins. (OpenGL)
* Articulated Model:
To Create an object in the Virtual Reality Modeling Language that will
contain a number of animated movements that can be triggered by a user.(VRML)
* Shading and Texturing:
It is a shading function that can illuminate and shade models used in computer
graphics. (OpenGL)
Honors
*Fellowship, University
of California at Berkeley, 1997-1998
*Guanghua Scholarship,
University of Science and Technology of China, 1993
*Outstanding Student
Scholarship, Huazhong University of Science and Technology, 1990
*People's Scholarship,
Huazhong University of Science and Technology, 1989-1992