B.S. Degree in Computer Software, 07/95, GPA: 3.8/4.0
Epic Systems Corp.
(05/98 - 08/98, intern) Designed optimal indexing schemes for medical insurance data
to support queries efficiently; designed and implemented intelligent search routines
to optimize user queries by choosing optimal access paths. GUI design for query submission.
(Mumps, Visual Basic)
DBMS/Web. (09/98 - present) As a research assistant for Professor Raghu
Ramakrishnan, I involved in the Gestalt project. My work included
implementing DDL/DML for gestalts (integrated view on heterogeneous data
sources in a widely distributed system); designing and implementing several
data wrappers for newspaper sites; and proposing the change management
framework for gestalt integration. (C++, Java)
DBMS. Designed and implemented several parallel cubing algorithms.
DBMS/Web. Designed and implemented a query evaluator on XML data, and a
"cache applet" that dynamically caches XML query results in the Active
Cache web proxy to cut off the traffic to the web server. The "cache applet"
recognizes and evaluates sub-queries in the proxy as well.
(Java, MSXML, Perl/CGI)
Web. Designed and implemented a web crawler that searches for specific web
objects. It features configurable searching criteria, flexible policy,
pause/resume searching and semi-crash resistance. The whole structure
consists of one master program that launches many slave programs into Condor
to exploit idle CPU resources. (Java, Condor)
DBMS. Implemented various building blocks of a database management system:
buffer manager, heap file and heap page, B+ tree indexing and external
Computer Networks. Designed and implemented a reliable link layer protocol
and a connectionless datagram-based network layer protocol that supports
multicasting, dynamic rerouting based on network failure, as well as packets
of arbitrary length; also implemented a client/server application using BSD
socket and POSIX thread interface. (C++, >8,500 lines)
Algorithm/Performance Evaluation. Designed and implemented a parallel job
scheduler; analyzed its performance on synthetic workloads; designed and
implemented GUI representations of job scheduling. (Java)
OS/Benchmarking. Designed and implemented several small benchmark programs
to measure kernel perforamnce, including system call latencies, context-
switch latencies, etc. (C for Solaris)
Modeling. Studied and improved the Dynamic Skyscraper Broadcasting scheme
for segmented data broadcasting and optimal regional caching. My work
includes deriving and solving a set of equations to find the optimal number
of channels and other coefficients. (C++)
AI. (10/96 - 05/97, Master's thesis) Designed and implemented an agent-
oriented language called Descartes; proposed "chained characteristics"
paradigm for agent-oriented programming; designed a "characteristics"
library written in Descartes itself; designed and implemented a translator
that translates Descartes to C++; designed and implemented an integrated
developing environment for Descartes. (C++, >24,000 lines)
Authoring System. (07/94 - 06/95, Bachelor's dissertation) Designed and
implemented an object-oriented authoring system for Windows called Envelope.
Envelope allows user to define data types (element types and relationship
types) and author their instances using common graphics constructs. Envelope
is suitable for authoring diagrams defined as collections of inter-related
objects, such as data flow charts and E-R diagram. (C++, >20,000 lines)
Compiler. Implemented a compiler that compiles PL/0 (an essential subset of
PL/1) code into machine code of a virtual machine; implemented simulator for
that virtual machine; implemented a calculator with memory. (C, Lex, Yacc)
OS. Implemented a process scheduling simulator and a page replacement
DBMS. Designed and implemented a simple GUI-based integrated database