To work in an IT
position with an organization that challenges my skills
and abilities. To demonstrate my wide skill set, work
hard and succeed in projects that make important
contributions to an organization's business. To work in
the Linux and open source environment.
||Eclipse, GNU Tools
||Linux, BSD, Mac OS X, Windows, Windows CE.
||MySQL, PostgreSQL, SQLite.
||UML, Django, Ruby on Rails, J2SE, Bootstrap, JQuery, AngularJS, NodeJS, Apache.
||Microsoft Project, Git, CVS, Subversion, Perforce.
Relagent (September 2014 - October 2015)
Relagent's product Cocoa, does text mining of medical
records in the Biomedical domain.
- designed and implemented a Single-Page Web Application(SPA)
(Relagent MEDalyst) as the user interface for Cocoa's annotations. Designed the multi-tabbed, multi-layered
application interface to represent the complex annotated information after
examining the existing disparate web pages and understanding the domain. Generated and submitted
user queries, received the
annotations from the server as JSON, and displayed different information in
appropriate ways (eg. graphs, timelines, panels, etc). Wrote unit tests and end-to-end
tests in Jasmine using the Karma and Protractor APIs.
Mahalo.com (September 2009 - October 2009)
(Python, Django, HTML, CSS,
- very rapidly learnt the codebase and the
technologies (Django, JQuery) used in order to
implement feature extensions for the website.
Implemented both middle and back-end feature
extensions (using MySQL, Django) as well as
front-end webpage features (using
Stamps.com (November 2007 - July 2008)
(C#, C++/CLI, .NET 2.0, SQL
I worked in the Server
team responsible for the backend servers of various
web services including the company's flagship online
- participated in the refactoring of the core
web-facing high-performance server from Managed C++
to C# and C++/CLI. This involved breaking apart the
existing monolithic architecture into a .NET
component model framework, with some components in
C# and some in C++/CLI.
- responsible for another web service for the
Stamps.com client from initial refactoring to
- implemented new functional requirements (for
example, the USPS 2008 rate change) on different
web services as required. Modified SQL Server
stored procedures and the middle-tier code to
Business Solutions (July
2007 - September 2007)
(Java, J2SE, JDF/JMF, XML
over HTTP, XSD, DOM, Ubuntu Linux,
I worked in the Printer
division that was responsible for
PrintGroove, the software suite running in
Printshops. I extended the existing PrintGroove
server to communicate with printers using a new XML
over HTTP based protocol called JMF.
- Designed and Implemented a
framework to enable XML over HTTP communication
with printers to obtain status information This was the first time
that the new protocol standard, JMF (Job Messaging
Format), had been used to obtain device information
in the product.
Research of America. (June
2005 - July 2007)
(Embedded Visual C++, UML,
Design Patterns, Template Metaprogramming, Windows
I worked in the Advanced
Development Group in the Navigation Division which
was responsible for making Alpine's Navigation
- implemented six features for Alpine's
next-generation Navigation product, of which four
were totally new features, in C++ with the UML.
Clean room implemented the old features in C++
after reverse-engineering the old code in C. Made extensive
use of Design Patterns (State, Strategy, Singleton,
Bridge, Template Method), State
Template Metaprogramming and Comprehensive Unit Tests in CppUnit.
- led the design and development of a new
feature, Exit Information. This involved multiple modules of the
product. Called meetings to determine labor
appropriate to each module, and then insisted on
design diagrams from each module to provide the
necessary interfaces. Called meetings to review the
designs. At the completion of the various modules,
integrated the modules to enable the feature.
- improved the performance of the above features
to ensure that the final product was acceptable to
Communications, Inc. (now part of Radvision (Spirent)
2000 - January 2005)
(C/C++, Perl, Python, Tcl/Tk,
FVC makes Internet
videoconferencing, audioconferencing, and data
collaboration software. Their products include the
Conference Server, Click-to-Meet 4.0, and
Click-to-Meet Express. I was part of the Conference
- added PictureTel's (now Polycom's) proprietary
iPower (People and Content v0) extensions to the
H.323 videoconferencing protocol to the Conference
Server in C++.
- created an H.323 dissector for the open-source
(formerly Ethereal) Network Analyzer using
RADVision's H.323 stack in C. This enabled the company
to abandon the expensive and proprietary network
analyzer NetXRay (now called Sniffer), and thus
effect a company-wide savings and improved
- wrote the H.225(RAS) messaging for the
- automated the scalability measurement of the
Conference Server with a Performance Automation
test suite in Perl. The Conference Server was connected with
a progressively increasing number of endpoints
until it could not take the load any more, when it
was reset and the whole test restarted with a
different set of parameters. Perl Modules were used
from CPAN to graph the results, and frozen binaries
were produced for mass distribution.
- represented the company at IMTC's H.323
Interoperability Events. Took beta and finished
versions of the Conference Server, and tested it
with endpoints, clients and other H.323 entities.
Travelled to cities across the United States, set
up equipment for the Conference Server, and other
tools like Network Analyzers at the test site.
Conducted personalized tests with a lot of
companies, sometimes 50, over the course of a week.
Identified common interests of testing with each
company, and ran through a battery of tests,
usually for about an hour with each one. Wrote
detailed reports for each test, and an overall
report, as well as general impressions to deliver
back to the company. Also, recorded bugs and
possible enhancements to be fixed and implemented
- extended the API of an existing third-party Test
Tool in Tcl/Tk. Made the Test
Tool network-controllable by listening over the
network at a particular port to API requests and
then executing the API requests.
Parker Automation. (May
1998 - November 2000)
CTC Parker Automation has
automation products for the manufacturing industry in
the DOS and Windows areas. I was involved in the
design, development and release of
MachineShop Toolbar. The multi-threaded product
was a Microsoft Windows NT/95 taskbar-like toolbar
which docked on the screen, and communicated to
another product through two different
- produced the engineering specification for the
- implemented the multi-threaded communications
aspects (FTP client) of the product and also the
GUI aspects (a Docking bar in Windows).
- created the InstallShield setup for the
- enhanced the product and its install to Version 1.2. Led a group of two.
Used Microsoft Project to detail out the exact
times of delivery for the enhancements. Delivered a
week before due date.
▼Other Projects and Related
A full listing is on the School Coursework
Web Application Architectures - Greg Heileman, UNM
Engineering Software as a Service - Armando Fox, David Patterson, UC-Berkeley
Functional Programming Principles in Scala - Martin Odersky, EPFL