Consulting and Contract Work Experience
Volcano Corp., Rancho Cordova, CA (1/2011 - present)
Working on the next generation of Volcano's Intravascular Ultrasound (IVUS) system in the area of the Acquisition
Engine (AE), developed instrumentation for the existing code interface to the IVUS hardware, new plugin libraries to interface
between the AE and Volcano's proprietary hardware, as well as an emulation plugin for the AE to facilitate accelerated
development as well as testing. Technologies used: Visual Studio 2005, 2010, C++, STL, boost libraries (including threading),
Qt, CMake, Perforce source code control (p4), a Volcano-proprietary ORB-based RPC mechanism, as well as porting to Linux (g++,
STL, boost, CMake, p4).
Cisco Systems, Inc, Milpitas, CA (1/2010 - 9/2010)
For the Cisco TelePresence CTMS group, responsible for developing infrastructure features
and the implementation of critical bug fixes in the media layer of the product, as well as
in other components. Technologies used: C++, C, pthreads, STL, boost objects, TCP/IP.
Intel Corporation, Folsom, CA (6/2009 - 1/2010)
For Firmware Validation Engineering, responsible for developing automation infrastructure
and toolkits for testing the Intel chipset BIOS/firmware.
Technologies used: C#, .NET, WMI, MediaTester, HTTP, TCP/IP.
BMC/Remedy, Sunnyvale (1/2006 - 4/2006)
Performed bug fixes and enhancements for CMDB (BMC Atrium Configuration Management Database), and the product's build environment. Technologies used: Visual C++, ANT.
Nortel Networks, Santa Clara (6/2003 - 8/2003)
For the User Interface group, implemented front-end Web based
enhancements and bug fixes for the Alteon Switched Firewall,
SSL Accelerator, and Wireless Security Switch products. This
involved programming in PHP with a Zend interface to a proprietary
back-end technology. Technologies used: C/C++, PHP, the PHP Zend
module, HTML, Javascript, as well as additional proprietary Nortel technologies.
(These web sites are used by the network administrators of Nortel's customers).
Andrew Kelly & Associates, San Jose (1/2003 - 5/2003)
Designed, developed, and implemented a web-based client/server
architecture to support automatic (Windows) PC software installation
and upgrade via http transactions over the Internet. At the present
time (4/2003) this software has been installed on close to half
a million PC's in the US and overseas. Technologies used on the
PC: Wininet.dll, extensive use of the Windows registry API functions.
On the server: Linux with Apache httpd, PHP4, MySQL.
Andrew Kelly & Associates, San Jose (9/02 - 1/2003)
Designed and developed a store-front and warehousing web
site that allows a novice user to build an online inventory
of categorized products with search capabilities. The site
supports image uploads, data entry into the item/part database,
search by location and category, user administration with
multiple security levels (implemented using the PHP4 session
level mechanisms), and simplified inventory tracking. The site
was developed under Linux, and was implemented completely with
PHP4 and MySQL, running under Apache 1.3.
Hewlett Packard (at Siebel Systems, Inc), San Mateo (1/02 - 4/2002)
Ported the full set of Siebel CRM applications from Solaris and AIX
to HP's HPUX 11 operating system.
This included the operating system specific code that handles
multi-threading server applications, dynamic loading of shared
libraries, and migration of the product to multi-byte character strings.
Technologies used include Mainsoft MainWin, RogueWave Standard Template
Library (adopted
by HP for HPUX 11), string objects, Apache 2.0 plugins, and many 3rd
party integrated software products. Source code control used:
Softbench/HMS and Clearcase
Agilent Technologies, Santa Clara (4/2000 - 10/2001)
For the CMDS-IT organization (Document Conversion Center),
designed and implemented a publication file upload site implemented
on a WIN/NT based IIS (Internet Information Server) using HTML and
Javascript running under Active Server Pagers (ASP) scripts using MS
VBScript.
For the LitStation development group, designed and implemented an
Administration Web Site to be used by LitStation support personnel
around the world to view/cancel literature orders, view/update database
tables, monitor the run-time operation of the LitStation server system (a
network based hard-copy and electronic literature ordering and
distribution system), and view log files generated from the dozens of
server applications on the production system (C++/CGI, Javascript,
HTML, XML). This included the development of a C++ object library
facility to handle HTML FORM data submitted by the site to the
LitStation database using XML data, utilizing the public-domain
CGICC library (C/C++), EXPAT, and qDecoder, as well as C/C++
with Embedded SQL to facilitate the database updates (ALLBASE).
For the LitStation development group, designed an implemented a file
upload site implemented on an HPUX Apache based server, using CGI
scripts (sh, C/C++, qDecoder), HTML, and Javascript. This site
included user authentication, as well as an additional web page for user
administration to control access -- granting and revoking user access
permissions, allowing self registration, and registration notification
using email.
Facilitated the migration of the LitStation Server and associated
applications from the Hewlett Packard site in Atlanta to the new
Agilent Technologies site in Colorado Springs. This included cloning
and splitting dozens of applications implemented in C++, Allbase
E/SQL and ISQL using multi-threaded DCE/RPC, as well as Unix
Shell, Awk, and Perl scripts.
The effort also included the complete setup of the product's software
development environment, including source code control (using HMS)
for the Unix (HPUX) based server applications, as well as the PC
(Windows 32 bit platform) based LitStation Client application.
Designed and implemented applications to load multiple (ALLBASE)
databases with literature-related information submitted to LitStation.
This included the development of a C++ object library facility to parse
and process the XML-based data utilizing the public-domain EXPAT
library.
Andrew Kelly and Associates, San Jose (10/99 2/2000)
Designed and implemented an E-commerce site for Andrew Kelly and
Associates (an online store for fine art and photography) with a
fully functional shopping basket and checkout facilities for electronic
credit card and purchase-order sales, using secure SSL transactions.
The site also featured a fully automated administration interface that
allowed the creation and update of product pages and photos. This site
was implemented on Best Internet's E-Commerce servers, using the
Stronghold (Apache based) Web server (FreeBSD Unix, CGI, C/C++, PHP,
Javascript, sh, awk ).
Agilent Technologies (formerly HP), Santa Clara (7/99 - 3/2000)
For the TMO-IT organization (Market URSA project), designed and
implemented a DLL (Dynamic Link Library) for Microsoft 32-bit
platforms (WIN NT 4.0, WIN 95/98) for interfacing with the
LitStation server (DCE/RPC protocol). The DLL handles login/logoff
security protocols, submits orders for hard-copy literature, and
obtains status for previously submitted orders. (MS Developer
Studio/Visual C++ 4.0, C, MS DCE/RPC).
Hewlett Packard, Cupertino (3/97 - 5/99)
For the Direct Marketing Information Systems group, developed a tool-set
environment for use by the LitStation development group. This included a
C/C++ object library, and a complete build-environment interfaced with a
network-based software source code control system. Some of the software
objects designed and implemented included C++ string objects, a set
of C++ collectable template base objects, and a complete set of associated
stream objects to allow data, machine, and network independent transfer of
objects to and from client and server applications (object brokering).
For the Direct Marketing Information Systems group, was responsible
for the migration of the LitStation server, the Electronic Literature
Submittal System (ELSS), and other associated multiple Allbase (RDBMS)
applications from HPUX 9.0 to the HPUX 10.2 operating system.
This system includes multiple Unix-based applications running in a
multi-threaded environment using multiple DCE/RPC interfaces, sockets-based
file servers, and Allbase database applications running in unison.
It controls the submittal and distribution of electronic literature within
the various HP sales organizations using formats suitable for faxing,
printing, and on-line viewing.
It also handles the actual ordering and delivery of sales information
and manuals in-house, as well as to customers.
(HPUX C/C++, HPUX 9.X/10.X, Pthreads, HPUX DCE/RPC, TCP/IP ALLBASE).
For the Direct Marketing Information Systems group, was also responsible for
the migration of the LitStation PC client from the 16-bit Windows 3.X
implementation to the 32-bit Windows 95 and NT operating systems.
This included rewriting significant portions of the client,
as well as redesigning and rewriting three MFC applications to use
industry standard C++ objects with the Windows 32 bit API, eliminating
the need for using MFC.
(ISA Dialog Manager, MS Developer Studio/Visual C++, C, MS DCE/RPC).
Wells Fargo Bank, San Francisco (9/96 - 2/97)