Gray Abbott's Resume

SOFGRY SYSTEMS, Pflugerville TX - Sole Proprietor, 2009-Present

Freelance consulting and contract programming

Developed solver for Vehicle Routing Problem (VRP), to optimize scheduling of deliveries, using heuristic Local Search methods. Solver is added to client’s existing order processing software products. Supports capacitated trucks of different sizes, capabilities (skills), cost rates, and other parameters; orders of different sizes, and skill requirements; precedence and Time Windows. Newer versions supports scheduling of service tasks, adding new orders to an existing schedule, with a rolling horizon. Solver is written in C# for .NET and makes use of multiple cores and distributed hosts to speed up computations.

Developed code to control devices from Enfora and Garmin for tracking vehicles, via cellular TCP/IP linkage. Allows remote control over GPS navigation targets, interactions with driver, and more.


SOFGRY SYSTEMS, Pflugerville TX - Sole Proprietor, 1995-2001

Freelance consulting and contract programming

Worked with startup creating a new Internet Audio product. Analyzed competing products. Managed Web site construction, wrote Web/marketing "copy". Tested different hardware platforms. Investigated device driver needs. Developing Linux device drivers. Planned Order Processing procedures and software.

Developed computational geometry code for software product for estimating lumber needs ("takeoffs") for construction projects.

Wrote software for project developing a wearable medical device for recording vocal chord activity. Ported non-realtime speech analysis algorithms from DOS to Windows/Visual C++. Developed realtime version for Motorola DSP 56300, in assembly language.

Planned corporate LAN for a startup company, including building a Firewall router, utilizing IP-masquerading and Virtual Private Networking (VPN), using Linux. Firewall includes a backup Internet connection (modem) in case of failure of primary T1 connection.

Built and managed Intranets for several team projects, including Web sites, with project documents, mailing lists, and searchable archives.

Various Web site development projects, including HTML, Javascript, and CGI (Perl) programming:

  • Interfaced MS/Access databases to Web pages, via ODBC and Perl/DBI.
  • Used CGI.pm module and developed Perl-based preprocessor for HTML, to combine dynamic data with HTML templates.
  • Developed innovative applications of Javascript for dynamic Web pages, to simulate a live tour guide.
  • Developed Perl software to bulk-generate Web pages from ODBC database, including Web forms to manage database records.
  • Used Perl/CGI to implement an online ROI calculator, to compute return on investment for a commercial software package.
  • Developed custom software to generate unusual animated GIFs, such as random noise backgrounds.
  • Developed E-commerce sites, selling products over the Web. Dealt with shopping carts, credit card merchant accounts, and hosting services.
  • Lead developer for a Web site that links consumers to home repair/improvement contractors.

Worked as a lead developer/consultant for a major manufacturer of shock and vibration measurement and control products. Work involves design, coding, and testing on TMS320C40 processors, using DSP Research Tiger 40 boards and the SPOX realtime operating system. Used DSP Research TEM-4X emulator board and both Texas Instruments and Code Composer debugger software.

Besides design and implementation of components of above product, I set up an "intranet" server to hold project information - design documents, bug lists, tools for downloading, phone books, a glossary which can be extended through Email forms, and a WAIS searchable archive of project Email. This server is used by team members working in four different cities.

Developed Linux Device Driver for National Instruments ATMIO E Series data acquisition cards. Driver is capable of both "leaky" and no-gap acquisition at high data rates. The design uses a "thin" driver, with most board-specific knowledge contained in an API library. Integrated driver into client's acquisition and analysis software package.

Developed CGI programs for scoring contest entries from a Web page, for a major manufacturer of integrated circuits. Done in generic way, to support any multiple-choice form. Also provided scripts to analyze and report statistics on entries and do mailings to contestants.

Developed WWW-based Calendar software to list events. First application was the Austin Technical Events Calendar, which I still run. This calendar lists events submitted by technical groups (SIGs, etc.) in the Austin, Texas area. In its first year, the Calendar listed over 600 local events. It is read by around 1000 people every week. The calendar software is highly automated and requires little maintainence (e.g. HTML is created automatically from forms sent in by individuals). The calendar software is generic and new calendars can be set up in less than an hour.

Did installation and product support for an acoustic/psychoacoustic measurement and analysis system. Also set up Web pages for this and related products, with automatic Emailing of regular "hit" statistics to client.

Since 1997, served as moderator for monthly Internet/Online Business Lunch meetings at the Entrepreneurs' Association. Have also lectured classes and run a mailing list on the topic of Doing Business on the Internet.

SOFGRY SYSTEMS, Etna, NH - Sole Proprietor, 1987-1993 (1/2 time)

Freelance consulting and contract programming.

Work for various clients, including the following:

Development of software for a startup company making a new professional audio product which uses digital filtering to equalize loudspeaker frequency response. Tasks ranged from writing diagnostic and bootstrap software to design of digital pre-emphasis and de-emphasis filters for enhancing measurement of room acoustics. Related to work done while at AR.

Design and implementation of a C language 'shredder' (or shrouder) tool for distributing unreadable but compilable source code, for a developer of C language user interface libraries.

Analysis of digital signal processing in a competing product for a major maker of professional digital music synthesizers.

Design and implementation of a major component of a medical software package for measuring quality of nursing services.

Design and implementation of a Unix device driver for a parallel interface to a laser printer, including distribution and installation programs.

Development of software, at a startup company, for a device which creates flexible printed circuit board prototypes, using ink jet printer technology. Software converts CAD drawing files to internal form, manages layout, and drives printer. Also, did design and implementation of software to control accompanying drill table.


Gray Abbott's Resume