Work Experience
Microsoft (MSN Video)
Software
Development Engineer Intern I developed and invented new
video fingerprinting technology to catalog MSN Video clips. I also designed a
workflow that added closed captioning to MSN Video clips, which had significant
value additions of searching inside the video's spoken text and provided
additional content tags for search. Last, I created natural language pattern
extraction technology to expand the set of video tags based on website
content
Sun Microsystems Laboratories
Graduate Intern
While at Sun Labs, I contributed significantly to two
research projects:
-
Project Darkstar (PDS),
June 2008 - September 2008 I developed a
high-performance, transparent caching framework for read-only persistent
data. I also implemented an experimental, in-memory transactional database
for high-throughput performance. Last, I contributed additional concurrent,
scalable data structures for PDS: a deque, queue and linked hash map.
June 2007 - September 2007 I designed and
implemented a high-concurrency, scalable hash map for use in the
Project Darkstar transactional application server. The map was
designed to support mulitple parallel write operations in a
low-latency environment. I developed a customizable logging layer
to allow optional transactional semantics on top of existing Java
logging. Lastly, I constructed a new profiling framework and an
internal testing platform for Project Darkstar with an associated
scripting language for rapid test scenario prototyping.
July 2006 - September 2006 I investigated
scheduling algorithms for the distributed, latency-optimized Pro
ject Darkstar application server. I co-authored an internal white
paper comparing current scheduling algorithms in a latency-bound
environment. As a result of the white paper analysis, I invented
one new latency-optimized scheduling algorithm and co-invented a
scheduling data-structure, both currently submitted for patenting
with a goal for later publication.
-
Project Vidscape,
June 2006 - July 2007 I developed a
distributed infrastructure for analyzing and annotating video
segments for later text-based search. During the project, I
implemented a new color clustering heuristic for image
segmentation and created new representations for shape estimation
as a time series. Our work focused on creating an intermediate
logical representation for joining video interpretation with the
Sun Labs text-based search engine. This project was ended
prematurely due to a restructuring at Sun Labs.
MoScience, Inc.
Lead Artificial
Intelligence Architect I developed software for a
five-person start-up based on presenting internet content as a continuously
browsable media stream. The focus was to create a semantic clustering algorithm
that identified relations in pop-culture data. Relations were combined with a
novel, graphical front end for an internet-as-appliance browser. My work
resulted in a working prototype that was essential in securing a second round of
angel funding.
Amazon.com
Software
Development Engineer I was part of a software team that
supported both the amazon.com catalog content-build distributed systems as well
as software tools used by the business clientele for interacting with the
website contents. I integrated additional vendors and data sources into the
amazon.com website content, which generated an estimated 750K USD in company
savings per year. In addition, I created new software tools for improving
developer and business user productivity, resulting in a net savings of 8 hours
of developer time and 15 hours of nontechnical work per week. Lastly, I designed
a new alarming systems for team-maintained services to increase system stability
and reduce downtime.
Media and Machines Lab at
Washington University in St. Louis
Graduate
Researcher I investigated fully-automatic extraction of road
maps from aerial video by using active contours, or "snakes," to represent both
rural and urban roads. We developed a space-efficient spatio-temporal
representations of motion estimates using optic flow and tensor fields. This
allowed us to invent new heuristics for identifying traffic motion patterns in
noisy motion data, which were used to build the final road map of the scene. All
research algorithms were implemented using the Intel C++ OpenCV library.
Washington
University in St. Louis - Distributed Object Computing
Lab
Research Assistant I designed and
implemented a distributed framework for testing the feasibility of Real-Time
Java in a production environment. Each distributed component was designed to
operate in both the standard JVM and a Real-Time JVM. This allowed for dynamic
scalability testing as new Real-Time components replaced default JVM
components. We used AspectJ to weave in reference counting code extensions to
replace existing garbage collection as a test for memory requirements and
overhead. The work was presented at the DARPA PCES conference in 2004.
Washington University in St. Louis -
Computer Science Department
Teaching
Assistant Designed numerous Java software exercises that
exemplified course objectives such as concurrency and design patterns for use as
course homework. Several projects were used multiple semesters. Proctored one or
more lab sessions that included instructing students on course topics and
evaluating performance of assigned projects. Created rubrics for grading
projects as well as graded submitted assignments and course exams.