Career Summary
I have over fifteen years experience in the software industry. My project experience includes Java Web Applications,
DSP Embedded Systems, Graphical User Interfaces (GUI), Air Traffic Control (ATC), Networking, the PHIGS 3D
programmer's toolkit, and Unix Systems management. I am proficient in Java, C++ and many other languages (Shell, Ada,
Assemblers, and more). I have experience with several Unix varieties (Sun, SGI, HP, AIX, FreeBSD, and Linux).
I am a Usenix member and have attended several of the annual conferences.
Web Applications
Pelyco's web application is a Manufacturing Resource Planning (MRP) system. I designed large parts of this product, which comprises Java servlets, a SQL
database, and a JavaScript/HTML GUI. The application server can run on Unix or NT, and the thin client runs in Netscape or Internet Explorer. I have
configured Apache and IIS web servers, and ServletExec and Websphere Application servers. The languages used were Java, Javascript, HTML (XHTML, HTML4,
CSS), SQL, and scripts.
Firewall Sys Admin
I installed and configured the firewall protecting Pelyco's net. It is a
complex firewall, but I will not discuss it here.
Hymarc 3D Vision Systems
Laser Scanner DSP
Hymarc manufactures 3D scanners which are used in the automotive industry for inspection of tooling, and for capturing complex shapes from 'clay' models.
I designed embedded DSP code to control the mirrors and compensate for thermal effects, using 'C' and Motorola 563xx assembler. This DSP requires fixed
point mathematics. I also helped review the electronics circuit design.
Device Driver
I wrote a device driver for a PCI A/D card to receive data from the above scanner. It was written for SGI Irix,
and was optimized using DMA for high throughput.
Enterprise Planning Systems
Manufacturing Resource Planning
I designed a graphical user interface for a
legacy Manufacturing Resource Planning (MRP) system.
It includes a tree hierarchy for navigating the field catalogue of the MRP database,
and a specialized spreadsheet for organizing a report in the desired format.
The system is WYSIWYG, so the 'view' that you see in the window is what you get when you
print it, except that the Postscript output has much finer resolution.
I provided 'direct manipulation' wherever possible in the design.
For instance, the user drags a column to position it in the 'view',
or to remove it to the wastebasket. The user can experiment with MRP options,
and see live updates from the 'netting'. Options are organized in tabbed pages.
The system is designed to be intuitive to the typical Planner, and provides
advanced functions for the experienced user.
View formats are 'persistant'. The user chooses an existing view or creates a new one,
and it is remembered across invocations.
The user does not have to concern herself with saving to files.
An attractive splash screen appears while the system is starting up.
I used commercial widgets from KLG and freeware widgets from various authors via
the internet. The commercial widgets are in general more powerful and robust, but
the free ones are much more flexible since I had control of the source code.
This work was done using Motif, Xt, X11, and ported to the leading Unix platforms.
The user interface described above took a person-year of my work, not including
the MRP database engine which was already complete.
Note: the company is now named WebPLAN, and is no longer promoting this 'APS Universal'
product.
Atlantis Scientific Inc.
Scientific Image Processing
The Atlantis image processing product is used to analyze satellite SAR and optical images. I was working on the graphical user interface, porting it from MS-Windows to Motif for Sun workstations. I designed the colour allocation module to make best use of the 256 colours available, also allowing multiple image windows to be displayed simultaneously. I did extensive debugging and restructuring in the GUI code. I made best use of the Unix debug tools to find pointer errors, thus improving both the Unix and PC versions. I put much effort into making the code cross-platform, based on the event driven structure common to X11 and MS-Windows. This work required knowledge of Motif, Xt, X11, Unix and C.
Prior Data Sciences Ltd.
Swisscontrol User Interface
The Swisscontrol system will be used to manage air traffic over Switzerland. I implemented the Zoom Window subsystem, and corrected performance problems in other subsystems of the user interface. This work required knowledge of InterMAPhics, Motif, Xt, X11, Unix and C.
GAATS User Interface
The Gander Automated Air Traffic System (GAATS) is used to manage the air traffic over the North Atlantic ocean. I enhanced the graphical user interface so that flight plans could be modified by mouse actions in the geographical situation display. I also enhanced the communications between the display workstation and the database server, to permit flight plan modification. This work requires knowledge of InterMAPhics, X11, Unix, and C for the workstation software. The database server work requires knowledge of Pascal, VAX/VMS, and TCP/IP.
Gallium Software Inc.
X11 Fonts
The Gallium Font Manager (GFM) is a desktop utility which makes it easy to install fonts in the X11 window environment. I implemented an enhancement to install Type1 fonts in Framemaker. The fonts are rasterized in several resolutions, then the format and encoding is converted to Framemaker's format. This work required an understanding of X11, Adobe font formats, and Framemaker's font configuration.
InterMAPhics Graphical User Interface
InterMAPhics is a toolkit for developing Air Traffic Control user interfaces. I enhanced the demonstration programs which are used at trade shows and customer presentations. The appearance was greatly improved, bugs were fixed, and the programs were packaged with a Motif launcher program so that a demo tape could be sent to prospective customers. This work often involved Unix system administration, because the demo machines for trade shows had to be configured to execute this software in a standalone environment.
PHIGS Support
PHIGS is a 3D programmers toolkit which is useful to the implementors of scientific visualization programs. I provided pre-sales support to customers of this product, wrote demonstration programs, and analyzed a customer's performance problems on Silicon Graphics systems. This work required an understanding of 3D graphics, including matrix transforms for modelling, shading methods, and graphics hardware performance.
Ursel Systems
Navigation Training System
Ursel was a small company which specialized in airborne navigation computers. Working on the design of a navigation training system for use by the Air Force in Dash 8 aircraft, I designed and implemented the graphics display subsystem and various instrument interface subsystems. The software was written in 'C', using the VRTX real-time executive on a M68010 processor with a M68881 floating point coprocessor.
Mitel Corporation
SX200 Private Branch Exchange (PBX)
I designed, implemented and tested device driver software for this PBX. Software designed included drivers for the floppy diskette drive, the CO trunk, and the ONS line. These were implemented partly in Assembler, and partly in Pascal. This work required knowledge of device controller VLSI devices, and telephony interfaces.
SX2000 PBX
In my first career position, I designed device driver and performance measurement software for this major project, which involved about 200 software designers at its peak. The software was written in Pascal and Assembler with development work done on a VAX computer. Some time was spent investigating CCITT #7 Common Channel Signalling.
Publications:
|