GCC Technologies
Printers, Embedded Systems
Bedford, MA    August 1992--October 1994


C, Perl, Unix, PostScript, Embedded Systems

Company Background

GCC Technologies is an innovative desktop printer company providing hard-copy output products for over 7 years. GCC introduced the first QuickDraw laser printer for the Macintosh, and today offers a full line of printing solutions for Macintosh, Windows, and UNIX platforms.

KSE Project

June 1994--October 1994

The Korean Standard Emulation project was a major contract with YangJae Systems, a Korean printer distributor. KSE itself is a printer description language, like PostScript, widely used in Korea. The project was to port YangJae's implementation of KSE to the GCC printer platform so that YangJae could sell GCC printers, with KSE, PostScript, and PCL, in Korea.

Note that while GCC uses a proprietary operating system which drives its printers, the actual page description language (PDL), for example PostScript or PCL, is provided by another company. The PDL source code is licensed to GCC and is ported to the GCC operating system by GCC's software engineering division. The YangJae project was a case of porting a new PDL to the GCC operating system, thus providing a different printer product.

This project was critical to GCC, as it was a major entry into a new market. It was also under severe time constraints, as a typical PDL port takes several months yet YangJae wanted the KSE port to be completed in only a couple of weeks.

This was a solo project due to man power constraints at GCC. It also involved working with completely unfamiliar parts of the GCC operating system, which had been originally written to work with at most two interpreters (PostScript and PCL). Thus given complete responsibility over the project, duties included the following:

 
Meeting and communicating directly with the YangJae technical representative on all project matters
 
Working directly with the GCC Director of Sales on business issues and deliverable time frames
 
Negotiating a more reasonable project schedule with YangJae
 
Actually porting the KSE source code, which was hardly documented and had several undiscovered bugs, to the GCC platform
 
Designing and implementing changes to the core GCC platform to include the KSE language without impacting other GCC products developed from the same code base
 
All testing and debugging
 
Delivering releases to the client and making sure they met expectations
 
Supervising proper manufacture of the new printers at GCC

The project was completed on time, seamlessly integrated with GCC's core platform resulting in a very stable new product that has done remarkably well in the Korean market. The conclusion of the project resulted in the GCC Engineering Achievement Award for outstanding effort, and a promotion to Project Manager of GCC's Core Software.

Other Projects

August 1992--May 1994

Most of this period was officially spent working on the ColorTone project. The ColorTone printer is a dye sublimation color PostScript printer capable of producing photo-realistic output. This project involved debugging and writing new code for the ColorTone-specific portions of the GCC operating system.

Much of the more interesting work done during this period however was in modifications and enhancements to the GCC development environment, which was originally very crude, and to this day remains very much an "in-house" endeavor. Purely on personal initiative while on ColorTone, the following side projects were undertaken:

 
Rewrote most of the build scripts used to make the GCC operating system. Previously crude shell scripts were used, barely documented, hard to maintain, and riddled with project-specific directives. The new versions used more advanced build tools, were much cleaner and easier to understand, and made it much easier to modularize project-specific parameters.
 
Modified the build procedure for the operating system to work in parallel, installing parts of the build on workstations with a low load average. This resulted in reducing build time from approximately 45 minutes to about 10 minutes. This system even outperformed a similar commercial parallel build utility under evaluation at GCC.
 
Completely rewrote GCC's other development tools, in particular those dealing with source code control and allowing multiple engineers to work off the same development branch. Originally these tools were very crude, hard to modify for other projects, and provided only a limited source code control system. The new versions, written in Perl, were faster, easier to maintain, were thoroughly documented and were easily usable by any project, and provided a much more powerful system.