TPG pic

Terry Gliedt
The Rest of the Resume

This documents what I've been doing since I left IBM in the summer of 1993. I've stayed technical and current and found my latest passion - anything to do with the Internet and Internet technologies. I've also discovered I'm a lazy programmer - lazy as describribed so well by Larry Wall.

Looking back over my career I've come to realize there are some things I bring to the job that have proven important for my clients and employers:

  • Customer orientation - At IBM Rochester there was an enormous emphasis on the customer. Few of us had contact with customers in the normal sense, that is, people who paid money to IBM, but each group defined its own customer set. In my case this was always some person/group within IBM. By defining a customer we also defined a very precise process how to deal with that customer:

    1. Find out what the problem is.
    2. Design a solution.
    3. Get input from the customer on the proposed solution.
    4. Code and test it.
    5. Show the customer what's been down and get more input.
    6. Repeat (4) and (5) until you have something reasonable.
    7. Test it like mad.
    8. Deliver the solution.
    9. Stay in regular contact with the customer and maybe repeat some of this again.

    When someone asked "Who is your customer", you better be able to answer the next set of questions about how you followed this process. This has became second nature to me and I apply it to every project I work on. This process will ensure good communications, avoid solving the wrong problem and result with a satisfied customer. I find it amazing that apparently so few in our industry just don't get it.

  • Deadlines - I don't miss deadlines. Oh sure, I probably missed a couple, but for the very very large majority of times, if I tell you I'll deliver something on some date, you get it then. Sometimes I might have to scramble to deliver, but I've got a long successful track record here.

  • Independent - I generally don't need much direction from my management. Again, this is a long established pattern - I find something significant to work on, start it and evolve it until it's done. It's not that don't need help, there's always new things to learn, but I can pretty much manage myself.

Niche Skills

As you can see I've been involved in many differing aspects of our industry. There are a few skills I've picked up that seem more useful than others:

  • Application Programmer - my language of choice is Perl or PHP, depending on the environment. I've been writing applications to solve my customer's problems for a long time and I've gotten pretty good at the process. A look in my toolbox will show you examples of code at SourceForge as well as simpler Perl programs I've done. What you will not see are all those Perl and PHP programs I've done at the University of Michigan to manage processes with our genotype and phenotype data or the applications to assist analysts in their work.

  • Perl Dump is the name of the very short and intensive class I've been teaching graduate students at the University of Michigan. Perl turns out to be an especially effective language for people dealing with genetic data. Hashes, complex data structures, and regular expressions are just the thing people need to create input for genetic analysis programs. Time is precious for grad students and I offer an extremely intensive series of seminars to get them on their way with Perl. This has been going on for years now and has been highly successful. Seems to me something like a Perl Dump is just what people in industry need to pick up another language.

  • MOSIX cluster - I've been building and managing a cluster of MOSIX machines for several years now (see here). In addition to all the things you'd expect like building kernels and installing systems, I've gotten pretty good at shopping for the hardware we need, including Dell's PowerEdge servers and RAIDs for all that genetic data (approaching 100TB of space in 2008).

  • Organizing large amounts of data is something that I've had experience with for years, beginning with those IBM mainframes. Genetics today deals in terabytes of data and just doing the basics of organizing the data and backing it up is a real challenge. Databases for genetic data can easily grow to a billion rows. Extracting that data for analysis is a continual challenge.

  • Build, integration and deployment in large development projects is something I did for most of my career at IBM. Since then I've worked on a couple of Feature Driven Development projects. Development is an incremental process and after a year or two, it's easy to have invented a set of products that are so complex you can't figure out what or how to deploy and maintain them. I can help sort out the mess, or better, avoid getting there in the first place.

Professional Experience

The most recent items here are undoubtedly out of date. See my latest and more formal resume for the latest scoop.

U of M logo

University of Michigan (1999-2012)

As a senior programmer analyst I provide support to a group of analysts working on several projects including FUSION project, where the goal is to find the genes responsible for diabetes. My role is to help organize the massive amount of data in this project and to automate the analytical processes. Early on I set a goal of "improving productivity" by one to two orders of magnitude. Much of this has been accomplished by automating various processes (hardly all my effort) and we are now working on tools for the next order of magitude. My responsibilities include:

  • Install/maintain a Web infrastructure (Apache, MySQL, PHP etc)
  • Write Web applications in support of our processes
  • Teach Perl to Biostat students in our group
  • Design and implement software to improve the processes used by the analysts
  • Write tools to organize the data from the tens of thousands of analyses generated annually by the group
  • Set up and administer a 60+ node Mosix cluster
  • Redesign and implement our processes to cope with the ever larger data we encounter (multi-GB files and databases of hundreds of millions of rows)
  • Figure out how to cope with over 30TB of data. Where's the next 100TB going to go? How to back up this much data?

WCC logo

Washtenaw Community College (2003-2005)

As a part time instructor, I developed and currently teach a class on Perl which is being offered once a year. See for details.

United Overseas Bank logo

United Overseas Bank (1998-1999)

UOB launched a Java-based project to write a massively large system to handle the lending processes for the bank. The project consisted of about 16 Java programmers and an additional 24+ others. This system was developed using Coad methodology and used an interative development process. It was exceedingly complex, interfacing with some 20 other bank systems. The design and development process helped us insure both quality and that was delivered on schedule.

I served as manager of Development Support which is a group whose goal was to make the Java developers and testers more efficient and to insure their talents were maximized. As such we were responsible for:

  • Unix and NT installation/maintenance
  • Oracle support
  • Configuration management
  • Weekly "builds" of the product
  • Writing tools for the developers
  • Design of the final production systems
  • Deployment of the product using Marimba
  • Project management
  • Support of the intranet servers (mail, news, LDAP and Web)

Although I was a manager and had responsibilities for hiring/firing, employee evaluations, etc., I also had the lead role in the technical design and implementation of much of the work we did.

First Virtual logo

First Virtual Holdings, formally (1996-1997)

First Virtual provided a number of secure services for Internet Commerce. As a member of their research and development team I spent most of my time to help with Web-related tools for First Virtual sellers. Initially these were CGI-based tools but later I was involved in substantially more complex solutions dealing with Internet Commerce. A few highlights are:

  • FVPay was a complex system installed on at a seller's facility to process transactions paid using the First Virtual VirtualPIN. This system ran on both Unix and Windows/NT platforms and was to process a significant portion of transactions used at First Virtual.
  • Direct seller contact - I had a fair amount of contact with large First Virtual sellers which I found enormously useful in trying to design, develop and deploy systems for our customers.
  • Windows/NT Experience - I worked on a project to provide VirtualPIN processing for sellers using Windows/NT. This gave me good experience with some of Microsoft's tools for Internet Commerce like Merchant Server, IIS and MS SQL.
  • Database Experience - I had the chance to work with quite a variety of databases on Unix and NT systems, including both commercial database systems and the "free" ones. I learned to really appreciate the role of the database administrator and how complex this world can get.
  • Apply-and-Buy - was a CGI script which significantly simplified the interface for VirtualPIN processing for the seller. This effort turned out to be important because of its wide positive impact on First Virtual sellers who needed to make the payment point as simple as possible. A complete, well defined interface like this saved the seller time in getting his pages online and saved First Virtual time by not needing to answer so many questions.

ISPN logo

Internet Services Provider Network (1995-1996)

ISPN was in the business of putting telephone companies into the ISP (Internet Service Provider) business. This provided me with the chance to really get into the Web as I served as webmeister for as many as 20 servers on the Internet. I was responsible for the design, development and deployment of Web servers for a dozens telephone companies. This provided me the opportunity to work from my home office (45Kb). As the nature of the Web has changed, I probably would better be called a web programmer since I did quite a lot more programming as opposed to simply administration. A few points to be made include:

  • Commercial Web site development - I developed over forty commercial web sites using all the usual web skills, including graphics, forms, image maps and extensive use of CGI scripts. I left ISPN with some 250 CGI scripts and 1400 HTML documents in production.
  • Community Web Project - had the goal to provide a Web site for several hundred communities in Minnesota. I spent quite a bit of time inventing a way to automate a way to build image maps that could be used to add cities to this list. I also had to automate the creation of each web site (even to the point of being able to move them easily to another server). I invented a set of processes to allow volunteers to provide the information for each city. I thought it was a great idea, but the project faded away for lack of support.
  • Sprint Sports Stop, formally - was quite a large site where I did most of the original development which included extensive use of CGI scripts. One project was to provide near-real time reporting on The Sprint International and Titleholders Championship golf tournaments.
  • ISPN Business Processes - was a project to provide a software system for the company itself to use. This entailed collecting information from each the telephone companies and then providing feedback to them so they could see exactly where we were in providing the final product to the telco. I had quite a bit of regular contact with the telco personnel.

Software Toolsmiths logo

Software Toolsmiths (1993-1995)

In 1993 IBM made me an offer I just couldn't refuse. I was out on my own. It did not take me very long to discover that I had a pretty good collection of skills. So over the next years, I kept myself busy working as a consultant under the name Software Toolsmiths. Some of the projects included:

  • Davis, Thomas and Associates - where I taught a number of classes on Unix, shell programming, C and C++. At IBM I had taught classes on various specialties, so this was right up my alley. It was enjoyable and I always got very high ratings for my efforts.
  • Andrew User Interface System (AUIS, a.k.a. Andrew or ATK) - Using the standard AUIS sources, I created pre-compiled versions of AUIS for Linux and provided support for my users. These were made available on the Internet and now are available on various CDROM distributions of Linux). Feedback from the users allowed me to tailor the packages to minimize the need for help to make the software useful.
  • Linux Journal - was the first public magazine in which I was published. I wrote a series of four articles for the August through November 1994 issues of the Linux Journal.
  • Analysts International Corporation (AiC) - provided me the chance to design and develop a system to distribute 1GB of software to various remote locations around the world. I had to build a small isolated network of AIX machines, install the Andrew File System (AFS), DB/2 and a host of AIX software development tools. In addition I installed lots of GNU and other freely available software. The task was to integrate all of this software, identify the dependencies and design a means to distribute, install and maintain it on machines scattered around the world.


HomePage Services of Minnesota (1994-1995)

By 1994 it was clear the Web was where it's at and a few of us formed HomePage. I served as the systems programmer and webmaster for HPS.COM (note the short domain name, not many of those left anymore). I learned a lot about marketing and selling and what it takes to run a business. My responsibilities included all things technical:

  • Install and support Linux on our server
  • Install and support the Apache Web Server
  • Install and support various databases for Linux, my favorite being MySQL
  • Design and create Web pages for our own use
  • Design and implement CGI scripts for our customers


IBM (1970-1993)

See here for details on my IBM career.