Consulting and Contract Work Experience
Intel Corporation, Folsom, CA (6/2009 - present)
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)
For the Mondex Development Group, was responsible for the design and
implementation of the software infrastructure connecting Mondex
interface devices to the various bank systems that provide authorization,
account information lookup, value management, and value transfers to and
from the bank purses and the consumer's Mondex device. (Mondex is an
electronic cash-equivalent technology, which uses an IC on a credit
card-like device recognized by ATM's and other Mondex-compliant devices).
The distributed infrastructure was designed using object oriented
methodology, and implemented using C++ and Rogue Wave Tools.h++ objects,
and the C++ Standard Template Library. The system integrated clients
and servers running on a wide array of PC platforms (WIN 95, WIN NT, OS/2),
a Unix based Value Management System running on an HP system (HP/UX Rel 10),
and the main interface architecture running in the Tandem Non-Stop Kernel
OSS environment. (C++ on Tandem OSS, C with Tandem Tuxedo environment,
Rogue Wave Tools.h++, Borland C++ (R5.0), HPUX Oracle).
In addition, participated in the PACE project, writing database application
code for HPUX 9, using C, with Informix Embedded SQL.
Tandem Computers, Cupertino (2/96 - 9/96)
For the TS/MP QA Software Development Group, was responsible for the
migration of the test tool
development group from using proprietary Tandem software architecture, to
an object oriented, portable,
and modular design of test system tools that run under the Tandem
operating system, as well as Windows
NT, potentially using a variety of client/server protocol architectures.
This included the design and implementation of a client/server model that
streams object collections between the various clients and
servers in order to get the appropriate tasks executed, using the
Rogue Wave Tool.h++ collectable object architecture, as well as C++.
In addition, conducted weekly classes for the test tool development team to
complement their knowledge of C++, Rogue Wave Tool.h++, as well as
object oriented design and programming methodologies. (Tandem Guardian/OSS
environments, SUN workstation cross-development environment using
HP/Softbench for Tandem, C, C++, Rogue Wave Tools.h++, Windows NT,
Microsoft Developer Studio for Windows NT, C++ Message Streams for
Tandem and/or Windows NT).
Hewlett Packard, Cupertino (6/95 - 10/95)
For the Financial Services R&D Group, was responsible for the
porting of the Financial Infomation Exchange (FIX) Protocol
client, library and toolkit from the Sun Sparc workstation to
HPUX 10.0 on the HP 9000/800 series. This included the portation
and implementation of a public key encryption subsystem (RSAREF,
PKCS) from the Sun workstation to HPUX. Also, was responsible for
the design of an object oriented C++ based FIX communications
server for HPUX for TCP/IP based networks. (C, C++, HPUX 10.0,
FIX, TCL, PKCS, RSAREF, TCP/IP sockets, rpc).
United Airlines, Maintenance Operations Center, SFO (11/94 - 5/95)
For the Engineering Maintenance Systems organization, designed
and implemented a fully functional Security Access Facility (SAF)
for Qadrant's Distributed System Infrastructure (DSI)
environment. The SAF was implemented as a Unix based multi-
threaded daemon running under HPUX 9.01, providing full access to
a Sybase network server, and implementing revolving Session
Audit logs. The SAF daemon was implemented in C++ using object-
oriented design, providing authentication and authorization
facilities to DSI processes running on a distributed file system
(AFS), to access network-cell based secure resources. The
implementation included an API (C/C++) which interfaces over
UDP/IP to the SAF daemon for local as well as foreign-cell DSI
sessions. The design included facilities for ease of portation to
the DCE Distributed File System using Kerberos V5 authentication.
(C, C++, Rogue Wave Tools.h++, HPUX 9.01, AFS, DCE, Motif/X11, UDP/IP).
Hewlett Packard, Santa Clara (3/94 - 10/94)
For the Direct Marketing Information Systems group, was
responsible for the development of the User Transanction Logic
API layer of LitStation (a client-server application for
PC/Windows and Unix/Motif). This included implementing the
migration of the LitStation network interface from standard
Sockets to the Microsoft Windows Distributed Computing
Environment Remote Procedure Call (DCE/RPC) interface, adding
functionality to the product, and bug fixing (ISA Dialog Manager,
MS Visual C++, Unix C++, C, DCE/RPC, HPUX 9.01, Motif/X11)
Saber Technology, San Jose (1985)
Designed and implemented the boot-PROM firmware for the NSC-32000
based color graphics workstation (C, NSC-32000 assembler, BSD
Unix V4.2)
Sky Computers, Lowell, MA (1985)
Designed and implemented an array-processor device driver for BSD
Unix on the SUN workstation (C, 68020 assembler, BSD Unix V4.2).
Codata Systems, Sunnyvale (1984-1985)
Ported Unix System V onto the MC68010/MBUS- based Codata computer
system. This included the design and implementation of the Unix
kernel MMU code, as well as serial and disk device drivers (C,
Unix System V).
Designed and implemented the boot-PROM firmware and "standalone"
environment for the Codata computer system (C, 68010 assembler).
|