|
|
Robert Ramey
|
IBM Compatible PCs, PIC
microprocessor, Nintendo Gameboy
32/16 bit
Windows/DLLS/COM, MSDOS, FreeBSD, Linux, Embedded Systems
Visual C/C++ with MFC,
C/C++, GCC, Strong Boost experience, Visual Basic, Unix shell and utilities
2011
Bosch
ETAS Group,
Develops
and markets automobile test and diagnostic equipment. Developed C++ server application with MSVC
and Boost libraries.
2010
Nova Sensors,
Develops
and markets visible and infrared camera electronics. Developed C++ program with MSVC and MFC for
configuration of FPGA programmed for these electronics.
2008
Analysts, Inc.,
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:
o
Control linear
state with a stepper motor
o
Control an
illuminator
o
Synchronize
A/D conversion
o
Transfer data
to PC Host using USB protocol
·
PC Host
program writing C++ with MFC to
o
configure,
calibrate and operate the LEM
o
run the test
and retrieve results through USB port
o
Graph results
o
Perform
statistical analysis using multi-variable linear regression.
o
Save/post
results
2008
Greystone Digital Inc.,
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
2007
InfoGrip, Inc.,
Develops
and markets products using "Assistive Technology". Developed updated
hardware for an updated version of the InfoGrip BAT. The original
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.
2007
Cadence (Israel), Tel Aviv, Israel.
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.
·
C++ Templates
on 6 different *nix platforms
·
Boost
libraries
2007
Vetronix,
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.
2006
Multi Probe,
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:
·
USB Device
drivers
·
Windows Driver
Model (WDM)
·
Libraries
provided by
·
SWIG - Simplified Wrapper and Interface
Generator
·
Boost libraries
·
C++
·
C#
2005
Procore Technologies,
Procore
provides contractors with software and services that improve the efficiency of
construction projects. Wrote code to embed Microsoft Project into 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.
2003-4
Boost.org.
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.
2002-3
Raytheon Corp., Electronic Warfare Division,
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,
2001
Reactive Sputtering, Inc.,
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.
2000
Digital Instruments,
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.
2000
WidgetLab,
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 automatically
downloaded to the client system. It can then be invoked to edit the data tags
embedded in MP3 files.
2000
Santa Barbara Software,
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.
1999
Origin Data,
Design
and implementation of programs to test and benchmark various searching
algorithms. This was implemented using the STL templates from the C++ Standard
Library.
1998
Vetronix Corporation,
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), ,
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,
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
1996
Connected Systems,
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.
1996
Vetronix,
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-Eriksson,
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
1995
Interactive Visions, Santa Barbara,
California
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
Development
of a DOS TSR that works a telephone speech 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.
1995
EBSCO Publishing,
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,
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,
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.
1994
Miramar Systems, Santa Barbara
Debug
of user interface for Windows Appletalk client agent. Built with MS Visual
C/C++ and MFC.
1993
Centura Software (Formerly Gupta) Corp.,
Incorporated
sorting product into SQLBase SQL Server product. This was done on an
OEM/royalty basis.
1993-1994
Robert Ramey Software Development,
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.
1993
Interactive Visions, Santa Barbara
A
screen saver featuring 3-D animation. This was developed under contract as a
commercial product.
1990
Jib Ray Inc.,
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
Founded
and operated Datatec
·
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.
" Is Boost Broken?"
given at BoostCon 2010
"
The Boost Serialization Library" given at Software Development West 2008
"Making a Boost
Library" Presented at OOPSLA,'05
workshop "Library Centric Design", October 2005
"The Postman's
Sort" C Users Journal, August '92
"Add a Source Debugger to your C compiler" Computer
Language, April '88
Spanish: Fluent reading,
writing and conversation.
French: