1988-2014 TSI: The IBM AS/400 and its Follow-ons

An amazing system. Continue reading

In the eighties IBM sold two mini-computers1, the System/36 and the System/38. It was hard to understand why. They both supported the same programming languages (RPG, COBOL, and BASIC), cabling, and peripherals. They both were aimed at small businesses that used them for traditional “business” applications—as opposed to graphics or calculation-intensive jobs. There was a large overlap in the targeted customers for each system. Both systems were even designed at the same IBM facility in Rochester, MN.

For several months rumors abounded in the trade magazines for these products that IBM would soon announce a new computer to replace both of them. The code name was Silverlake.

The announcement was made on June 21, 1988. I attended a briefing at the IBM office in Hartford. The name of the new system was AS/400. The “A” stood for “application” because every program ever written for either the S/36 or the S/38 would run on the new system. Neither the S/36 nor the S/38 could be upgraded to an AS/400, but the new system accepted all of the software and most of the peripherals. The thrust of the pitch was that IBM was providing the “best of both worlds.”

A System/38.

This claim was possible because the “native” environment of the new operating system was based on the System/38. The new system also supported a “System/36 environment” that allowed programs written for that system to run with no changes. Since the native environment was much more efficient than the S/36 environment, software developers were expected to migrate their code to the native environment as soon as they could.

My immediate interest was in the price of the low-end systems. I was bitterly disappointed. The least expensive model, the B10, cost much more than the 5363, which was a perfect fit for most of our target market. Once again, IBM just refused to address the millions of small businesses that could be served very well by an economical system that could handle a handful of simultaneous users. In 1987 IBM had finally introduced such a system. With this announcement just one year later a perfectly good solution was replaced by a much more expensive and unproven one.

So, from the perspective of selling to local advertising agencies and other small businesses, the announcement was a nightmare. However, as is described here, Macy’s gave TSI no choice but to embrace the AS/400. They wanted to hire us to develop a system for them, but they had no interest in purchasing obsolete hardware.

IBM’s approach eventually worked out in our favor. The AS/400 had many outstanding features that were not available on the System/36.

The B10 was the size of a two-drawer file cabinet. The B60 required four racks. All were announced in 1988.
  • The new system’s operating system was built over a relational database. I am not sure that most people in the S/36 community knew this at the time because IBM did not even mention it at the announcement meeting, and the database was not even given a name (DB2/400) until much later. All anyone knew was that it sure had fast file access.
  • The defining feature of the operating system was inherited from the System/38: Single-Level Store. I never have understood this completely, but the effect was that the main processor did not care whether programs or “pages” of data were already in memory. The task of managing storage was managed by other processors. So, the problem that occurred on the System/36 when too many jobs were running simultaneously would not occur on the AS/400. Moreover, the compiler on the AS/400 took advantage of this setup to make the programs run much more efficiently under normal conditions as well.
  • For our purposes the big advantage of the AS/400 was that BASIC programs on the AS/400 were compiled, not interpreted. This meant that we could externalize routines that were performed by many programs, and one program could call several other programs that could run simultaneously as “batch” jobs without tying up any terminals. These were huge advantages.
  • The BASIC interpreter that was invaluable for debugging was NOT eliminated.
  • The AS/400 operating system was designed to be able to take advantage of future hardware advances. Because potential customers were more concerned about solving their immediate problems, this was not a great selling feature. However, it was definitely a great “keeping” feature. Ever program that we wrote in 1988 still works on hardware marketed by IBM thirty-one years later!
  • The first announcement did not require this, but eventually every AS/400 came with a 1/4” cartridge tape drive. This eliminated the nightmare of having to convert repeatedly from one storage means to another.
  • Priority could easily be assigned to certain jobs.
  • A modem could be attached for faxing. Our AdDept customers used these for insertion orders until we devised a better way of handling them.
  • The system could be attached to an Ethernet or Token Ring network.
  • IBM’s query tool was a big improvement. We insisted that all of our clients licensed it, and I personally trained at least one employee in its use. That worked fine unless the person who had been trained left the company or was reassigned. We also offered support for designing and helping with queries, but we charged a monthly fee for this service.
  • Printing was much more flexible. Even laser printers attached to PC’s could be used for printing reports. I learned PCL, Hewlett-Packard’s printer language, so that I could design customized reports with fonts and simple graphics (borders and the like could be generated on HP printers. This was very popular with our customers.

Although some things continued to frustrate me about the AS/400, I grew to appreciate it more and more. It was not designed for tiny developers like TSI, but it allowed us to produce software with features that went way beyond the capacity of any model of the System/36. By the time that the E models of the AS/400 were released in 1992, the low-end systems represented very good investments for the companies who were interested in TSI’s products and services.

On the other hand, IBM’s approach meant that independent developers who marketed to the end users directly rather than to IT departments—and there were a lot of us—had to devised a way to survive until IBM provided us with a reasonably priced product. Those four years were very difficult for TSI. The company survived, but the grim reaper’s shadow was on our door quite a few times.

TSI’s B10 had a diskette drive and a QIC tape drive.

Over the course of twenty-six years, TSI had at least four AS/400’s (or follow-ons. named iSeries or System i) All of them worked spectacularly well. We hardly ever called IBM for either hardware of software support. We purchased or leased all of them at big discounts because we were developers. On the first one, a B10, I prudently scraped together enough cash2 to order the maximum amount of memory and disk. It was adequate for development purposes, but if one of our clients had tried to run its business on it, it would have been embarrassing. For one thing the operating system itself required almost half of the unit’s disk space! Subsequent releases of the OS required much more disk.

Still, we lived with it, and we came through on the other end.

How well did the strategy work for IBM? In 1988 IBM was one of many competitors in the mini-computer market. The others were DEC, Hewlett-Packard, Data General, Wang, and a host of other companies. By the mid-nineties all of the competitors had conceded the entire market for reasonably priced multi-user computers to IBM. All of them except HP went out of business, and even HP (after several mergers) now makes and sells only PC’s and printers. This stunning event went almost unnoticed by most so-called experts. They blamed poor management by these companies for their demise. Were they all stupid? No, the AS/400’s were demonstrably superior.

Lou Gerstner.

The mini-computer market still exists, but almost no one talks about it, because IBM has hidden its premier product inside hardware with other brands. The only thing that IBM left for the AS/400’s legions of devotees to cling to was the letter i. When Lou Gerstner took over the reins of IBM in 1993, he put a heavy emphasis on services, which were very profitable, over hardware and software, which evidently were not. So, Gerstner never liked the AS/400 approach because the IT departments that used it had little demand for IBM services. For example, at some point in the twenty-first century I visited Macy’s IT department in a suburb of Atlanta. Dozens of IBM employees went to work there every day. One extremely large office contained desks for them and no one else. Macy’s had several AS/400’s or i series systems there. One person managed them all, and he worked for Macy’s, not IBM.

Users of TSI’s software systems loved their AS/400 computers, and they never purchased any services from IBM beyond maintenance contracts.


The AS/400’s operating system (OS/400) employed strict typing of objects. Every object had one and only one type, and it was unchangeable. On a PC a developer—or even an end user—can change the type (as designated by the three-digit “extension” after the period). For example a text file named sample.txt can easily be changed to a comma-separated-values file sample.csv. Users could even make up their own extensions.The operating system might warn the person that changing the extension might make the file unusable by certain applications, but it would still allow it.

The AS/400’s native environment, in contrast, had a limited number of well-defined object types, many of which had equally rigorous subtypes:

  • Database files could be physical or logical. A logical file is equivalent to what is called a “view” in SQL.
  • Programs had subtypes for each supported language. A new language called CL3 was added.
  • Menus were lists of options displayed on the screen, usually with a command line at the bottom. Each option had a number.
  • Commands were routines that could be invoked on any command line. A command was essentially a shortcut for calling a CL program.
    • The names of the commands supplied by the operating system. were consistent throughout: VVVAAANNN, where VVV was a three-character abbreviation of a verb, AAA was an optional three-character abbreviation of an adjective, and NNN was a three-character noun. For example, DSPSYSVAL was the command for Display (DSP) System (SYS) Value (VAL).
    • Most commands had parameters. For example, the GO command required the name of a menu object as a parameter. GO BACKUP caused the system to display and execute the menu object named BACKUP. Pressing F4 after keying in the command displayed a data entry screen for all of the parameters.
    • TSI created a large number of commands in
  • Several other object types, such as line descriptions and spool queues, were used by the system software. Most system objects of all types (except commands) began with the letter Q.
  • BLOBs were objects that did not fit any of the other types. They included all types of images, video, sound, etc. They were added in later releases.

Users could not create new object types or subtypes, but new ones often appeared in new releases of the operating system.

Every object had a name, which was limited to only ten characters. A letter was required for the first character. The other characters could be letters or numbers. A few special characters were also allowed. The names were NOT case-sensitive.

Every object resided in a library, which was itself and object with a ten-character name. This was a departure from the S/36, where data files were not assigned to libraries. On the AS/400 two objects in the same library could not have the same name.

On the S/36 and for a short time in the S/36 environment on the AS/400 TSI used periods in the names files that were associated. For example, files that began with “M.” in the GrandAd system were media files. In the native environment of the AS/400 such files caused a problem for some third-party programs that users might wish to employ to create customized reports. So, TSI changed the names so that the first one or two characters served to group files.

Third-party programs and programs written in other languages also had difficulty with integers that were left-padded with blanks4, as BASIC programs have always done. TSI changed all of its programs to pad integers with zeroes instead of blanks. So, when the value of a three-digit number was 15, it was written on the AS/400 database as 015, not (blank)15.


1. The terms mini-computer and midrange computer referred to multi-user systems that were not powerful enough to run the business applications of major corporations. The System/36 and System/38 were certainly mini-computers. At its introduction so was the AS/400. The twenty-first century models, however, were more powerful than the mainframes of the eighties.

2. I suspect that TSI actually leased it.

3. CL stood for Control Language. CL was the easiest language ever. It was simply a list of commands to be executed in order. Since CL programs were compiled, they could be called from other programs written in any language.

4. I considered this an intolerable bug in the software developed and marketed by the other company. I encouraged the person trying to use the software to complain to whomever claimed that the product would work on AS/400 files. Eventually, we changed our files and programs to forestall a brouhaha.

1988-2004 TSI: AdDept: The Macy’s Installation

The first AdDept client. Continue reading

Quique Rodriguez.

In early 1988 Sue Comparetto, who had handled the GrandAd accounts in New York City, received a call at TSI from IBM’s Manhattan office. One of our contacts, Quique (KEY kay) Rodriguez1 wanted to talk with us about Macy’s New York. Its advertising department had been using software programs on an obsolete System/34 to keep track of its advertising expenses and income. The system had been developed internally by people who no longer worked for Macy’s. Documentation was minimal.

Macy’s New York had recently merged with Macy’s New Jersey. The new entity was called Macy’s Northeast, and its offices were on an upper floor of the “world’s largest store” on 34th St. in Manhattan. The advertising department’s existing system had already been stretched to the limits and would never be able to handle the increased load. Moreover, the users were not happy with some aspects of the code. Alan Spett2, one of a very large number of vice-presidents at Macy’s, had been provided by corporate with a budget for replacing or updating the existing system.

This may have been the last time that I actually jumped.

I jumped for joy and clicked my heels when I heard about this opportunity. For some time I thought that companies that produced and/or scheduled their own advertising represented a attractive untapped market for the skills and knowledge that we had acquired from our seven years works with advertising agencies. Evidently I was right. We had never approached any of these departments because I had absolutely no idea how we could even identify which companies created and placed their own ads.

Coincidentally, IBM had just announced a new mini-computer, the AS/400, to replace the System/36 (which had replaced the System/34 in 1983). This announcement and its implications for TSI are described in considerable detail here.

The train brought us to Penn Station, only a block or so from Macy’s.

I made several trips by Amtrak train to the city to document the requirements for the new system. Sometimes I was accompanied by Michael Symolon, TSI’s marketing director at the time, and sometimes by Sue. We soon learned that Macy’s advertising department did everything that an ad agency did except keep track of the amount of time spent on individual production jobs. In fact, they had an advertising agency name that they used when ordering media. In addition, the department had many other needs that regular ad agencies lacked. Specifically, they were required to allocate both production and media expenses to the selling departments. These departments were identified by three-digit numbers. Each was assigned to an administrative group that also had a number. In turn there were three levels of vice-presidents who “owned” administrative groups3.

Macy’s also billed the merchandise vendors (Clinique, Ralph Lauren, Levi’s, etc.) a portion of the expense for ads that featured their products. The cost to the merchandise department was net of these “co-op” billings. The contract could be for a percentage of the media cost or it could be a fixed amount.

The first phase of this job entailed providing Macy’s with everything that they needed to get the ads in all media scheduled—printed schedules in the format that they liked, “insertion orders” (called “delivery tickets” by other retailers) to accompany the materials sent to the media vendors, and so on—in every media. It also included keeping track of expenses and co-op for each level of the merchant hierarchy. There were several different formats that they used for reporting these breakdowns.

I envisioned that the creation of any ad would consist of five steps:

  1. An ad number within the season and a version code that was usually blank would be entered, or ad numbers could be assigned by the system by pressing a function key.
  2. A new ads screen allowed selection of the ad type (e.g., black-and-white ROP) and entry of the primary run date, which must fall with the season.
  3. The other information that applied to all of the media for the ad would be entered on a header screen. This varied by type of ad, but each screen included selection of a pub group—a list of newspapers, markets, or stations.
  4. A media selection screen showed one line for each pub in the pub group with dates, quantities, rates, and other costs or discounts. Any line could be edited or deleted. Additional pubs could be specified.
  5. A participants screen to provide the list of departments or groups for the ad with the expected cost percentages and co-op amounts for each.

Storewide ads could be entered rather quickly. Ads with many departments or groups might take a few minutes. This approach was warmly received. The employees were accustomed to specifying the participants for each pub in the ad.

After the schedule was created, any aspect of an ad could be changed, or the ad could be killed, (in exceptional cases), deleted, or moved to a different date. New ads could be defined. Once the ad was run, the actual participants and the actual co-op could be provided. History records with dates, times, and user ID’s were kept for all changes.

How did Macy’s determine the percentage of the actual cost of each ad that was to be allocated to each department or administrative group? The process astounded me. In one room4 were seated from three to five clerks. Each was provided with a stack of newspapers and a list of ads that were scheduled to be run as well as lists of department numbers and the numbers of administrative groups. They looked through the newspapers to find the ads that Macy’s had run. They then measured—with a ruler!—each of the “blocks” in the ad to see how many columns wide (six columns to a page) and how many inches deep (i.e., vertically) the block was. They then entered the column inches for each block. For blocks that were not specific to a department or group, a special “storewide” department #999 was created. The total of the measurements must exactly equal the total size of the ad.

My approach changed this process so that the clerks measured ads, not insertions (the ad in a specific paper). If the ad was already measured, the clerk could see what had been entered, who did it, and when.

A similar process was also required for each page of each direct mail piece and newspaper insert. The ads for other media were not measured, but actual percentage breakdowns were recorded.

Similarly, the actual co-op dollars received from the selling departments (a process called “turning in”) could be recorded. Lists of missing co-op could be printed.

The most important financial reports for Macy’s compared the committed co-op and costs with the actual measured costs and actual co-op. They could be run for any or all merchants (the vice presidents who owned the departments) and any or all media.

Camex was located at 75 Kneeland St. in Boston.

In addition to all of this, Alan had ideas for other modules such as an inventory system for the merchandise used for photo shoots in the studio in Newark and a system to manage the shoots themselves. He also wanted us eventually to work on an interface with the Camex system that Macy’s used to create the images for the ROP6 ads and books. Thank goodness these ideas were not included in the original contract.

TSI’s GrandAd system for ad agencies had been built around a file for ads, the key to which was a three-digit client number and a five-digit job number. So, each client could have up to 99,999 jobs. For the departmental system, which I decided to call AdDept, I designed a similar structure, but, since Macy’s itself was the only client, I made the three-digit code stand for the season. 891 meant spring of 1989. 892 was fall of 1989. Eventually, a one-digit code for the century was added as well, but otherwise this proved to be a very feasible approach.

Many other structural changes were necessary. The most significant one was the designation of a one-character version code as part of the unique identifier (key) to the main media file. This could be used to make distinctions that varied by pub (media vehicle). For example, one item in an ad might be “swapped out” for a different item in another ad. The catalogs sent to some markets might not include some pages.

The new table for the pub groups mentioned above allowed Macy’s to identifying papers in which they often ran the same ad, e.g., the tabloids. There was no limit on the number of pub groups, and pubs could be in any number of pub groups.

I did not mention this to anyone at the time, but while I was gathering requirements, I noticed a very serious flaw in the design of Macy’s existing software for the S/34. The same ad was run in a few papers, but each insertion in each paper was given a separate ad number. The clerks doing the measuring were each assigned one or more newspapers. They measured and then entered into the computer the amount of space for each department in each ad. The person next to them might have already measured the same ad in a different paper, but there was no way for them to use that information; they had to key it all in again. So, with the S/34 design the increase in the number of papers added by the merger would more than double the work in allocating costs. My approach would decrease the work even with more papers. They would only measure the ad in one paper.

How great was this? The ROI for this feature alone would easily surpass the cost of the entire system in the first year!

How was such a colossal blunder possible? Well, the S/34 programs were designed for Macy’s New York, which advertised almost exclusively in only three papers: The New York Times (a broadsheet), the Daily News (a tabloid), and Newsday, a Long Island newspaper with a unique shape. Each of these would require separate versions and therefore separate measurements. However, all of the new papers were either tabloids or broadsheets. There was no need for separate measurements.

At some point in mid-summer TSI needed to do a presentation for Macy’s at IBM’s office on Madison Avenue in New York. There was no competition; no other software developer wanted anything to do with this project. The alternative for Macy’s was to enlist their IT department to do something. No one mentioned this, but I was quite certain that the IT department would not be able to deliver a functioning system that met all the requirements within the required time frame. Of course, I was not certain that we could do it either. However, we had delivered several large projects on schedule, and I was willing to put in the hours5 to make this one a success.

590 Madison Ave., then known as the IBM Building.

I wanted to demo the GrandAd system and explain how we would adjust the database to fit Macy’s. I made arrangements to use a S/36 in IBM’s office at 590 Madison Avenue to show how our advertising agency system currently worked and how it could be adapted. I considered–and still do–this to be the most important presentation that I ever gave. It was my only chance to persuade Macy’s Advertising Director, Howard Adler, that TSI should be contracted to do the project. I figured that if we got Macy’s, and we did a good job, a whole new market would be opened to us. At that point I was still naive enough to assume that other retailers would surely be much less difficult because we had already done the programming for the largest retail advertiser in the country.

I needed to transport our GrandAd programs and our demo data to New York. Not only was it not possible in 1988 to send them there electronically using something like FTP. We did not even have access to a compatible medium. The I/O device on IBM’s S/36 in NYC read 8” diskettes. Our system in CT used 5¼” diskettes. So, I saved our programs and our data onto nine 5¼” diskettes. Then I used a machine that I had purchased for just this purpose to copy the 5¼” diskettes onto previously blank 8” diskettes. I then loaded the 8″ diskettes into a “magazine” that I had obtained somewhere. The S/36 in New York included a device for reading diskettes from such a magazine.

This is the only photo that I could find of a magazine. The diskettes are inserted in and removed from the opposite side.

You say that you are not familiar with the concept of diskette magazines? For over a decade IBM used them on the S/34 and the S/36. As far as I know, no other system from any manufacturer followed suit.

They were almost completely plastic. Their width was about an inch and a half. The other dimensions were just large enough for 8” diskettes. One side was open to allow insertion and removal of diskettes. Small plastic rails on the top and bottom of the open side kept the diskettes separate from one another. The only thing on the magazine that was not plastic was a small metallic bar near the top of the open space that held the diskettes in. The bar could be lifted up on a hinge to allow access to diskettes. The machine that read the diskettes could also do this (like a juke box), and it was smart enough to read them sequentially.

The process of saving and converting the programs and data, which I probably did over a weekend, took several hours. I then inserted the 8” diskettes into the magazine, put it in my sample case with my other materials, and then stowed the sample case in the trunk of my Celica. I do not remember why, but I must have left the car in the sun for several hours. When Michael and I reached New York and took out the magazine, we could see that the little iron bar that restrained the diskettes had apparently become hot enough to melt little notches into all the diskettes. The magazine drive on IBM’s system refused to read them. O tempora, o mores!

Michael had a brilliant idea. He used a sharp knife to slit the edge of each damaged diskette and nine new diskettes that we borrowed from IBM. The actual data was not, of course on the plasticized paper that one could handle (and therefore slit). It was on a very thin circle of magnetized film inside. For each new diskette Michael replaced the blank film disk inside with the one that he had retrieved from a diskette that I had made. Then he carefully inserted the nine new diskettes that hopefully contained our programs and data into the magazine. I then loaded the magazine into the S/36’s magazine drive again and entered the command to restore the files. The machine successfully read six diskettes. However, at that point it made an awful noise and totally mangled the seventh diskette including, because we had no way to reseal the side that Michael had slit, the precious film inside.

My dog could not juggle six balls.

So, I was faced with the prospect of making the most important presentation of my life with absolutely no software to demonstrate. The pony in my “dog and pony show” was a stick-figure drawing. Would anyone notice?

Fortunately, my many years of experience in debate at adjusting a presentation at the last minute kept me from panicking. I began the presentation by apologizing for the technical problem. I then illustrated the approach that we proposed to take using the whiteboard that IBM provided, and I answered questions as well as I could.

It was enough. Macy’s agreed to put in motion the process of contracting with TSI. As Alan later said, “You were definitely the only game in town.”

The plan was to install the system in the “System/36 environment” of a B30 model of an AS/400. The I/O devices were a single 8” diskette drive and a ½” tape drive. TSI had no system that had either of these drives, and so our only choice was to execute the cumbersome conversion process every time that we needed to make changes.

TSI could not even afford J. Cheever Loophole.

I sent Alan our usual two-page contract. He sent it to their legal department and returned one with about twenty-five pages. I should mention that the TSI was dirt poor at this time. Sue and I had been low on funds before, but this was the first situation that rose to a crisis level. Details are posted here. We certainly could not afford a lawyer. I had to read the contract very carefully and assume the worst. After a few changes, we agreed, signed it, and started work. I did almost 100 percent of the coding. The other programmers were busy with work for our other clients, and I did not trust Sue to do the work.

I was not able to use a single program from the GrandAd system. I thought that at least one of the many insertion order programs that we had written for ad agencies would be usable without much modification, but I was wrong. The people in retail advertising just do not think like the people in advertising agencies. Every single program was written from scratch.

We had no time to produce a detailed design document describing the project. Our drop-dead deadline was the end of the season in late January. All programs must be totally functional. The process was:

  1. Write the code.
  2. Get it to the point where there was something to show to Macy’s.
  3. Save the changes to 5¼” diskettes.
  4. Copy the 5¼” diskettes to 8” diskettes.
  5. Take the train to New York.
  6. Install the new software from the 8″ diskettes. This could take up to an hour.
  7. If changes had been made to the database definitions, make them on Macy’s system.
  8. Make changes on the fly as necessary.
  9. Show Macy’s how the new code works.
  10. Save the changes to 8” diskettes.
  11. Bring the 8″ diskettes on the train ride to TSI.
  12. Copy the 8” diskettes to 5¼” diskettes.
  13. Install the changes on TSI’s system.
The luxurious Windsor Locks Amtrak stop. This is the view looking north. From the parking lot the engine’s light could be seen under the bridge.

This was, to be sure, a terrible way to do things. It required me to make at least one trip to New York every week for several months. Usually it was up and back on the same day. I stayed overnight at a hotel a couple of times. Often I made two up-and-back trips in a week. Each trip required a twenty-five minute drive to the train platform. I boarded the train at 6:00 AM in Windsor Locks. There is only a platform there. I therefore sat in my car with the heat on until I saw the light of the train approaching.

The word you did not want to see was “DELAYED”.

If everything went well, I arrived back at the train platform at 9:30PM. The trains in the evening, however, were almost never on time. Those trains originated in Miami, FL. There were plenty of opportunities for delay as each one crawled its way north. A report on my most memorable Amtrak experiences is posted here.

During this process Alan would quite often come up with new thoughts as to what should be in the “base system” covered by the contract. I grumbled, but I almost always did what he asked. One morning I saw a Daily News in Penn Station with the headline “Macy’s Computer System is Driving Me Crazy!” I bought a paper, cut out the headline, and taped it to the inside of my sample case.

Meanwhile, TSI had received only a deposit from Macy’s. However, we were desperate to receive that final check. I saw no alternative to this nightmarish schedule.

The scope of the project was enormous, and almost nothing from the GrandAd code was usable for this project. In addition to everything else, the emphasis at Macy’s was on newspaper ads. In my experience ad agencies used the term “print”, which for them referred to direct mail and magazines. Most agencies treated newspapers as magazines that published more often on cheaper paper to a geographically limited audience. The ingrates who ran the papers did not even offer discounts to ad agencies. Macy’s, on the other hand, could run a dozen or more ads in one issue of a newspaper.

Time to go home.

Mirabile dictu! By February, 1989, the system was stable enough that Macy’s paid us most of the balance. This did not end the crisis at TSI, but it allow us to meet the payroll for a few months. In retrospect, I cannot imagine how we pulled it off. I remember working seven days a week. I was always at work by 6AM, and I seldom left before 7PM7. I admit that I always went home for lunch, and I usually took a short nap.

Gary Beberman.

What enabled the completion of this seemingly impossible task in that amount of time was the fact that Alan somehow got Gary Beberman8 to serve as the project manager. He could speak advertising to the workers at Macy’s and geek to us. I only trained one person; Gary trained the others. I am not sure where Alan found Gary or how he got assigned to the project, but he was a godsend. He saved us a huge amount of time and frustration, and he was also quite adept on pouring oil on troubled waters during the frustrating periods in which I was working feverishly on the code.

The next two projects for Macy’s were an inventory system for the “loan room” (usually called “merch room” at other retailers) and a more sophisticated system of entering and reporting actual costs, what Macy’s called “financials”. I gathered the specs for these projects on trips to Macy’s and produced detailed design documents, which Alan quickly approved.

Denise Bessette did almost all of the programming on these two large requests, and she did an outstanding job. I installed the code and showed the people at Macy’s how to use the programs.

Merchandise that was afraid of the traffic could have just as easily taken the train.

The loan room gathered merchandise needed for photo shoots and sent it to the photo studio in Newark or to some other location. Part of the automation of this process was the printing of tags for each item. Almost as soon as this was implemented, the amount of pilferage reportedly decreased dramatically. The merch room manager told me that previously a lot of merchandise had trouble remembering the way back to Manhattan from Newark. She was extremely happy with the new system.

Denise also completed the other project according to the approved design document, and I delivered it. The finance manager then produced a bevy of changes that she wanted. I offered to quote the changes at TSI’s usual fee of $75 per quote. Alan said that Macy’s was under the impression that these programs fell under the terms of the original contract. It clearly did not include them. He was also surprised that I insisted on charging for my time at Macy’s after the warranty period. I would not give in on these matters, and this caused some bitterness.

At some point in this process TSI leased an AS/400 model B10 from IBM. We hooked everyone up to it, and we converted all of Macy’s programs to run in the native environment instead of the System/36 environment. This project went fairly smoothly. I don’t remember any great headaches, and the programs were considerably faster.

In other respects the installation also proceeded rather smoothly as long as Gary was there, but when he and his wife moved to the West Coast, things started to get a little testy. Alan hired Satish Rahi9 (accent on the second syllable in both names) to manage the installation. Satish must have presented himself as an alternative to paying TSI to program reports. He thought that he could produce any desired output using a third-party query product from a company called Gupta Technologies. Their Wikipedia page is here.

Satish was shocked that the product did not work on most of our tables. I told him that there was nothing in our contract that said or implied that third-party products (of which even then there were quite a few) would work with tables that we designed and implemented. IBM’s Query/400 product had no trouble with any of our tables. After considerable digging I determined that the source of the problem was that we wrote records in BASIC, not in SQL10, which was not even available on the AS/400 yet. The designers of Gupta’s product evidently did not take this into account when they began marketing to AS/400 customers.

Satish started lecturing me about industry standards for databases. I explained that the industry standard for writing x-digit positive integers in BASIC was N x, which left-pads these numbers (such as the ad number) with blanks, as opposed to ZD x, which left-pads with zeroes. In fact, most versions of BASIC did not even have a way to write “zoned decimals” without writing extraneous code to do it11. One day I got so upset while arguing with Satish about this that I seriously considered driving down to the Amtrak stop so that, after sitting on a train for over three hours, I could ride the elevator up to his floor at Macy’s and punch him in the nose.

Not long after this conversation Alan fired Satish, and eventually we changed all the programs to “zone” all the integers. Of course, we got paid for neither this project nor the conversion to the native environment, but we felt that we had to do them to hope to stay in IBM’s and Macy’s good graces.

Denise Jordaens.

From that point on we dealt with Denise Jordaens12 and Lee Glickman13 at Macy’s. Things stabilized, but the department did not get nearly as much out of the system as it could have.

Over these years Macy’s went through a lot of changes. In January of 1992 the company declared bankruptcy, thereby leaving TSI with a stack of unpaid invoices. In 1994 Macy’s was absorbed into Federated Department Stores, which had itself just emerged from bankruptcy. This gave them a new set of standards to abide by. Eventually other acquisitions gave Macy’s in New York a large number of new stores to manage on the east coast. They continued to use the loan room system and to pay our maintenance bills. They never asked about any of the enhancements that were installed at Macy’s South and Macy’s West.

There were other complications as well. On one occasion Macy’s asked for someone from TSI to visit so they could explain their problems with and aspirations for the system. My schedule was totally booked for weeks in advance. I asked Sue to take the trip. She did. I don’t know what transpired, but Denise Jordaens later told me that they made a voodoo doll of Sue and stuck pins in it.


I may have made some bad decisions about Macy’s. I did not yet understand how decisions about products and services like those offered by TSI were made in a large retail advertising department. This issue is discussed in more detail here.

TSI probably should have charged more for the original installation and used the money to hire another full-time programmer. Maybe we should have tried to borrow money from somewhere. I was unwilling to put all of our eggs in the Macy’s basket. Macy’s declaration of bankruptcy was a devastating blow to TSI. When Macy’s was acquired by Federated Department Stores14, it appeared to me that the decision to concentrate our efforts elsewhere had been a sound one.

As it turned out, however, Macy’s eventually gobbled up nearly all of the regional department stores in the entire country. The strategy that I chose helped TSI succeed for more than twenty years, but if I had gambled on Macy’s, we might still be in business in 2021. On the other hand, we would have been working almost exclusively for Macy’s for most of that time. Such an experience might have really driven me crazy.

The story of the Macy’s installation had a bizarre final chapter. It is recorded here.


1. According to his LinkedIn page (which is here), in 2021 Quique Rodriguez is retired and enjoying family time. I suppose that it is possible.

2. Alan Spett lives in Atlanta in 2021. His LinkedIn page can be found here.

3. So, I designed the database with five levels of participants. The lowest level was always called a department, but the names of the other four levels to be used on reports and screens could be specified by each AdDept client. At all Macy’s divisions they were called Administrative Groups, Group VP’s, Senior VP’s, and Group Senior VP’s.

4. This same room housed the AS/400, at least for a while. I sat at an empty desk when I was there. When the first phase of the installation was completed, some of the measurement clerks were reassigned to other tasks.

5. Unfortunately, I don’t think that I was careful enough to account for the large number of unproductive hours that I would spend on trains, in meetings at Macy’s, and in converting files. The round-trip train ride alone accounted for six or seven hours and a drive of nearly an hour, So, each full day at Macy’s was matched by another full work day getting there and back!

6. ROP stands for “run of press”. All display ads (as opposed to preprinted inserts) that are run in a newspaper are called ROP. It is not an acronym; all three letters are pronounced.

7. I am a “morning person”. Any work that I did after 7PM was likely to be counterproductive. Moreover, I needed a few caffeine-free hours so that I could fall asleep at 10PM and stay asleep.

8. I have kept in touch with Gary Beberman. He moved to California to work as a consultant and then was employed by Macys.com. Macy’s West and Neiman Marcus hired him as a consultant during their AdDept installations. He was the only consultant whom I ever respected. He has lived in Marin County for the last five years. He and his wife are hoping to retire to Italy.

9. Satish Rahi’s LinkedIn page is here.

10. SQL (structured query language) was invented in the seventies by two IBM researchers, but at the time of the debut of the AS/400 no IBM computers used it much. The reason, we were told, was that it was much less efficient than the ISAM methods that IBM endorsed. Later IBM computers, including the AS/400, were designed to maximize the efficiencies of SQL queries.

11. What I said to Satish was correct from my perspective, but perhaps I should have asked him what made Gupta Technologies think that the AS/400’s relational database conformed to these “industry standards” that he cited. After all, SQL had been invented by IBM, and IBM was not yet positioning its AS/400 as an alternative to the “standard” databases such as Oracle, Sybase, or Informix.

12. According to her LinkedIn page (here) Denise Jordaens still works as coordinator of media systems for Macy’s.

13. I think that this might be Lee Glickman’s LinkedIn page.

14. A more detailed discussion of TSI’s long and torturous relationships with Federated Department Stores can be found here.

1985-1999 TSI: GrandAd: The Whiffs

We struck out at a lot of agencies. Continue reading

I am no salesman. I could make a pretty good case for the GrandAd system either in a formal presentation or in a meeting, but I was the worst at closing sales. For one thing I have had a lifelong abhorrence of talking on the telephone, especially to strangers. TSII probably could have closed some of these if I had just called people back to find out what they were thinking.

I just noticed that this guy is swinging left-handed with a right-handed club.

I also could have spent more time researching our opponents’ products. I could not think of a way to do that without devoting a lot of time and effort. I had other priorities. Maybe we should have hired one to do it.

My middle game was also poor. I did not know how to ask what a prospect’s budget was. I could tell if I was dealing with a gatekeeper, but I did not know what to do with that information.

Some of our problems were substantive, and there was not much that we could do about them.We wanted to reach agencies that had between five and one hundred employees who did not yet have an administrative system and (before the introduction of the smaller models of the System/36) were within driving distance. During some periods IBM offered no systems with any appeal to our target market. We never seriously considered hooking up with another vendor, but in retrospect it seems incredible that IBM let this happen.

In nearly all cases IBM’s prices for hardware were higher. They should have been. IBM equipment was more reliable and the service was beyond compare. However, the price differentials were often enormous. Purveyors of systems that ran on UNIX or PC’s could claim many of the same advantages that we claimed, charge more for their software, and still show a bottom-line price that was considerably lower than ours.

So, we faced a lot of rejection in our years of dealing with ad agencies. I feel certain that I have repressed the memories of a fairly large number of failures in this arena.

The following are arranged alphabetically. It might make more sense to put them in chronological order, but I have found few records to help me to remember the dates.

The Hartford Area

Probably the most painful failure was the loss of Elbaum & Co., Inc. We had been pitching or negotiating with Marvin Elbaum1, the owner, for several months. Finally, in early June of 1986 he had signed the contract, which included some custom programming, and put in the hardware order.

Marvin Elbaum.

I am pretty sure that the phone call came on June 13, 1986. Marvin himself called and said that a new opportunity had suddenly arisen, and he wanted to cancel the order. He said that he had an unexpected opportunity to merge with Lessner Slossberg Gahl and Partners Inc. I advised him that we had already begun work on the custom code that he approved. He told me to bill him for it. He also said that he would plead the case in the new agency for using the GrandAd system. This was pure BS. If it wasn’t, he would have arranged for us to do a presentation for his new partners at LSGE Advertising, Inc.2

This was the worst possible news. I knew that Lessner’s agency already used the system marketed by one of our biggest competitors. Since the merged agency would be located in Lessner’s headquarters in Avon, there was no chance that it would junk the system just because Marvin asked politely, and Marvin also probably realized this. Besides, Marvin was the president of the new agency, but Gary Lessner was the CEO.

I’m not even slightly superstitious. If I were, I probably would have noted that the horrible phone call took place on Friday the 13th. Furthermore, Denise was on vacation, and Sue and I were looking after her cat. Yes, the cat was all black.

On the other hand, I don’t remember walking under any ladders, breaking any mirrors, opening an umbrella indoors, or spilling any salt that day.


Maier Advertising3 (the first syllable is pronounced like the fifth month of the year) was famous. When the lists of the top agencies were printed, Maier was always at or near the top of the rankings of local agencies in terms of billings. Everyone who had anything to do with advertising knew that this was baloney. How? Everyone in the advertising community knew where everyone else in the community worked. Maier did not employ enough people to do all the work to justify those reported billings.

Bill Maier.

For a while Maier claimed to have branch offices. I am certain that one was announced in Boston, but I think that there were also others. Actually, there were no offices, but they did have a phone number with a local area code and exchange, but it rang in Hartford.

I was invited to meet with Maier’s bookkeeper at the company’s headquarters, which was then in Hartford. My recollection is that only two or three other people were there. Bill Maier was definitely not present. I counted only six or seven desks, and I only saw one office. This did not look or act like a major agency.

I roughed out a tentative proposal, but I could tell that the bookkeeper was in no position to make a decision or to put me in contact with such a person. Actually, I doubt that Bill Maier would have deferred on this subject to anyone.


The Charnas account was not exactly a whiff. It was more like chipping in for a double bogey. It is described here.


There were two other agencies in the Hartford area that I visited, but I do not recall the names of either one. The first one was really a public relations firm in, as I recall, South Windsor. In fact, its strategic approach was the opposite of advertising. Its employees searched for businesses that were spending money on advertising and promised to get the same or better results using press releases. I think that we outlined a stripped-down GrandAd system for them, but we could not strip down the hardware cost enough to make a competitive bid.

My recollection is that the other local agency was in Glastonbury. Sue and I came to meet with the female financial manager. The only thing that I remember about this meeting was that she was the most strikingly attractive woman whom I had ever met. However, I never saw her again. I can’t even visualize her,

Sue was surprised when I told her that I thought that the woman was very attractive.

The Boston Area

Our biggest disappointment of the many whiffs in the Boston area was the involvement with Rizzo Simons Cohn. It is described in detail here.


OK. That explains a lot.

I met with a woman from Epsilon once. They were a big company then, and they are gigantic now. I tried to explain to her what we did, and she tried to explain to me what they did. At the time I did not understand what she said. I have looked at the company’s current website, which is here, and I still don’t fully understand what it means to be outcome-based. What is the alternative?

I did learn enough from our conversation to realize that our GrandAd system was nothing like what she was looking for.


At the IBM office in Copley Place I did several demos. One that I remember was a morning session for several employees at an ad agency on Tremont St. in Boston. The name escapes me. The demo seemed to go well. They invited me to meet with them in the afternoon at their office. I asked for the address. They gave it to me, but they warned me not to drive. They said that I should take “the T”, which is what people in Boston call the commuter rail system, MBTA.

I was disdainful of their suggestion. I had a map of Boston and plenty of experience driving in Beantown. I knew that the roads were unpredictable and that people made left turns from any lane. I grabbed some lunch and then headed out in my Celica.

It was an adventure, but I made it. Tremont was one-way, of course. I was prepared for that. I was shocked to discover that the streets that paralleled it on both sides were also one-way, and all three ran in the same direction. I had to steer my Celica all the way to Boylston Street to get past their office so that I could turn onto Tremont. Then I was very fortunate to spot the P (public parking sign) forty or fifty yards to my right. I parked and entered the office with seconds to spare.

This meeting seemed to go OK, too. At the end I asked how to get back on the Mass Pike. They told me that it was easy to get there from Copley Place, but the only route from Tremont was very difficult to describe.

Maybe it was a good thing that I never heard from them again.


Gray Rambusch, Inc. is a complete mystery. I know that we billed them for something, but I am almost positive that I never visited them or did a project for them. Doug Pease might have sold them something. The agency is still in business.

The Big Apple

The term “boutique agency” is used a lot in New York City. I knew that the large agencies were beyond our abilities, but to me “boutique” just indicated smaller size. Then I talked with people who worked at a couple.

The first was an agency that specialized in theatrical productions—Broadway and smaller. The lady who worked there explained that, as any fan of The Producers knows, each show is a separate company, and they tend to go out of business very abruptly and disappear without a trace. The most important things for the agency were to get their invoices to each show before it opened and to hound them for payment.

The other boutique agency that I talked with specialized in classified ads. They had hundreds of clients for whom they placed ads in the handful of papers that served the city. I don’t think that there was much chance that this agency would survive the Internet.


Kate Behart3 and I rode Amtrak to New York City on one occasion. I think that it was to talk with an ad agency, but it might have been for some other reason. TSI was watching every penny at the time. I had purchased a book of ten tickets. On the trip to Penn Station I used one, and Kate used one.

On the return trip I gave my ticket and the book to the conductor; he took the ticket. Then I handed the book to Kate, she tore out a ticket, and she handed it and her ticket to the conductor. He refused it. He said that only one person could use the book at a time. I directed his attention to the back where it clearly stated that it entitled “the bearer” of the ticket and booklet to passage to or from Penn Station. I bore the booklet when I paid for myself. Then I handed it to her, and she became the bearer.

He had the gall to tell me that I did not know what “bearer” meant. I said “Bearer: one who bears. ‘To bear’ means ‘to carriy’.” I argued that the term bearer was not ambiguous. It was like a bearer’s bond; anyone that has possession can redeem it. He claimed that it was Amtrak’s policy that tickets from booklets could not be used for more than one person. I said that Amtrak’s policy was actually clearly explicated on the back of the ticket book. Where was his evidence of anything different? He said that a letter had been sent to conductors. When I asked to see it, he threatened to throw both of us off the train at the next stop. I asked to speak to his superior.

This was not a big train. It was unlikely that there were more than two conductors. So, I was fortunate that there was anyone on the train who was senior to the fellow who threatened to evict us. The other conductor took Kate’s ticket, and he asked me politely not to do this again.

I never needed to do it again. If the occasion had come up, … I don’t know.


We pursued another New York agency during a period in the early nineties when we had no salesman. I took the train to New York and gave a presentation at IBM’s office on Madison Avenue. Terri Provost5 accompanied me. We then took a cab to the agency’s office. The discussions there seemed to go pretty well.

This agency was much more like what we were accustomed to dealing with than the boutique agencies. I thought that we could do a good job for them. On the train ride back I first consumed my fried chicken supper from Roy Rogers. Then I talked with Terri about the potential client and emphasized how I thought that we should proceed.

The next day at the office I asked her to compose a letter to send to the agency’s president. The letter was friendly and polite, but it did absolutely nothing to advance the sale. I don’t know why I thought that she would know how to do this, but I was wrong. I had to pretty much dictate the whole letter to her. It also made it clear to me that I could not depend upon her to follow up on it, and I did not have the time to do it myself. We whiffed again.

Others Within Driving Distance

Sue and I drove down to Englewood, NJ, to visit an ad agency called Sommer Inc. It was a small business-to-business agency run by a couple who were older than we were. I don’t remember too much about the experience, but I thought that we would be a great fit for them.

My clearest memory of the trip is that I was very hungry by the time that we reached the Garden State, and Sue stopped at Popeye’s so that I could wolf down a few pieces of chicken before we met with them.

We did not get the account. I think that they might have been put off by the price and instead purchased a cheaper PC system.


Somehow we got a tip about an advertising agency in Vermont that was looking for an administrative software system. It might have been in Burlington. I talked to the proprietor on the telephone, and he seemed serious. I think that this might have been in 1987 or 1988 when we were desperate for business.

Our marketing director, who at the time was, I think, Michael Symolon7, accompanied me on the trip to the north country. We left Enfield fairly early in the morning. The weather was cold enough that I wore an overcoat. When we arrived at the agency I realized that I had put on the pants that went with my suit, but I had mistakenly donned my blue blazer instead of the suit coat. The combination looked ridiculous.

It was pretty warm in the agency’s office. So, when I took off my overcoat, I also took off the blazer. I still probably looked strange in shirtsleeves when Michael was wearing a suit, but I did not feel like a clown.

The presentation went OK. Michael may have followed up on the visit, but it was probably another case of sticker shock.


The only other ad agency that I remember driving to was in Schenectady, NY, northwest of Albany. The building in which the agency was housed had obviously been repurposed. The ceiling was crisscrossed with large and small pipes or air ducts. Each had been painted in bright primary colors. The effect was quite striking.

The agency had been using the AdMan software system on PC’s for a couple of years. It seemed to me that there must have been something about the system that the users did not like. Otherwise, why was he looking for new system? I tried to talk with the office manager about it. He was, however, very reluctant to discuss what they were currently doing or what they would like to do. Instead he wanted me to describe the advantages or our approach. Of course, he also wanted to know the cost.

I hated it when prospects did this. A major strength of our system was that we could adapt it to meet the needs of almost any user. This was difficult to present. I much preferred to tell people how we would address their problems. Then I could introduce ideas that they did not expect.

During the drive back to Rockville I did not feel good about this call. I suspected that I had been used to gather information for some sort of hidden agenda of the office manager. I had no concrete evidence to go on, but the whole situation did not feel right.

Distant Prospects

Touchdown Jesus could not have made a sale in South Bend.

I had flown to Chicago in late 1988 to meet with some IBM representatives who specialized in retail about the AdDept system that we had just installed at Macy’s. I rented a car afterwards and drove to South Bend, IN, for a presentation at the IBM office for people from local advertising agencies. We had sent letters to all of the agencies in the area, and four or five had expressed interest in the GrandAd system.

Three little old ladies attended the demo, and they all sat together. No IBMers showed up. It reminded me of the debate in which I performed at Expo ’67, which is described here. I talked with the ladies, or rather one of them; they were all from the same agency. They told me that their agency currently used a system marketed by one of our competitors. They told me that the system had actually been installed by someone who lived in South Bend. When I asked who supported the system they claimed not to know.

.The whole trip was a complete waste of time. We got nothing from any of the people that I met in Chicago, and the South Bend agency later told us that they were not interested.


In February of 1989 we were pitching two important prospects in the Milwaukee area. Both the journey to Milwaukee and the return trip were memorable. They are described here.

It is a safe bet that I had Usinger’s brats on any trip to Milwaukee.

I took a cab to the ad agency first. I do not remember the name of the agency, but I recall that they seemed to be very interested in our approach. I had to sell a bit of blue sky concerning the hardware. I pitched running the System/36 ad agency system on an AS/400. They would be the guinea pig for this, but the alternative was to try to sell an approach that IBM had publicly abandoned.

I thought that the meeting went very well. I gauged that we had a very good chance of getting this account. I was not able to follow up immediately, however, because Sue and I took our first vacation ever immediately following this trip to Milwaukee.

In the end we did not get the account. After returning from the vacation we soon became so busy that our failure might have been a blessing in disguise.


V-R was in the Commerce Tower downtown.

In 1990 (I think) I received a telephone call from Ernie Capobianco, whom I knew from RGS&H (described here). He said that he now was working for an ad agency in Kansas City, Valentine-Radford. They already had a System/36, but they were not satisfied with what they were getting out of it.

I arranged to stay with my parents while I pitched the account. My dad told me the agency was one of the largest and most respected in KC.

I met with the systems manager in the morning. They had been using standard accounting packages and were trying to use their general ledger for client profitability analysis. It did not work. It would never work. There were a lot of other problems, too.

Two or three officers of the company took me to lunch at Putsch’s 210 on the Country Club Plaza, the swankest restaurant in the Kansas City area. They wanted to know what it would take for them to get the kind of information from their S/36 that Ernie got at RGS&H.

I informed them that their software system was not designed for a business as complex as an ad agency. They were trying to eat soup with a knife. If we were going to do the project, we would do it right. We could probably convert some of the data for them, but we wouldn’t be able to patch their software. We would want to install our system.

It was not what they wanted to hear.


Kaufmann’s clock.

Our last pitch to an ad agency was, I think, in May of 1994.8 Sue and I drove to Pennsylvania to talk with people from Blattner/Brunner, Inc.9 We also met with Kaufmann’s, the May Co. division, on the same trip. We spent a day at the Pittsburgh zoo before we returned.

The people at B/B were definitely serious about getting a system They asked all the right questions. They even questioned whether the AS/400 was really a relational data base. Their doubt was understandable. Every other database (Oracle, Sybase, Informix, etc.) had a name, but at that point IBM had not yet begun calling the AS/400’s database DB2/400 even though the design of the system had been fully relational since the introduction of its predecessor, the System/38, back in 1978!

The agency was rapidly growing, and it was famous in the area for its “Killer B’s” billboard, which was nominated as one of the best ads in Pittsburgh’s history. Winning this account might have really launched ADB, which is what we called the AS/400 version of GrandAd.

I left the follow-up on this account in Sue’s hands. I had my hands full with Kaufmann’s, which gave us a huge notebook of reports that they wanted us to include in their system. Sue definitely fumbled the ball. She could have handled this; she just chose not to. This was one of the main reasons that I became very upset with her in 1994. The details of this “second crisis” are described here.


1. Marvin Elbaum has had several careers since the merged agency folded in 1992. I think that in 2021 he is a realtor for William Raveis in southeastern Connecticut. His LinkedIn page is here.

2. The Hartford Courant declared LSGE, Inc. defunct in 1992.

3. By the time of the pandemic Maier Advertising had “evolved” into a business-to-business agency named Blue Star Communications Group. Its website is here.

4. A write-up of Kate Behart’s career at TSI can be found here.

5. Much more about Terri Provost’s stint at TSI can be found here.

6. Sommer Inc. was acquired by Greenstone Rabasca Roberts of Melville, NY, in 1989.

7. Michael Symolon’s time as TSI’s marketing guy is discussed here.

8. Ernie’s ad agency in Dallas, Square One, bought Valentine-Radford in 2003.

9. I am pretty sure of the date because there was an annular solar eclipse. The only solar eclipse in the nineties that was visible from Pennsylvania was on May 20, 1994.

10. Joe Blattner has departed, but in 2021 the agency is still active as M.J. Brunner, Inc. The agency’s website is here. Joe Blattner’s web page is here.