Technical Skills
Languages and Development Tools
25 years of experience coding in C/C++
9 years working with TCL/TK
1 to 10 years experience coding in other languages including Java, PHP,
HTML, JavaScript and TCL embedded in Apache Web Server
5 years of experience using Wind River's Tornado IDE for embedded VxWorks
applications
4 years of experience using Eclipse IDE from IBM
10 years of experience using GNU Tools (GCC, MAKE, …)
10 years working with CVS and produced GUI front end to CVS using TCL/TK
3 years working with and maintaining ClearCase
21 years working with UNIX (FreeBSD, Solaris and many other Unix based
systems)
10 years working with PostgresSQL.
5 years experience using Oracle and MySQL.
12 years experience using SQL.
5 years in writing ASN.1 for product MIBs (Management Information Bases)
Additional Skills
Created the ASN.1 (MIB) pretty print module for the public domain utility
a2ps
Five plus years working with Layer 2 and Layer 3 management switching
software.
Three years of experience developing code using Layer 2 and Layer 3 networking
concepts and protocols including TCP/IP (BSD Stack), IGMPv2, PIM-SM, RIP, OSPF,
STP, GARP (GMRP, GVRP), SNMP, ASN.1 for Management Information Bases (MIB’s)
10 years of experience writing functional specifications, test plans, and user
manuals to comply with product life cycles
Employment February 2006 -
Contract programmer for Adventure Kids Play Care, enhancing their online site
management program. http://www.adventurekidsplaycare.com/ is a child day care
service. The online web program checks in children, calculates payments and
generates invoices per family.
Contract programming for AgileMesh, writing Java applications for their
mesh-networked video surveillance systems http://www.agilemesh.com/
Designed and developed a video multiplexer allowing multiple users to view a
single TCP stream from a wireless camera.
Designed and developed a video router which allows users not on the AgileMesh
wireless network to access all video devices from another wired networking
subnet.
Designed and developed a user friendly utility that allows the user to upgrade
the firmware and web pages of their AgileMesh devices.
Designed and developed a virtual software panel that allows the user to
control their wireless AgileMesh devices. This program emulates their existing
hardware controller.
November 2004 – February 2006
Developed and released a Home Entertainment remote control system written in
Java and the Eclipse framework (www.eclipse.org). This is a large screen touch
remote system that can control all IR/RF devices within the home theater
environment. The software is being ported to an embedded hardware device running
a UNIX operating system. http://www.tigerpawremote.com/
Currently working on a real time meeting manager system, written in Java and
the Eclipse framework. The software is used to manage meetings within a company
or organization. The software manages all resources, locations, timezone
differences and attendees of the meeting. This software uses the PostgreSQL
relational database software to store the meeting and personal information.
http://www.sam.mmoge.com/
February 2004 - October 2004 NexGen City Richardson, TX
Software Configuration Management and Quality Engineer
Develop, maintain and document automated tools for building, installing,
releasing, upgrading, deploying and packaging software using CVS source code
control system. Maintained and enhanced automated daily
build/report/notification/test scripts and coordinated release schedules.
Installed and configured BEA/Weblogic, Apache web server and Eclipse work
environments.
January 2003 – January 2004
Working a on a source code control environment at home, for possible release
in the future. The idea is to create a user friendly and configurable
environment that will be easy for the user and automate many of the tasks needed
for source code control. This also includes a web based bug tracking system to
keep track of problems and enhancements ideas. The system is based on CVS with a
PostgresSQL backend and using TCL/TK to provide a GUI front-end.
April 1999 - January 2003 Wind River Systems Lewisville, TX
Senior Software Development Engineer
Senior software engineer for the TMS (Tornado for Managed Switches) project.
Several duties which included on site ClearCase, CVS (Including setting up a
CVS server), backup system administrator to help support the IT requirements for
the development engineers.
ClearCase duties included installing and setting up of client software on Unix
and Windows.
Created and maintained automated client side backup of ClearCase views.
Fix and maintained views on client systems for Unix and Windows.
CVS duties included installing and setting up of client and server software for
Unix and Windows
Designed and developed scripts (written in TCL or Shell) and programs to allow
quick and accurate release of software to the quality engineers
Created a full featured GUI for CVS written in TCL/TK to aide the development
engineers in creating views based on a very large source code base (50,000
files)
Create a full featured TCL script to aide development engineers to access
ClearCase views and to setup the environment for building the product.
Backup administrator duties included design, develop and maintain automated
system backups on a UNIX system. These duties included setup and installing of
software products on a Solaris system, because the IT person maintained only the
Windows systems.
Software engineer duties included design, develop and document several
networking protocols for the TMS product. The TMS system contained a Web Server,
Telnet daemon, SNMP agent, RMON agent, BSD 4.4 TCP/IP stack and many other
components to create a full end user product.
DHCP, BOOTP – designed, developed and integrated using the RFC (Request For
Comments)
SNMP v1/v2/v3 agent – participated in the integration in to TMS
RMON agent – develop and integrated a public domain RMON into TMS
Designed and developed Web pages used to manage all of the protocols used
within TMS. The Web pages contained HTML and JavaScript. Also wrote ‘C’ call back
routines required by the embedded Web server to help in posting and serving the
pages.
Participated in the design, development and documentation of the MIB API,
which gives the user an abstraction layer to access all SNMP objects. The design
also supported non-SNMP objects within the TMS system.
Designed and developed a demo system that our customers of field engineers can
access to show the TMS product in a working system. The designed required a
secure access to the system from the Internet.
Designed and developed ‘C’ code and scripts to help test TMS in this complex
system.
Design, implement, debug, and support embedded real-time applications on the
VxWorks Real Time Operating System (RTOS). The main application of focus was
Tornado for Managed Switches (TMS, a real-time L2/L3 switch/router management
applications).
Design, develop, and integrate new features for TMS, including network
protocols such as IGMP Snooping, TCP/IP Stack modifications, web server and SNMP
agent enhancements, and user interface components.
Debug existing TMS code base such as device drivers, VLANs, TCP/IP Stack, STP,
IGMP Snooping, RIP, OSPF, GARP, BSPs, SSPs, MIB code, HTML, and backend C code.
Write functional specifications, test plans, and end-user manuals
Maintain customer contact through design, implementation, test and support
phases of several projects while working closely with the customer's engineers.
May 1996 - April 1999 XAct Inc Lewisville, TX
Senior Software Engineer
Wind River Systems purchased all software and hired the employees of XAct Inc.
which no longer exists.
Design, developed and documented networking protocols for the XAct embedded
product called XSwitch.
Responsible for all UNIX system administrator for FreeBSD and Solaris.
Designed, developed, integrated and documented the following components:
RIP – Layer 3 TCP/IP routing protocol according to the RFCs
POP3 – Email protocol used by client and servers on the internet according to
the RFCs.
SMTP – Simple Mail Transfer Protocol used by internet email servers according
to the RFCs.
HTTP – Wrote a simple and fast Web server using HTTP 1.0 for embedded XSwitch
product.
IDB (Information DataBase) – used to access all variables/objects within the
XSwitch product. The IDB design required a TCL script to parse ‘C’ code and ASN.1
MIB files to produce a set of source files defining the embedded database
objects. IDB was enhanced and redesigned to become the MIB API used in the TMS
product by Wind River Systems.
September 1992 - May 1996 Perot System Inc. Plano, TX
Associate – (At the time they did not have descriptive titles)
Participated in design and development of a core banking application call
ProBanks.
Created a server to get rental car rental information. Used 2 UNIX systems
connected over Ethernet. The Oracle front end applications would make requests,
using UDP to one the 2 servers to retrieve car rental information. Reduced their
access times from 20 minutes to 2 seconds. All the information was kept in
memory and accessed with the shared memory libraries developed for the project.
Trained and instructed the ProBanks team in UNIX and ‘C’ programming. Main
reason hired was to move the development team from IBM main frames to a UNIX
environment.
Designed and developed the ProBanks source control system using the CVS
system.
System administrator for all UNIX systems. |