Return to Resumé Table of Contents

Resumé:
Jim Serwer
Software Consultant
408-985-6615

Send email


Chronological List of Contracts


Here is a list of my contracts over the last ten years in reverse chronological order. Other pages at this web site contain experience by category. (Dates are not exact as sometimes projects overlapped.)


09/01 to 12/01  Ciena Corporation, Cupertino, CA

Ciena Corporation builds optical switches. Products are tested at stations which include a PC at each station. A database server keeps databases of part numbers, serial numbers, test procedures, and test results. I upgraded test programs running at the PC's to communicate with the database system. Made numerous other improvements and fixed bugs in test programs.

Used Visual Basic and ADO.


01/01 to 06/01  KLA-Tencor, Milpitas, CA

KLA-Tencor has a large legacy program with multiple purposes and over 800 classes. Very few programmers at this company understand it. My job was to figure out what the program does and write a COM wrapper that encapsulates just the features needed by a new project.

I succeeded in this task. Using Visual C++, I wrote a COM object that exposes the necessary functionality. As a byproduct, I wrote a Help file, over one megabyte in size, that documents the original program. I also wrote a Visual Basic program to test the various functions of the wrapper.


01/01 to 01/01  Clarinet Systems, Milpitas, CA

Clarinet Systems makes infrared devices for connecting a Palm computer to a FTP network. I wrote a Visual Basic program to test the device.


02/00 to 12/00  SignetSure

SignetSure is a developer tool which protects the files of a software publisher from unauthorized modification. It uses the RSA Public Key encryption technology. The product supplies a simple GUI for creating public-private key pairs and for signing files. A program validates a file's signature in a single API call.

In the first six months that this program has been available, about two thousand people have downloaded SignetSure. (This does not count downloads from shareware sites that maintain their own copy of the product.)

I developed all aspects of SignetSure and its web site. I programmed the RSA encryption algorithm, I programmed the user interface, and I programmed the re-distributable library. I programmed the Perl scripts that handle online user registration. I also programmed a Perl-callable DLL that, using WinInet, that initiates a web session with the credit-card authorization service. This DLL acts like a browser and is the client to the remote web server.


05/99 to 02/00  Speedlane Inc., Palo Alto, CA

The Transport Device Interface (TDI) is a Microsoft protocol by which a TDI client (e.g. WinSock, NetBIOS) talks to network transport device drivers (e.g. TCP/IP). I wrote a TDI Device Driver (both VxD and NT versions) that inserts itself into the TCP/IP stack at the TDI level. This device driver examines all incoming network traffic and notifies a companion application of certain network traffic of interest. (This is similar to the technology used in personal firewalls and filters.)


12/98 to 03/00  ARI Network Services, Milwaukee, WI

Company sells Win32 software to equipment manufacturers to publish online parts catalogs to their distributors. Made improvements to an Acrobat plug-in and integrated it with their product. Numerous other feature enhancements and bug fixes.


07/98 to 08/98  SC Technology, Fremont, CA

SC Technology makes test equipment for chip manufacturers. This equipment needed PC software to collect test data and interpret the results.

I wrote various DLL's in C/C++ which were callable from Visual Basic. One DLL did RS-232 Serial IO and packet parsing in a background thread with asynchronous notification to Visual Basic.

A second DLL acted as a device driver for an A-to-D converter. This involved real-time modification to settings in the on-board 8254 timer chip to synchronize data collection.

A third DLL did numerical computations on wafer data.

Also wrote Visual Basic interface for accessing these calculations.


03/97 to 03/98  The Blue Team, San Jose, CA

The Blue Team was an Internet startup whose aim was to push-publish magazine articles, online. I wrote programs to download magazine articles unobtrusively while the subscriber read his email or surfed the web.

I wrote a background program to recognize when the user was connected to the Internet and poll the server for new articles. And, I wrote the code to download the the article and store it on the subscriber's machine. Polling and downloading used WinSock and WinSock2 extensively.


10/96 to 2/97  Vista Labs, San Jose, CA

Vista Labs designs telephony switching and test equipment on behalf of its affiliated manufacturing company, Larus Corporation. I designed, implemented and documented 8051 firmware to test a circuit board which performs communications to fiber-optics test equipment. I also wrote a GUI to control test program.

Used 8051 assembler and C to write firmware. Used Visual C++ and MFC to write user interface.


04/96 to 09/96  Wiltron Company, Morgan Hill, CA

Wiltron Company makes Optical Time Domain Reflectometers which test fiber optics cables.

Using Visual Basic, I developed programs to parse TL1 language commands and to manage the communications of those commands with remote devices. Used Visual Basic custom controls to perform communications over serial lines, modem, TCP/IP and X.25.

I developed an OLE Server in Visual Basic to simulate the company's hardware so that an NT Workstation could serve as test platform without external hardware.

I installed a TCP/IP to X.25 gateway.


05/95 to 2/97  TUTSIM Products, Morgan Hill, CA

TUTSIM is an advanced mathematical tool that simulates continuous dynamic systems. TUTSIM performs a digital simulation of an analog computer.

I ported TUTSIM from an MS-DOS product with command-line interface to an MS-Windows GUI product. I added computational features, including Fast Fourier Transforms and Bode Plots of simulation results.

I fixed a number of bugs in the mathematical algorithms that were part of the original product.


03/94 to 05/95  Zadian Technologies Inc., San Jose, CA

Zadian Technologies makes equipment to test disk drives that attach to interfaces such as IDE and SCSI.

I designed and implemented an MS-Windows DLL to act as a device driver for the proprietary hardware. This DLL allows customers to design their own user interface to the hardware in either C or Visual Basic. In addition to Visual C++, I used Microsoft Assembler, and SoftICE for Windows extensively.

Wrote a VBX to do Visual Basic event notification of data and status returned from the hardware.

I wrote a large user-interface program called SoftProbe. This gave the user control of the Zadian's proprietary hardware. I used Visual Basic, various add-on custom controls, various add-on tools for Visual Basic, and Access database.


01/91 to 03/94  Earlier Experience

Earlier experience includes a DLL Serial Device Driver to bypass the serial driver in Windows 3.1, a Printer Device Driver for Windows 3.1, and embedded programs for the Motorola 68331 and the Motorola HC16, and a frequency channel planning tool for Cellular Communications. Details on request.




     Table of Contents      Device Drivers      Numerical Analysis
     General Introduction      Web Site Dev.      Chronological List
     Computer Languages      Cryptography      Download Resume
     Internet Commun.      Embedded