David H. Silber

246 High Street
Medford, MA 02155


Applications Programmer

I am seeking a software development position in which I create applications which stretch the boundaries of what we can make our machines do for us. That could be an entirely new class of software, or a better version of something that already exists.

Previous projects have included programming for networked (web-based and otherwise) and database-enabled applications, GUI front ends, handheld devices, scientific and financial data manipulation, computer language and network internals, and program library design.

Skills Summary

  • Agile software development.
  • Applications programming for UNIX, Linux, and other POSIX-compliant systems.
  • Applications programming for Windows and Windows CE with the .NET Framework and the .NET Compact Framework.
  • Web-based applications for any standards-compliant platform. (Including LAMP.)
  • Use of SQL databases.
  • Making order out of chaos.
  • Comfortable with various computer languages:
    • C#, Java, C/C++
    • Perl (POD, DBI, Template Toolkit)
    • PHP (PEAR DB)
    • HTML/XHTML (CGI, CSS), DocBook (SGML)

Professional Experience Summary

Media Aide Harvard University October 2009 to present
Software Developer US Technical Services May 2007 to October 2007
Chief Software Developer Abacalab, Inc. July 2004 to April 2007
Custom Software Developer / Author / Teacher Silber Software Enterprises January 1999 to June 2004
Software Developer AccessAbility Internet Services January 1998 - January 1999
Software Developer Trusted Information Systems September 1997 - December 1997
Software Developer The Soft Bicycle Company December 1996 - September 1997
Programmer/Analyst Stellar Orbits Technology Services July 1996 - December 1996
Package Maintainer Debian Project March 1994 - December 1996
Programmer/Analyst Administrative Offices of the U. S. Courts August 1991 - July 1996
Programmer/Analyst Independent Consultant April 1989 - March 1992
Programmer Concept Omega Corporation October 1987 - March 1989
Programmer Communication Devices, Incorporated February 1986 - September 1987
Programmer AlphaCom, Incorporated June 1985 - January 1986
Lab Assistant Moravian College February 1985 - May 1985
Programmer and Systems Installer Dataverse, Incorporated June 1984 - January 1985


dbcoder: Generating Code For Your Database - Discussed the dbcoder software, its usage, and lessons learned in its development. Published in the February 2004 issue of The Perl Journal. (See http://www.ddj.com/database/184416084.)

Reading Palms: Connect a PalmPilot to your Linux Box - Written for the December 1999 issue of Linux Magazine, this article reviews several Linux software packages which back up and synchronize PalmPilot data. (See http://www.linux-mag.com/1999-12/palmpilot_01.html.)

Palm OS Desktop HOWTO - The PalmOS-HOWTO document describes how to use freely available software to synchronize a 3Com PalmPilot PDA with a Linux system. This is part of the Linux HOWTO documentation series. An earlier version was included as part of "Linux Undercover" (published by Red Hat Software) and "Linux, The Complete Reference" (published by Walnut Creek CDROM Books).

Java CGI Classes - Developed a package to solve some of the problems of using Java to write CGI programs. Classes include CGI -- to reference CGI values passed in from the HTTP daemon, Email -- to build an email message in parts, and HTML -- to build an HTML response in parts.

Connie - (the CONvention Information Exchange) is a Palm application which collects transient information and shares it via the infra-red port of the more recent Palm devices. It was written in C and developed on a Linux platform.

Professional Experience Details

Harvard University

October 2009 to present
Media Aide
Audio, video, and computer-based presentation systems

Presentation support for Harvard lectures and events

Support Harvard class lectures and special events in Harvard's Science Center lecture halls (134 to 500 seats) by providing a variety of resources for presenters:

  • Audio enhancement for speakers and audience Q & A.
  • Computers of various configurations and types.
  • Configure display system to select one or multiple projectors.
  • Support older presentation technology (e.g. slides) as needed.
  • Videocamera operator. Track both lecturer and presentation.
  • Troubleshoot problems.

US Technical Services

May 2007 to October 2007
Software Developer
Perl, MySQL, PostScript, Mac OS X, Unix

Processing PostScript documents for printing

Short time-frame project to streamline the cumbersome process of printing personalized health insurance booklets. Wrote a custom perl script to select specified PostScript documents from a cache of near-ready-to-print versions. Personalized data was inserted as PostScript comments in each selected document for use in downstream processing. Processing status was logged to an SQL database. Maintained pre-existing scripts. Wrote software unit tests.

Abacalab, Inc

July 2004 to April 2007
Chief Software Developer
C#, XML, Bourne Shell, Java, SQL, Visual Studio (2005 & 2003), .NET Compact Framework, .NET Framework, NUnit, CFNUint, Subversion, Microsoft SQL Mobile Server, Windows XP Professional, eXtreme Programming

Scientific software development for handheld computers

Lead programmer in the design and development of the Chemistry Labacus™ product. Agile programming methodologies were used to rapidly build on the application's original concept of a handheld tool that chemists can draw reactions in and make it into a full-fledged application for managing the life-cycle of an experimental reaction. Chemistry Labacus™ provides a drawing surface upon which the user can sketch out a chemical reaction. It understands the chemistry represented by the drawing and provides stoichiometric data tables. Data is backed up to a companion desktop application via a TCP connection established over the handheld device's USB cable. Once on the desktop, reaction drawings and associated data become available for sharing with ChemDraw, spreadsheets, and word processors.

Silber Software Enterprises

January 1999 to June 2004
Custom Software Developer / Author / Teacher
Linux, UNIX, Perl, PHP, C, C++, Java, Bourne Shell, DocBook (SGML), HTML, POD, CGI, SQL, MySQL, PostgreSQL

Development of custom applications for programmers and the web

Maintained and upgraded dbcoder -- a programmer productivity tool that generates code to match a database schema from templates. Templates and generated code can be in any language. dbcoder is written in Perl. (See http://www.dbcoder.org/.)

Wrote a complete PHP-based e-commerce web site in which users are able to upload pictures, collect them into albums, purchase merchandise with their images on it and send email greeting cards (also with their images) that lead the recipient back to the web site in order to view their cards. (See http://www.everyonesmile.com/.)

Wrote a command-line interface to the web-based Keystone software, allowing users to access the trouble-ticket database from their a command prompt. This can also be used by scripts to extract trouble-ticket data and manipulate it as needed. (See http://www.stonekeep.com/.)

Wrote Encapsulator, a Java applet which automates some of the repetitive work involved in writing CGI programs.

Wrote contact.cgi, a C language CGI program to accept contact information from an HTML form, store it for later use and send a customized response via email. When an error is detected in the data supplied, this program provides user-friendly error reporting by generating the HTML form with the existing data and requesting that the user correct the data, rather than requiring the user to re-enter all of the information.

Wrote miscellaneous small web-based utilities.

Taught classes on using UNIX and on programming with the UNIX Shell. Sessions tended to include people of widely varying skills. Worked with individual students as they worked their way through the programming exercises.

AccessAbility Internet Services

January 1998 to January 1999
Software Developer
Java, HTML, C, Perl, CGI, MySQL.

Web application development

Wrote custom web-based programs for customers of this web site hosting company. Created new rental applications that were shared by the virtual web sites. Installed and administered web applications shared between multiple virtual web sites.

Trusted Information Systems

September 1997 to December 1997
Software Developer
Java, HTML, C, Symantec Visual Java, BSDI UNIX, Solaris, Windows 95

Web-based application development

Wrote Java GUI screens for a firewall configuration product. Ported the user-level program that communicates with the driver from BSD UNIX to Solaris, changing it to communicate via STREAMS in the process. Wrote scripts to manage Solaris STREAMS module usage.

The Soft Bicycle Company

December 1996 to September, 1997
Software Developer
C, CGI, Java, JavaScript, HTML, ODBC, SQL, Visual C++, Visual SourceSafe, Microsoft SQL Server, Internet Information Server, Netscape, Internet Explorer, Windows NT, Windows 95

Web-based application development

Re-wrote a Web-based conferencing tool as part of a small cohesive team. Consensus@nyWARE® consists of many cooperative CGI programs, which share a database and other data. The effect is similar to standard GUI programs.

Stellar Orbits Technology Services

July 1996 to December 1996
C, Java, Perl, CGI, HTML, Make, CVS, Bourne Shell & misc. shell tools, Apache, Linux

Web-based application development

Wrote custom HTML forms for various business needs and the server-side CGI programs that go with them. The CGI programs were written in C, Java or Perl, depending on the requirements of the project and the services available on the hosting system. User-interfaces were tested in various web browsers to confirm functionality.

Debian Project

March 1994 to December 1996
Package Maintainer
Make, Bash, Perl, Tcl, Tk, C, Linux

Meta-systems administration

Maintained the taylor-uucp package. This entailed packaging each new release of taylor-uucp into a Debian Linux distribution format package. Packaged the BSD fortune program for Debian.

Administrative Offices of the U. S. Courts

August 1991 to July 1996
C, Unify 4.0 (including HLI), Bourne Shell, SCCS, Unisys UNIX, Interactive UNIX, Solaris 2.4

Financial system support

Maintained the Court Financial System (CFS), which was installed in many U.S. District Courts. Turned previously unorganized parts of this system into a coordinated distribution package. Rewrote the Voucher Maintenance screen to replace lost source code. Instituted the storage of all CFS source (C, shell, SQL, RPT and makefile) in SCCS archives. Redesigned the organization of the installed software to allow for easier management of the operational system.

Independent Consultant

April 1989 to March 1992
C, C++, Borland Turbo C, Microsoft C, yacc, Bourne Shell, Borland Turbo Debugger, Codeview, SQL, Database Manager, SGML, RFTDCA, CASE:PM, curses, Presentation Manager, Office Vision, SCCS, PVCS, IDSS, UNIX, SunOS, OS/2, MS-DOS, VM/CMS.

Development for custom applications

Worked at many sites (IBM, OAO, MCSI, others) on a variety of projects:
  • Maintained code to read and write variously formatted document files for a SGML-based Office Vision word processor.
  • Helped to design and develop a custom network running on high-end PCs. Ran the integration phase of the project, combining separately written networking, graphics, editor and video modules, managing five people during this phase. Wrote the central networked file management database and video color conversion routines.
  • Assisted in the implementation of a database using C, a case tool and dynamic SQL.
  • Coded and refined data entry screens. Made forms, messages, and data streams conform to latest specifications.

Concept Omega Corporation

October 1987 to March 1989
C, 680x0, 80x86, Thoroughbred 4GL, SCCS, uucp, UNIX

Computer language software development

Ported a Multi-Tasking Business BASIC Interpreter (consisting of 1.4 MB of C and assembler source code) to various UNIX and similar machines. Created several additional features for the Business Basic language, including a window input function and many fourth-generation language features. Created and maintained an in-house network using the uucp networking protocol. Used SCCS to maintain control over module versions and prevent multiple concurrent updates.

Communication Devices, Incorporated

February 1986 to September 1987
C, MS-DOS, Btrieve, Curses Library, Greenleaf Function Library

Development of communication systems monitoring software

Designed and developed a Network Analysis System using Microsoft C 4.0 and the Greenleaf Function Library. This system monitors a network via modems, displays the data in various formats, and stores and retrieves the information for statistical and system maintenance purposes. Provided clients with customized variations on this system.

AlphaCom, Incorporated

June 1985 to January 1986
C, AppGen, Xenix, MS-DOS

Development of medical application software

Designed and generated medical application software using AppGen (a fourth generation language). This package required the generation of customized screens and forms acceptable to U.S. federal government's Medicaid and Medicare programs. These electronic forms required a program written in a combination of AppGen and C to export the data from the AppGen database into a file of the proper format. The file format had to pass government acceptance tests to allow for use with their servers.

Moravian College

February 1985 to May 1985
Lab Assistant
6800, 6502, 8080, and PDP 11 Assembly Language

Aided in UNIX instruction

Explained assembly language programming concepts to micro-programming course students, reviewed assembly language projects for completeness, and instructed students on the use of the Unix PDP 11 assembler and 6800/6502/8080 cross assemblers.

Dataverse, Incorporated

June 1984 to January 1985
Programmer and Systems Installer
C, Unify, Unify HLI library, Xenix, CP/M

Database porting

Ported a CP/M based database to Unify, a relational Unix-based database. Wrote shell programs to convert data formats and special data input screens (written in C and interfaced to Unify). Installed small multi-user Xenix systems and networks.

Technology Skills

Programming Languages C#, Java, Perl, C/C++, SQL, PHP, JavaScript, Bourne Shell, Make.

Libraries .NET Compact Framework, .NET Framework, Java Development Kit.

Documentation Languages XML, HTML, DocBook, POD, SGML.

Software Visual Studio (2005 & 2003), Nunit, CFNunit, Apache, Subversion, Visual SourceSafe, CVS, SQL Server, MySQL, PostreSQL, Unify.

Networks and Protocols CGI, TCP/IP, PPP, Ethernet, NFS, UUCP.

Operating Systems Windows XP Professional, UNIX, Linux, Mac OS X, Solaris.


SD Best Practices Conference 2006.
Solaris Networking course 1996.
Studied Computer Science at Moravian College 1982 to 1985.

References available upon request.

Last modified: Sunday, July 10, 2016 at 21:41:26 EDT.

Copyright © 2022 by David H. Silber

Valid CSS! Valid XHTML 1.1!

David H. Silber
Mailing Address:
246 High Street
Medford, MA 02155