Furnishes diagnostic evaluations and maintenance solutions for industrial production
machinery and for equipment used in power generation, HVAC, and mobile fleets. Principal
industries served also include the marine, construction, mining, trucking, transit
and aircraft industries. Developed a new version of their
LEM Testing machine. Required
Design and construction of a custom circuit board with onboard PIC microprocessor.
Custom optical system for specimen illumination
Custom Firmware written in C to:
Control linear state with a stepper motor
Control an illuminator
Syncronise A/D conversion
Transfer data to PC Host using USB protocol
PC Host program writting C++ with MFC to
configure, calibrate and operate the LEM
run the test and retrieve results through USB port
Graph reults
Perform statistical analysis using multi-variable linear regression.
Develops and markets special "Large Key" keyboards. We developed an updated version
of their product with a USB interface. This include hardware design, firmware, and
boot loading updated firmware through the USB interface. The product itself is now
being manufactured in Taiwan.
Develops and markets products using "Assistive Technology". Developed updated hardware
for an updated version of the InfoGrip
BAT. The orginal design consisted of microprocessor, EPROM, battery backed
RAM, on two separate circuit boards (right and left handed). The original version
took a man-year to program. Our modern version consists of a one chip solution which
implements a USB interface, fits on "flipable" circuit board for right and left
handed versions. This product required two man-months for all hardware and software
development. Key technologies used are:
PIC microprocessor
CCS C compiler
USB implementation compatible with standard USB HID device class.
Develops and manufactures software for Electronic Design Automation. This project
consisted of developing a custom addition to the Boost
Serialization Library to support portable binary archives. Cadence is a use of Boost
libraries and uses this extension in one of its verification products.
Develops & manufactures embedded systems to serve the automotive service industry.
This project was a telematics application. That is, it consists of modules with
radio modems installed in vehicles which continuously connect to a central server
via GPRS protocol. The central server can than monitor in real time the position
and diagnostic status of all vehicles in the fleet. The major aspects of this project
include:
USB Device drivers
Embedded system using Motorola 68331
C programming language Multi-Threaded application
Motorola G.18 and G.4 Radio modems for GPRS connection.
Develops & manufactures the world's highest resolution Atomic Force Prober (AFP).
Wrote C++ code integrate Multi Probe's next generation hardware with the widest
possible variety of application software including .Net languages, TCL/TK, Python
and others. Tools used include:
Procore provides contractors with software and services that improve the efficiency
of construction projects. Wrote code to embed Microsoft Project into the the Procore
website. This permits Procore to seamlessly integrate Project update and edit with
other services that Procore offers. This used a combination of VBScript, ASP, MS
Project Object model scripting.
Boost.org is an organization dedicated to providing peer reviewed C++ libraries
that provides advanced features for C++ programmers. These libraries are distinguished
by:
High quality - before being accepted as a boost library, candidates are subjected
to an extremely rigorous peer review system to assure utility, correctness, and
elegance of design.
Portability - all boost libraries are subject to testing on a variety of compilers
and operating systems.
Correctness - exhaustive test cases for each library
Power - many boost libraries use advanced C++ features such as template meta-programming
to make libraries more flexible and powerful.
Breadth - the code base in the boost libraries is extremely large and varied.
My submission - the Boost Serialization Library has been accepted into boost and
should appear soon as part of the official boost release.
Design and implementation of test station software to test infrared sensors under
conditions of extreme temperature and vibration. This application was written in
Visual Basic and used, COM, captured Video, ADO database connectivity among other
things.
Implementation of Windows graphical User interface programs to control proper flow
of gases in a sputtered coating system system. Used C++, MFC, ATL COM Objects, mult-threading,
serial communication and STL.
Design and implementation of a new GUI for the world's most powerful microscope.
This was built with Microsoft VC++ with heavy reliance on MFC. It incorporates hundreds
of thousands of lines of code used to operate the microscope hardware. Taught MFC
courses for 15 programmers.
Design and implementation of a COM automation object to permit the reading and editing
of data tags (song title, etc) on MP3 files from either Visual Basic or VBScript.
This COM object can be embedded in web pages and automatcally downloaded to the
client system. It can then be invoked to edit the data tags embedded in MP3 files.
Santa Barbara Software, LLC is partnered with Wavexpress,
Inc to deliver rich content-movies, music, sports, news, computer games,
software-over a digital broadcast signal direct to any DTV-enabled PC. Wrote the
client side user interface application in VC++ with MFC. This consisted of a GUI
control frame in which an instance of the Microsoft Internet Explorer COM object
was embedded. COM interfaces where designed into the application so that javascript
within html pages could invoke functions implemented by the application.
This application also used OLE DB and the Microsoft Jet database DLL to access a
local data base used for transaction logging and other tasks.
Design and implementation of programs to test and benchmark various searching algorithms.
This was implemented using the STL templates from the C++ Standard Library.
Design and implementation of Win 32 applications for uploading and manipulating
data files captured by a hand held vehicle monitoring device to a PC via a serial
port.
Data is uploaded to a directly connected PC or to a stand alone program via telephone
line and modem. The Telephone line monitor application functions without operator
interaction to save data to disk files. Up to four phone connections can be handled
simultaneously.
File viewer application permits viewing, graphing, saving to disk, emailing files
uploaded from the device, or selected from Windows file explorer or from on WEB
page links.
The file viewer was integrated into WEB pages via Microsoft Explorer Internet Component
Download service. Web pages can include special HTML tags which cause Internet Explorer
to determine whether the latest version of the application is installed on the users
machine. If not, and security settings permit it, the application is automatically
downloaded, and configured for the users environment. Henceforth, web pages could
contain links to these types of data files on any server on the WEB.
All national language dependent resources are held in separate DLLS which permits
switching between languages while the program is in operation. The program starts
with the language specified by the current user in the Windows 95 settings. Languages
implemented were English, Japanese and Spanish.
When directly connected to a hand held vehicle monitor this application can graph
vehicle operating parameters in real time. Real time data can be captured to disk
files for later use.
Applications operate under Win 3.1 via Win32s.
These applications are being deployed by American and Japanese Honda Divisions and
Toyota Corp.
1997 Engelhard Corporation (now Telaire), , Santa Barbara, California
Design and implementation of a program to control a telemetry "black box" through
a serial port. This program downloaded and stored and accumulated data such as temperature,
relative humidity, CO2 concentration etc, and graphed the results. Also implemented
real time graphing of data. This product is part of a sensor/telemetry package sold
by Engelhard. Used an off the shelf graphing OCX and Visual Basic.
Demo Available
1997 Dega Technology, San Luis Obispo, Califorinia
Development of a specialized browser for a CDROM database to be sold to companies
in the chemical industry. Used Visual Basic to tie together OCX graphing control
and Jet Database Engine queries. The database itself was prepared/maintained with
Microsoft Access.
Demo Available
Adaptation of General Software BIOS for an embedded PC designed to host DOS Telephony
applications. Required implementation of pseudo drivers to emulate non existent
hardware in order to make the platform totally PC compatible while requiring the
absolute minimum of hardware. Written in Microsoft Macro Assembler.
Programming of a special purpose file editor which builds configuration files to
be downloaded into a hand held microprocessor driven automobile diagnostic device.
This is a Windows Application written with Borland C++ 4.52. This program consists
of about 6000 lines of C++ code which makes heavy use of the Borland OWL library.
It was delivered in about 10 weeks.
1995 McCann-Erikson, San Francisco
Programming and implementation of a WWW site for the online registration of magazine
subscriptions. Web surfers through the Hewlett-Packard web site can learn about
and subscribe to the new HP Magazine "networked!" through this site. This applications
gathers and validates the data from the user, and downloads on demand to the subscription
fulfillment company. This applications was written in PERL 4 and runs on an Linux
server.
Demo Available
Development of a database application for the World Wide Web. This takes information
exported from a database and generates standard and custom web pages that can be
loaded to a Web Server as a group. It has been used to generate thousands of Web
pages for organizations such as the Direct Marketing Club of Southern California
as well as others.
1995 Santa Barbara Regional Health Authority, Santa Barbara, California
Development of a DOS TSR that works a telephone speach system to deliver results
of a data base inquiry over the telephone. Uses TRT Provide telephone application
development system, Wollongong TCP/IP stack, Borland C/C++ and an implementation
of a unix style sed editor to translate text into spoken sentences.
Implementation of Postman's Sort on HPUX, and SCO Unix. This program is used on
EBSCOS Text Retrieval Server. It is a Unix implementation of the Postman's sort
retail product which they have also licensed for inclusion in EBSCO's CDROM package
for DOS.
1995 Parnell Systems, Santa Barbara, Santa Barbara, California<
Design and programming of a student scheduling program. This program considers student
course requests and priorities as well as teacher skill set. The algorithm developed
is a variant of a classic linear programming assignment algorithm. Formulating the
problem in this way permitted me to demonstrate that the algorithm might converge
in a reasonable time. This was developed and implemented under Windows/NT using
MFC to build a testing/demo framework.
1995 Durand Communications Network, Santa Barbara, California
Implementation of Fax Receive for Class I, II, and 2.0 Modems under Windows 3.1
. This was integrated into the Filexserver retail product.
1994
Completion of Filexserver. This is a program written in Visual C/C++ which is distributed
as a retail product. It acts as a file transfer similar to Laplink, a BBS and as
a Fax receive station under Windows. Can handle upto 12 communications lines.
A general purpose linear time file sorting program. This was the subject of an article
published in the C Users Journal and later sold as a commercial product through
Programmer's Shop and Provantage. This was implemented for Windows/3.1, Windows/NT,
UNIX and OS/2.
A screen saver featuring 3-D animation. This was developed under contract as a commercial
product.
1990 Jib Ray Inc., Ojai, California
A conveyor system built from autonomous inter-connected computer controlled motors.
Among other things this required construction of a code translator with the Unix
M4 tool to work around problems with the motor's native code.
1977-86 Datatec C.A., Guayaquil, Ecuador
Founded and operated Datatec C.A. in Guayaquil, Ecuador This company supplied general
business services such as General Ledger, Accounts Receivable, etc. to foreign and
domestic companies of all types and sizes. Datatec grew to be the largest data processing
service in Ecuador with more than 130 customers. Was directly responsible for all
aspects of the business including hiring/discharge of employees, financing, accounting,
training of sales and customer service personnel. This was in addition to writing
all the software to support this service accomplished the following:
Porting of a C Compiler to the Data General C-350.
Design and programming of a multi-tasking system used for trading foreign currency.
This was written in RATFOR as C was not available for the indicated machine at the
time. On the strength of this application the company was sold in 1986.
An interrupt driven execution time profiler written in C for MSDOS computers.
Numerous utilities written in C for MSDOS.
Numerous business applications written in COBOL.
Enhancement of structural engineering applications written in FORTRAN.
Async communications to link micros and mainframes written in two different assemblers.
Eventually this was replaced by porting an XMODEM protocol program to both of the
machines.
Education
1969 B.S. Business, University of California at Berkeley. Studied engineering, economics,
finance, and operations research.
1970 M.S Business, University of California at Berkeley. Studied operations research
and finance.