2005-2011 Jim Wavada’s Time in Enfield

Jim Wavada living in New England? Continue reading

Documentation: I found very few notes about the events described in this entry. Sue supplied a few details as well as a book of photos that she had made for my dad. I know from a note on the back of one photo that the move occurred in October of 2005, when my dad was eighty-one years old. It just occurred to me that the transition occurred around what would have been my mom’s eightieth birthday on October 2. That probably also weighed on dad’s mind as he contemplated his future. Most of the following is therefore based on my memory, which may, of course, be faulty.

I should mention in passing that during the entire period our house in Enfield was such a gigantic mess that we never invited any friends over for any purpose.


The problem: In 2005 my dad was diagnosed with macular degeneration. Since he had already lost the vision in one eye to a detached retina, his vision was quite poor at this time. He still had a car and a driver’s license, but there was no way that he could drive. His doctor had prescribe the recently authorized periodic injections that arrested but did not usually reverse the degeneration. He also certified that dad was legally blind, which was useful for tax purposes. There was virtually no public transportation in the area in which he lived, suburban Johnson County, KS. If he stayed there, he would need to depend on his friends or expensive taxis.

Six years earlier my sister Jamie had cut off contact with my dad, or maybe vice-versa. I could see no reason to involve her in the problems.

I discussed the situation with my wife Sue. She agreed that he should come to Connecticut and live near us. He could live in an apartment for a while. If and when we added on to the house (that project was described here), he could come live with us. I talked with dad on the phone about moving to Connecticut. He was surprised but pleased.

Planning the move: In 2005 I was extremely busy with several monstrous projects at TSI. At the time Sue was no longer working at TSI’s office (explained here). She spent quite a bit of time with her father-in-law, Chick Comparetto. Sue helped dad pick out an apartment. I cannot remember whether he came out to Connecticut. She might have just described the choices to him over the phone. At the time Enfield had a few rather large apartment complexes and a greater number of smaller ones. If the search was expanded to the neighboring towns of Suffield, Longmeadow, Somers, and East Windsor, the selection would be much larger.

Fox Hill was an easy drive from our house.

I was not involved in this process. I am pretty sure that dad ruled out Bigelow Commons because he could not abide the notion of living in what was formerly a carpet factory. Instead he chose Fox Hill, which was near the corner of Elm St. and Elm St.1

My dad wanted me to come to Kansas City and drive his Ford Taurus back to Connecticut. He knew that my Saturn was pretty old, and he wanted to give me the Taurus, but I did not want it. At the time the Saturn suited my purposes. When I eventually abandoned the Saturn I wanted to pick out my own car. Furthermore, I could not afford to spend several days getting the car to Enfield. So, on my advice he sold it. I don’t know the details.

In addition to his vision problems, my dad also had mobility issues. He had had one hip replaced, and the doctor advised him that the other hip was nearly as bad. After the surgery and therapy he could walk well enough. He could even ascend and descend stairs, but he went slowly and he need a railing.


I certainly don’t remember the chandelier.

Living at Fox Hill: Someone helped my dad pack up his belongings at his apartment. He engaged movers to take them to Connecticut. He flew to Bradley by himself. Sue picked him up at the airport.

The movers did not arrive on time. So, my dad and Sue spent an entire day sitting in an empty apartment. I am not sure where he stayed that night. There are several hotels in Enfield.

My dad’s apartment was on the first floor. Since there were no elevators, he would not accept a second-floor unit.

The apartment was not fancy. It had a bedroom, a living room, and a small kitchen. I seem to remember a picture window, too. It was at least two or three steps down from his place in Overland Park.

Sue took these two photos on the day that dad’s furnishings were due to arrive.

I had not considered it beforehand, but my dad would obviously need to do laundry. He occasionally brought a load over to our house, and one of use ran them through our washer and dryer. Most of the time he did his own laundry. He mixed everything together in one laundry bag. The closest laundry room was in the basement of another building. He had to walk there, throw his bag down to the bottom of the staircase, walk down the stairs, open the door, and go inside. The hard part was returning. He had to drag his laundry bag up the stairs.

What did he do with the pants and shirts that needed to be hung? He had them dry-cleaned. Either Sue or I took him to the cleaners, probably E-Jay’s on Hazard Ave. It was about the same distance from Fox Hill as our house was, and we drove by it almost no matter where we were going.

The machines in the laundry room at Fox Hill did not accept coins. They accepted only debit cards issued by the office at Fox Hill, which was quite a distance from my dad’s apartment. So, Sue and I would often stop by the office so that he could pay his rent or boost the balance in his laundry account.

Dad stayed at Fox Hill for more than a year, but a little later he felt that the place was becoming dangerous, and he was no longer comfortable living there. He witnessed some mild violence, and he told me that he was sure that there were drug transactions going on. I don’t know if he was right, but he definitely wanted out. I remember that he wrote a letter complaining about an incident that he witnessed and posted it on a website set up for that purpose. Soon after it was posted, several letters praising Fox Hill appeared. It appeared to me that they had all been written by the same person.

Sue once again helped dad find an apartment. I know that they drove to a house in Suffield that was renting a few rooms. He did not like it, but he did like Bigelow Commons when he finally visited it. I took him there to see it before he signed the lease. He asked me what I thought of it. I told him that if this was the same price as Fox Hill, I could not believe that he ever chose Fox Hill. He assured me that it was the same price.

I don’t know what was involved in transporting his belongings to his new apartment.


Living at Bigelow Commons: Dad’s apartment was on the second floor of the southernmost building at Bigelow Commons. There was an elevator just inside the door, and his room was close to both the elevator and the laundry room. He bought a small cart that he could put his laundry in. This was a far superior approach to what he went through at Fox Hill. He also located a dry cleaner that was within a few blocks of Bigelow.

The main reason that Bigelow was not able to charge more was probably because of its location in the middle of Thompsonville. The surrounding neighborhood could be a little rough, but the compound itself seemed plenty safe. If I lived there, I would be worried about my car being broken into or stolen. The parking lot was much more easily accessible than at Fox Hill. That was not a concern for my dad, of course. He did not have a car.

The biggest problem that my dad had at Bigelow was dealing with the windows, which were old and heavy. I could push them up and pull them down without much problem, but that was fifteen years ago. I wonder if I could still deal with them as easily in 2023 at the age of seventy-five..

Dad much preferred the atmosphere and the people at Bigelow. I don’t remember him complaining about anyone there, even the management..


Getting around Enfield: My dad was reasonably independent. I visited him once or twice a week when I was in town. We sometimes ate breakfast at his favorite place, the Farmer’s Daughter Cafe on Mountain Road in West Suffield. It was located in a small strip mall more than twenty minutes from our house. Sue sometimes joined us or took him there when I was out of town.

On most Wednesdays we would eat lunch together at Friendly’s near the Enfield Square mall. We both always ordered the same thing. He had the Senior Turkey Club Super-Melt and coffee. I had the Reuben Super-Melt and a glass of Diet Coke. The waitresses all knew us and treated us like royalty. They especially loved my dad, who insisted on paying and was a big tipper.

I always drove both of us from Friendly’s to Bigelow, but sometimes when I went to pick him up he was already at the mall. He had gone there to walk from one end to the other. He was very proud of being able to do this. He often told me that he thought that he “had a stride.”

How did he get to the mall? Enfield had a free bus service for seniors called Dial-a-Ride. He would call in to make an appointment. The bus would pick him up at the parking lot near his door and take him to the doctor’s office or any other location in Enfield.

It was a terrific service for seniors, and my dad definitely appreciated it. When you called for an appointment, you could specify the time and destination, but you could not specify the driver. My dad did not appreciate one of the bus drivers, who insisted on proselytizing his right-wing political views willy nilly to all the passengers. My dad complained about this guy almost every time that we were together.


Trying to read: After he retired my dad enjoyed four pastimes above others—golf, travel, reading, and writing. He played a lot of golf in the early years with my mom or with some friends. His hip and vision problems eliminated his favorite form of exercise, and I could not name what was second.

When mom was alive they traveled some together, but after her condition deteriorated it was difficult. After she died my dad took two big trips, one to France with a group of strangers who were part of a Catholic group and one to Ireland with Cadie Mapes, his granddaughter. I don’t know how much he enjoyed either trip. What he could get out of them was severely limited by his poor vision and his mobility issues. I know only that he loved the side trip to Normandy and had trouble getting along with Cadie in Ireland. The only trips that he made when he was living in Enfield were when dad and I attended two funerals in Trenton, MO. They have been described here.

He was able to write three books after he retired, and he was a voracious reader while he still had one good eye. The one thing that he really wanted while he was in Enfield was to be able to read books, magazines, newspapers, and the labels on items at stores. A fair amount of the time that we were together were attempts to help in this regard.

I had heard somewhere about machines that helped people with poor vision by projecting on a computer screen a greatly magnified version of something printed using closed-circuit television. We made an appointment to see one of these machines at a store in, if I remember correctly, Cheshire, CT, which was a drive of over an hour from Enfield.

For some reason we had to wait for fifteen or twenty minutes before someone could help us. There was little to do while we waited. The store had some magnifying glasses and a hand-held electronic magnifier, but that was all except for the CCTV machines.

They didn’t come with barf bags.

Finally someone was available to demonstrate how the system worked to my dad. He (or maybe it was a she) sat my dad in front of the machine and asked him to look at the screen. Meanwhile he had to manipulate the magazine, which was a few inches under the camera. My dad had been trying to do this for less than five minutes when he became physically ill. The combination of the reading and the maneuvering of the text for some reason made him nauseous.

The salesperson and I had to help him to another chair away from the machine. It took him more than fifteen minutes to regain his equilibrium. The salesperson insisted that he would get used to it, but there was no sale on that day. Dad later purchased one of those hand-held magnifiers. He brought it with him to stores

On the way back to Enfield my dad confided to me that he had never vomited in his life. What? He was in the army in the Pacific. He must have gotten some bad food or bad hooch, right? And he worked in advertising for decades. He must have had one too many at least once, right?

No, I believe him. He was a unique person. He also told me that he had never had a dream, or at least he had never awakened remembering his dream. That may have been true when he told me, but I am almost certain that he had a real doozy later.

I inherited some of his audio books.

I knew how important newspapers and magazines were to my dad. I contacted an agency that provided special radios that had someone reading articles and stories from newspapers all day long. I got one for him, and he used it for a while. I also purchased some audio books for him and kindle books that he played on his computer. I remember that I came up with a trick on Kindle that worked until they upgraded the software. I complained about it, but whoever I dealt with insisted that the feature that I employed was unintentional and would not be added back. I don’t remember the details.

Writing was another story. He had never learned to type. So, even when his vision was not too bad, he struggled with typing on a computer. I adjusted the font size of his screen so that when he wrote something it was very large. However, he was also not adept at moving the cursor around on the screen. There really was no way for him to write much or to edit what he had written on the computer. Mostly he just sent me emails. He was definitely frustrated by this.


Errands: I don’t think that I ever took my dad to see any of his doctors. He generally took the Dial-a-Ride bus or asked Sue to take him. However, I often brought him to other places. Our first stop was usually the ATM at Webster Bank to withdraw cash. This was the only use that he made of his debit card. He had plenty of spending money. He had a good pension from BMA in addition to Social Security and interest on bonds. His expenses were low, and he had excellent health insurance to supplement Medicare. When he died in 2011 I discovered that his financial situation was better than I had guessed.

If I came to see him in the morning, which I did every Sunday, I stopped at McDonald’s and picked up a sausage biscuit with egg sandwich and a senior coffee for him.

We almost always stopped at Stop and Shop. He liked the salad bar there. Although he seldom consumed anything that was green besides string beans, he filled up a large container with fruit. He always paid cash, and he never bothered with coins. When he got back to the apartment he put all the change in a big bowl.

Another common stop was CVS to pick up extra-strength Tylenol for his arthritis. I tried to convince him that Tylenol had only one active ingredient, acetaminophen, which could be purchased much more cheaply under the store’s label. He would have none of it. He was loyal to brands that worked for him. I am like that to some extent, but when it comes to drugs that must list all of the active ingredients, I go for the cheap ones that do not waste money on advertising. Especially if there is only one ingredient.

My dad printed out emails that were sent to him because it was too difficult for him to read them on the screen. I set it up for them to be printed using a very large font. Consequently he went through quite a bit of ink for his HP inkjet printer. The ink cartridges for these printers were nearly as expensive as the computers themselves. I discovered a place on the Internet where one could purchase ink for the cartridges. It was possible—but not easy—to refill empty cartridges. I did this for him for a few months. Eventually it upset him to see me spending time doing this, and he asked me to just buy him new cartridges.

After his Kansas driver’s license expired he needed to obtain an official Connecticut ID. I think that Sue helped him with this. It involved as much rigamarole as obtaining a driver’s license, maybe more.

I took dad to church every Sunday. When he lived at Fox Hill, although other churches were closer, he went to Holy Family church2 on the south side of town.

After he moved to Bigelow Commons he went to St. Adalbert’s, which was just a few blocks away from his apartment. Quite a few steps led from the sidewalk to the church. After a while he needed to use the elevator.

I would let him off, do something for a half hour or so, and then drive back to the church to pick him up. He never tried to persuade me to join him.

Every so often my dad sent me a list of groceries to order for delivery to his apartment. At first we used Pea Pod to order from Stop and Shop. When Geissler’s expanded its delivery area to Enfield, we switched to them.

Finances and taxes: Dad wrote his own checks, but he was utterly incapable of balancing his checkbook. I had to take over that responsibility before he even moved to Connecticut. I don’t remember how he provided the information to me. Maybe I did it on his computer.

I also did his taxes. They were very easy except for the first year in which he had to file in both Connecticut and Kansas. He always paid on time. I remember that for some reason he had a dispute with the IRS about his pension, which had been passed from one insurance company to another after he retired. He was upset at the insurance company more than the IRS. He was greatly relieved when the whole mess was straightened out in his favor.

I don’t know if he worked with a lawyer on this, but his personal affairs were in excellent condition at the time of his second fall.


The Lisellas built this house in 2007.

Visits to the Lisellas: My dad naturally wanted to visit his grandchildren, all of whom were living in nearby West Springfield, MA, as much as possible. My sister Jamie was living elsewhere (explained here), but her ex husband Joe Lisella and his new wife Jenna (who was thirteen years younger than Jamie), seemed happy to involve dad, as well as Sue and me, in holidays and other events.

I don’t know if my dad enjoyed these occasions or not. He was much more sociable than I ever was, but the whole thing was awkward for him. Divorce was unheard of in his family, he did not know any of the other adults in attendance, he could hear but not see what was going on, and once he parked himself in an easy chair, it was hard for him to get up. The kids, especially Gina, treated him well, but he was obviously uncomfortable. I was, too.

I don’t remember any of them visiting my dad until his last days after the second fall.


Miscellaneous memories: My dad and I sometimes watched college football games together on his plasma-screen television3. He actually listened more than watched. I remember that he used the television for several months before we realized that it was not set to show high-density programs. A simple adjustment greatly improved the viewing, at least for me.

Sue tried to involve dad in the senior social life in Enfield as she had for Chick Comparetto. Dad did not think much of Chick, but he liked some of the other people.

My dad was not much of a cook, but he used his George Foreman grill to cook steaks and chicken fillets. He loved it when we took him to a restaurant for supper. He could not read the menu, and so he usually ordered Chicken Alfredo.

Dad and I had a long-standing argument about who was the worst president of all time, Richard Nixon or George W. Bush. He said that it was Bush because he had attacked Iraq even though Iraq had done nothing to the U.S. I claimed that it was Nixon because of his needless extension of the Vietnam War, his secret war in Laos, and his overthrow of the democratically elected government in Chile.

I may have been prejudiced because Nixon was president when I was drafted. I always suspected that dad had voted for Tricky Dick in 1972 and was therefore sheepish about criticizing Nixon’s presidency. I admit that I had no direct evidence, but I remembered how vociferous he was about Nixon’s deviousness when he ran in 1960, and I know that dad supported the War in Vietnam until the publication of the Pentagon Papers,


The first fall: I think that the first fall happened in late 2010 or early 2011. My dad was in his bedroom. He might have been going from his bed to the bathroom, a distance of a couple of yards, when he fell. The lights must have been off because he was not able to get to his feet and he was disoriented enough that he ended up in the closet.

At some point on the following day the delivery man from Geissler’s knocked on the door. When no one answered, he contacted someone at the office. They did a wellness check and found my dad in some sort of pitiable position. An ambulance took him to Johnson Memorial Hospital on the far west side of Stafford. They called me to tell me what happened.

I visited him in the hospital several times. I never was certain what exactly was wrong with him. He could not walk, but when I asked the doctor what was preventing him from walking, he just said that that was a good question.

The doctor was most concerned about dad’s mental state. My dad had told him that he had been in Milwaukee with some friends of his. The doctor, of course, thought that he was hallucinating. I told him that a more likely explanation was that he had dreamt about being in Milwaukee, he remembered the dream, and he was unable to disassociate it from real experiences because he no practice at doing so. I do it almost every morning, but he claimed that he had never had a dream.

The doctor also asked if he was reckless. He was afraid of releasing a man with poor vision and mobility to live by himself. I assured him that he was the most careful person whom I knew, and, if anything, he was paranoid about fire, getting mugged, and other potential hazards.

After a few days he was walking behind a walker. He never did regain the ability to walk without one. The doctor told me that he would release him, but they wanted him to go to a nursing home for a while. They asked me to select the one that they would release him to. I picked Blair Manor4 on Hazard Ave., a few miles from our house. I knew nothing about nursing homes. I just picked the one that was closest to our house.

My dad’s stay at Blair Manor was not a happy one. On my first visit he was having paranoid hallucinations. He informed me that the nurses were trying to kill him, and instructions to them were being broadcast over the television. At the time Meet the Press was on someone’s set within earshot. I tried to calm him down, but he just got frustrated that I—of all people—would leave him in this perilous situation.

I talked to the nurse about this episode. She said that he had been taking some drugs that could cause such symptoms. She said that she would report it to the doctor. She did, and he altered the dosage, and dad was all right after that. It shook me up pretty thoroughly.

Dad later asked me if he had made a fool out of himself. I said, “No, powerful drugs prescribed by your doctor made you act like that. The nurse said that it happened frequently.” Even so, he hated the place and wanted to depart as soon as possible. They finally let him depart. I brought him to his apartment. The people at Bigelow Commons were very happy when he was able to return.

I don’t know how long the period was during which he needed his walker to get around. I remember going to Friendly’s quite a few times.


The second fall took place in August of 2011. It was shortly before his 87th birthday, which was on August 25. On this occasion he fell down in the laundry room. He used his wheeled laundry cart as a walker when he did his laundry. Someone found him there unconscious. An ambulance took him to Hartford Hospital.

Early the next Sunday morning I got a phone call that we should hurry to the hospital. Sue and I rushed there. The nurse said that she did not know why the doctor had ordered that such a notice be sent. Dad was still unconscious, but the nurse said that there was no imminent danger of him dying.

A few days later the doctor in charge told me that his systems were “just worn out”, and he should receive palliative care. It could be at the hospital, at a nursing home, or at a house. I told them that we would not be able to do it, and I could see no reason to move him to a nursing home. So, he stayed at Hartford Hospital. I visited him every day, but he never communicated.

Some of the Lisellas came by on September 12. They were shocked and saddened by his appearance. He died on September 13, 2011.

The story of his funeral and other arrangements has been posted here.


1. This looks like a typo, but it isn’t. Westbound Elm St., a major four-lane road (CT 220) north of Enfield Square Mall, makes not one, but two right turns at intersections where the road itself continues onward. It then strangely transforms itself into North St. where the latter appears on its left.

2. In 2017 St. Bernard’s and Holy Family merged to form one parish called St. Jeanne Jugan Parish. In 2022 St. Martha’s and St. A’s also joined. I guess that the administrative offices are at Holy Family. The schools are at St. Bernard’s. There was also a church in Thompsonville called St. Patrick’s. It had previously merged with St. A’s. I think that all five churches are still open in 2023.

3. We still have that television in 2023. Sue watches it in bed when I have gone to sleep.

4. Blair Manor was closed in 2017. It was subsequently converted to “assisted living” apartments.

1999-2002 TSI: The Million Dollar Idea

The genesis of AxN. Continue reading

In large measure this entry is based on and inspired by a set of recently discovered messages that I sent to my partner, Denise Bessette, about new projects that we were researching or working on. The first email was dated in late 1999. The last was in early 2001. The messages portrayed an exciting but scary time for both of us.

By the middle of the nineties it was evident to us that the way that TSI had been programming in the past fifteen years was becoming obsolete or was at least losing popularity. In 1992 Microsoft left IBM at the starting gate when it released Windows 3.1, the first version of its operating system that featured a graphical user interface (GUI) and was also stable enough that large corporations took it seriously. One could still make the argument that text-based software systems like the ones that we had developed were appropriate for many business tasks—in fact, most of the most important ones. However, if you did, you were probably dooming yourself to the fate of typewriter salesmen.

Great if you have just 2 fingers.

In fact, systems like AdDept and TSI’s other systems were branded by many of the magazines of the day as “legacy systems”. The emphasis of the new approach centered around the appearance of the screens, which now featured colors, images, text boxes, radio buttons, and varied fonts. They were certainly more interesting to look at than anything that we had produced. The mouse was the thing! The keyboard was only used when absolutely necessary. Whether they were as efficient or as easy to use was debatable, but, as I already noted, we were well aware of what had happened to the typewriter salesmen.

Another thing that happened during the middle of the nineties was the explosive growth of the Internet. All software developers wanted to be a part of it, but few were exactly sure how to approach it. I knew that we needed to figure out what aspect we should concentrate on, but it was not an easy decision to make. A few early participants made a lot of money, but an awful lot of ideas were catastrophic failures.

The Search for a GUI: I spent countless hours researching ways that we could provide a GUI for the AdDept system that did not involve a complete rewriting of the hundreds (and growing daily) of screens that we had already implemented. Every developer who worked on IBM midrange or mainframe systems must have been faced with the same problem. We all wanted a way to provide a system that looked modern but also took advantage of the thousands of lines of functioning code that had already been written.

I don’t know why, but IBM was not much help in this endeavor. Instead, in the late nineties IBM became a strong proponent of an object-oriented programming language developed by Sun Microsystems called Java. This was a startlingly new language. The first version was released in 1996.

I bought and read ten separate books that purported to teach Java programming. The structure of the language was consistent with the first principle of its design: “It must be simple, object-oriented, and familiar.” Well at least it was simple and object-oriented. The structure of the code was nothing like what I was accustomed to. Its main orientation was to a computer display, which it considered a set of objects, each with a set of properties and methods. That approached worked well enough for a screen, but how would it work for other things? After downloading the software development kit to my laptop and spending hundreds of hours mulling the contents of those books, I could do all of the exercises in every book, but I had not the slightest clue how to begin to code a system to manage any aspect of retail advertising. In fact I could not replicate even one screen of the AdDept system.

I did not completely discard the notion of using Java somehow, but if we did, we would definitely need some help. As I look back on this, maybe this is the reason why IBM was so crazy for Java.

The Spreadout Project: Users of TSI’s systems seldom complained about the look or feel of our data entry screens. Those screens would never have won any design awards, but the formats were completely consistent throughout the application, and everyone knew that they got the job done efficiently. Furthermore, they knew that TSI could implement requested changes rapidly and at moderate costs.

What they did not like much was the look of the reports, which was limited to one non-proportional font—Courier—with no images or even styles like italics or bolding. Many, if not most, of the people who used AdDept were quite good at making and manipulating spreadsheets. They were used to controlling the format of the output, and they liked the flexibility. For example, if they wanted someone to concentrate on one column or row, they could easily change the font, color, or style for just those cells.

Several clients asked us if it would be possible for us to produce an Excel spreadsheet as the output from designated programs in AdDept instead of or in addition to printed reports. I did not know if it would be possible, but I said that I would look into it. I dubbed this project “Spreadout”.

It was rather easy to produce an output file that contained the same rows and columns as the report, and we implemented that option in a large number of AdDept reports. The user could then download that file to their PC. That file could then be loaded into Excel with the rows and columns intact. However, the fields (or cells) in the file contained only text or numbers. It was not possible to download formulas for totaling or designate any kind of formatting. Furthermore, the process of downloading the file was not exactly speedy.

I tried to figure out what it would take to produce code that could provide files that could be opened in Excel with predetermined formulas and formatting. I found some documentation from Microsoft of the Excel files, but I never could concoct a way to provide what our customers asked for. Furthermore I never heard of anyone else who had accomplished this, and —believe me—I searched..

I did, however, managed to provide an alternative that proved popular to some clients. Almost all the AdDept customers used Hewlett-Packard printers that were accessible by the AS/400. HP sold books that documented the format for files in HP’s printer command languages, PCL 4, PCL 5, and PCL 6. I could then write code to produce spooled files that contained the output in exactly the format that the client specified. The downside was the considerable amount of coding required for each report, many times as much as it took to produce it in the Courier-only. It also required an extra step to send the output directly to the printer without being reformatted.

However, a few clients were so insistent about the need for a precise format that they were willing to pay the price. These reports were almost always the ones that they distributed to other departments or to higher-ups.

If anyone else ever did a project like this for the AS/400, I never heard of it. Unfortunately, I never figured out how it could be marketed as a stand-alone product usable with other AS/400 software.


As the new millennium approached, we—that is, Denise Bessette and I—felt that we needed to expand TSI’s horizons. In January of 2000 we flew to San Diego for IBM’s PartnerWorld conference in the hope of making contact with people who could advise us how to adapt to the need for modernization and the Internet. That enjoyable but frustrating experience has been described here.


On February 25, 2000, I took the time to write up in a fairly detailed manner how, given the inherent limitations of a small business like ours, TSI should to proceed in trying to develop a second line of business. Here is a portion of that memo:

General principles:

1. We should get the best people available to help us.

2. We should maintain AdDept as a dependable source of income. Whether we should invest a lot of time and/or money in enhancing and marketing AdDept is still to be determined.

3. We should try to leverage our assets better. Our income is too heavily dependent upon the number of hours put in by Mike and Denise.

4. We should assume that the economy will remain strong for another two years. On the other hand, we should avoid debt or at least large amounts of debt in case this assumption turns out to be false.

5. We should add new skills that are more marketable. That means learning some subset of Windows, object-oriented programming, and the internet. We should be thinking past the next project to the one after that if we can.

6. We should look for partners with skills and assets that complement ours.

7. We should not be deterred by the fact that some of these principles seem incompatible.

8. We need to act fast. Pursuing René2 cost us seven months. On the other hand we might have gone down some less profitable paths if she had been on board.

I think we should take the following steps as soon as possible.

1. Find out what it takes to get our existing clients to use AdDept for insertion orders. The following clients are not using AdDept for IO’s: Macy’s East, Neiman Marcus, Filene’s, Saks Fifth Avenue, and Hecht’s. I checked Herberger’s. They have ads through March 29, 2000, at least. Macy’s West is apparently starting. Gottschalks ran insertion orders yesterday. I don’t know about Meier & Frank, but I can take care of that on my trip.

2. Find out which advertising departments have access to the internet and would be willing to use it to check on insertion orders. I don’t think that this would be a problem with most of them. Unfortunately, we don’t really have anyone in the office who can do this for us.

3. Make an appointment with Ken Owen3 to run the idea of a clearinghouse for insertion orders by him. He may be very interested in working with us on it. I have quite a bit of respect for him. At the very least, he is smart and completely honest.

4. Run the clearinghouse idea by at least one of our clients. Why not schedule our trip to New York and run it by Tom, Chris, and whoever their ROP person is?4

5. Run the clearinghouse idea by at least one newspaper or someone who knows how newspapers think about these things today.

6. Start trying to package and market AdDept and/or AS/400 products and services. We need to maintain or enhance our cash position over the next six months.

7. We should find out what, if anything, the National Newspaper Association (NNA)5, the AAAA6, and AP AdSEND have done in this regard. The AP is a potential partner in this venture. I once had a copy of the NNA’s EDI spec7, but I seem to have thrown it out when we moved. I will see what I can find on the Internet.

Requirements for hiring a marketing/client services person:

1. He/she must be able to get along with Mike and Denise. This includes having a good work ethic. I think Doug barely met these qualifications.

2. Must be able to get along with the clients.

3. Must be willing to spend a lot of time on the phone.

4. Must be able to talk to decision-makers and occasionally presidents of corporations without looking foolish. Doug could do this, but his ability to identify the real decision-maker was just so-so. He was also almost always overly optimistic, but this might be necessary to offset my tendency to see the negative side of everything.

5. Must be able to refrain from overselling.

Pluses:

1. Intelligence. Determination can go a long way to overcome deficiencies in this categories, but I don’t think I want to try to explain things to someone any duller than Doug.

2. Retail experience.

3. Newspaper experience.

4. Other advertising experience.

5. Good business sense.

6. Sales experience.

7. Computer experience.

How to proceed.

1. We can run an ad in the Courant. There are almost as many classified ads for sales and marketing people there as for programmers. The only major retailer in the immediate area now is Ames, and they run no ROP. Therefore the chances of finding someone in Hartford who understands retail advertising are slim.

2. We can contact a headhunter. We don’t have to pay unless we find someone, but we will have to pay plenty if we do. It might be worth it if it speeds up the process.

3. We can advertise on the Internet. Does that cost money? If so, how much?

4. In interviews I think that we should consider dangling a carrot of a spinoff of a .com company for the insertion order clearinghouse. I am not exactly sure how to present this idea to someone. Maybe we could offer them a percentage of the new company with the understanding that we would try to sell it once it has become established.

In retrospective I find it impressive that I was able to earmark in advance so many important issues that TSI would face over the next few years. We made some mistakes, but we made a lot of good decisions.


A month later, on March 25, 2000, I mailed a letter to our contacts at all of the companies that used AdDept. I solicited their opinions on what TSI’s priorities should be in the new millennium. Here is a copy:

TSI is in the process of evaluating how best to allocate its resources over the course of the next year or so. Our highest priorities will remain providing excellent support for existing installations and responding to requests for custom programming from existing clients. However, there are a few additional projects that we are considering. We are very interested in learning what our existing clients think about them.

1. Menu maker: This is a fairly simple idea both in concept and in implementation. You would be provided with either a PC/Mac program or an AS/400 program that would allow you to create your own menus. The menus would reside in a separate library so that they would never get mixed up with the standard AdDept menus. You would provide the name for the menu and the heading text. For each option you that want to add, you would be allowed to select from a list of AdDept programs and menus. You could also enter your own command or an IBM command (e.g., WRKQRY). If you selected an AdDept menu or program, the description and the online help would be filled in for you, but you could override the text to make it say what you wanted.

2. GUI front end: Most software companies that market systems of a size comparable to AdDept have budgeted more than $1 million to “modernizing” their data entry screens to use a “graphical user interface” that is consistent with the methods used by Windows and Mac programs. It is now technically feasible to create a fairly nice GUI front end for AdDept for much less than that using products available from third party vendors. However, there is still a considerable capital outlay involved. We also estimate that it would take at least half of a man-year of labor. Furthermore, the PC or Mac would have to meet certain minimum requirements. Terminals would still use the green screens. TSI’s support regimen would be more difficult. The interactive programs would probably run slower on older AS/400’s. They may actually run faster on newer boxes.

3. Output to Excel: We believe that it is technically feasible (albeit difficult) to create a file from the AS/400 that is usable by Microsoft Excel with no intervening steps. It is a relatively straightforward task to download data files (or even spooled files) to spreadsheets today, but many intervening steps are required to get something presentable. TSI’s proposed method would allow you for each report that is eligible for this kind of treatment to designate (and permanently store) the formatting of the worksheet—report titles, column headings, “fit to page”, and most of the other values in “File, Page Setup.” You would also be allowed to designate fonts and sizes for the report title, the column headings, the body text, and each level of subtotals. The subtotal values would be formulas, not simple values. The same program could be used for data files that are produced by queries. The resulting worksheet could then be edited as needed. You can even edit, add, or delete lines in the worksheet. The subtotals will automatically be updated. Most simple reports could be reformatted to use the proposed program. It might be difficult or even impossible to generate some complex AdDept output using this approach.

4. Insertion order clearinghouse: We have long thought that the methods used for reserving newspaper space leave too much room for error and are overly labor-intensive, both for the advertiser and for the newspaper. The purpose of this project is to make the ordering process easier and to minimize the potential for miscommunication.

Instead of faxing the orders, the AS/400 would send them electronically to TSI. We would post them on a website. When the newspaper reps sign on, they would see all orders for them from all advertisers who are using this service. They would be able to add comments or questions and confirm them electronically with or without reservation numbers. They could also print the orders and, eventually, download them directly into their reservation systems. When you sign on, you would see all of your orders. It will be immediately obvious which ones have been confirmed, which have been read but not confirmed, and which have not been read yet.

What do you think of these ideas? Do you have any ideas of your own? We would greatly appreciate it if you would communicate your feedback to us at your earliest convenience. The last thing that we want to do is invest a lot of time and money in something that is of little or no perceived value to our clients.

I don’t recall receiving any substantive responses to this, but around this time Steve VeZain sent me a rather lengthy email that explained some of the priorities for Saks Inc. Our dealings with him and his company are detailed here.


Net.Data: At some point I became acquainted with an online forum called IGNITe/4007. This was a website where AS/400 developers could pose questions about using the AS/400 for applications for the web. Although some IBM experts participated, the forum was not run by IBM, but by a former IBMer named Bob Cancilla8, who worked for a company in Rochester, MN, the home of the AS/400.

Bob also wrote the book shown at left that explained how to use the AS/400 as an Internet server. IBM disdained the approach of its customers using a book written by someone who had actually gotten the AS/400 to function as an Internet server. Big Blue preferred that its customers spend hundreds of dollars on classes or thousands of dollars on consultants rather than $15 or $20 for a book. They also championed something called WebSphere to manage applications written in Java. During February and March of 2000 I had puzzled over the Redbook that documented this product. I was nearly ready to give up on the idea of using the AS/400 for anything related to the Internet until I found Bob’s book and website in April of 2000.

I purchased this excellent tome and followed most of Bob’s advice. I successfully configured TSI’s model 150 as an HTTP server to serve web pages to browsers and as an FTP server for exchanging data files. It was possible to use the AS/400 as an email server, but Bob advised against it. We elected to use AT&T for sending and receiving emails for our employees. We later configured our AS/400 to send outgoing emails through the SMTP (simple mail transfer protocol) server. Eventually IBM decided that it was a bad idea to have its own proprietary HTTP server and supported a version of the Apache server used by almost everyone else.

At that time the most popular scripting language for web-based applications was PERL. IBM never supported it on the AS/4009. Instead it provided its own language, which was called Net.Data (pronounced “Net Dot Data”). This was the only web language that could be used on the AS/400, and no other system in the history of the world ever used it. We obtained a copy of IBM’s handbook on Net.Data (posted online here), and I determined that we could probably use the language for what we wanted to do. Here is what I wrote about it at the time.

I signed on to the IGNITe400 website and registered as a member. It’s free. You can ask questions there. I looked at a few of them. Bob Cancilla himself answered some of the questions! I also looked at IBM’s Net.Data website. It is full of information.

I printed out a lot of documentation. I am now convinced that we can do what we want to do with HTTP server and Net.Data. This is exciting. Buying that book was a great idea. The links alone are worth the price. The biggest difficulty that I see will be working out the process of getting the orders from our customers and then from others.

… I have more than doubled my knowledge about the AS/400 and the internet in the last two days. Moreover, I think I could do it! I think that we should try it some time this coming week.

Net.Data was an interpreted language, just as BASIC was on the Datamaster and the System/36. The programs (which in web parlance were called scripts or macros) were not compiled into executable machine code. Changes to the scrips took effect as soon as the programmer made them. So, a developmental environment was a necessity. The time it took the processor to interpret the code and generate the HTML code that the browser could understand made all of the programs considerably slower than the compiled BASIC programs on the same machine. However, they were lightning fast compared to Java, the approach blessed by IBM.

So, I taught myself how to use Net.Data to deliver interactive scripts for a browser (at the time the main choices were Netscape Navigator, Internet Explorer, and whatever Apple called its browser before Safari). The language itself was relatively easy to understand, but programming for numerous constantly changing browsers was much different from programming for a very stable AS/400 and its 5250 user interface.

I also had to learn the Common Gateway Interface (CGI), which was the method of reading from and writing to files on the AS/400. This was totally different from what we were accustomed to. Our programs had always read the files a record at a time even after we switched to the AS/400’s relational database. With Net.Data it was necessary to execute an SQL statement that returned a set of data—rows (records) and columns (fields)—that was stored in an array (called a table in Net.Data). It was then necessary to loop through the rows of the array. I was already somewhat familiar with SQL, but I needed to learn how to use “joins” to do complicated selections.

These two volumes got a workout. The binding on the HTML book split in two years ago.

I also needed to buy books on HTML and JavaScript. If I had realized before I started that I needed to learn all of this, I might have deemed that the project would require more time and effort than I could afford. However, by the time that I realized what I was up against, I had invested so much time that I was not about to abandon the project.

There was no syntax-checking of Net.Data macros, and, at first, there was no editor to help by color-coding the statements. So, when I ran into a problem, which happened quite frequently, I had to search elsewhere for help.

Life got a lot easier when IBM put its Redbooks on CDs.

In researching for this blog, I found a pdf online for a Redbook (technical manual) that IBM published for people like me in 1997. It is posted here. Even a quick glance will make it clear that writing applications for the AS/400’s HTTP server would be a daunting task. For example, it contained this statement: “Net.Data Web macros combine things you already know such as HTML, SQL, and REXX with a simple macro language.” I did not know HTML at all, I knew only a little SQL, and to this day I have no idea what REXX was. Also, the Redbook neglected to mention that it was not really possible to write interactive programs without JavaScript.

I hung in there. Here is one of my last messages: “I feel a lot of pressure to work harder. I want this new project operational yesterday. It is going to be difficult at first. I want to get over the hump.”

I spent a lot of time in the IGNITe/400 forum. My best source of information was a guy from (I think) New Zealand, of all places. I never met him in person or even spoke with him on the phone. His name was Peter Connell, and he helped me through every difficult coding problem that I encountered. Not once was he stumped. By the time that I was well into the project, I was able to provide solutions to coding problems that others described.


TSI’s Internet Project: Even before Denise and I attended PartnerWorld, we had pretty much decided that our best shot at developing a successful Internet product would involve insertion orders, which is what newspapers and magazine call reservations that they receive from advertisers for ROP (display ads), inserts, polybags, or any other kind of advertising. TSI’s AdDept customers sent their reps at newspapers a schedule that listed all of the ads that they wanted to place for a specified period—usually a week. Most of them faxed this information to the papers. The rep at the paper examined the schedule. Sometimes questions required phone calls. Sometimes requests (such as designated positioning in the paper) could not be accommodated. Even after final approval the schedule was often changed by the advertiser before the ads ran, sometimes with very little advance notification.

Newspaper ads were expensive … and valuable.

Errors on both sides were not rare, and they could be quite costly. The newspaper often gave the retailer free ads to make up for the mistake. The advertiser’s loss might be much greater. In the nineties and early twenty-first century ads in newspapers were the primary vehicle for communicating with customers. Mistakes in the ads could cost the retailer thousands in sales, and they were embarrassing to the advertising department. Occasionally heads rolled.

In 2000 most retail advertisers faxed their schedules to the newspapers. If the line was not busy, the phones were rather reliable. However, what happened to the schedule after the fax machine received it? Was the printout legible? Did the rep ever get it, and, if so, what did he/she do with it. What assurance was there that the fax that the newspaper used to compose the paper was the final version?

We thought that the Internet might provide an opportunity to speed up this process and to improve its reliability. My first idea was to replace faxing with email. If the AS/400’s (free) SMTP server were installed, AdDept could compose and send to the newspaper an email that contained the schedule. Wouldn’t the newspaper rep immediately print the schedule? If so, how was this better than faxing? Doesn’t it just add another step? Besides, email is demonstrably less reliable than faxing. The worst that usually happens with faxing is that the output is blurry or even unreadable. Emails, in contrast, can be held up by any Internet Service Provider (ISP) that handles the message, and there could be dozens. So, the schedule might never make it to the rep’s inbox.

Eventually Denise and I settled on using FTP to send the schedule from the client’s AdDept system to TSI. Thereafter TSI’s AS/400 managed the whole process using a combination of BASIC programs and Net.Data macros. Details of the actual design are posted here.

After Denise and I agreed on the design, several details still needed to be settled:

  1. Who will do the coding at TSI?
  2. Who will pay for the service, the advertiser or the newspaper?
  3. How much will we charge?
  4. How will we market the product to our clients and their newspapers?
  5. How can we entice advertisers that did not use AdDept to use this method for insertion orders?
  6. Can we take advantage of the link established between TSI, the papers, and AdDept for other modules?
  7. What will the product be named?
  8. Will the project be part of TSI or a new financial entity?

The answer to #1 turned out to be Mike Wavada. I expected that I would eventually train Denise or one of the programmers so that they could at least support the existing code, but it never happened. It astounds me to report that this was a one-man coding job from day one, and no one else at TSI ever learned Net.Data. Hundreds of papers and most of the AdDept clients relied on it starting in 2002 and continuing through early 2014. Think about this: Between 2003 and 2012 I took six vacations in Europe and one cruise in the Caribbean. There were no serious incidents!

Questions 2-5 are addressed in the entry about marketing of AxN, which is posted here.

From the outset I was hoping that the nexus connecting newspapers and the retailers through TSI’s website could be used for other communications as well. The most obvious one was for the delivery of the files that contained the layouts of the ads. Nevertheless, I was reluctant to pursue this for several very good reasons. The first was that the Associated Press already had a huge head start with its very popular product called AdSEND10. There were also several other companies that offered similar services.

The other thing that gave me pause was the potential legal liability. It seemed to me that if we failed to deliver an ad correctly and/or promptly, we could easily be sued. A fundamental tenet of TSI’s operation had been to avoid any activity that might occasion a lawsuit. Throughout the first two decades of its operation, TSI had successfully avoided litigation. Also, we knew nothing about the process of sending ads electronically, and the AP already owned satellites that it used for this purpose. I also learned later that AdSEND had twelve dedicated T-1 lines, and one of TSI’s clients told me that that was not nearly enough. TSI eventually installed one T-1 line that easily handled the insertion order traffic generated by AxN.

An idea that I liked better was for the newspapers to transmit their invoices electronically through TSI’s servers to AdDept users. I even came up with a cool name for this: e-I-e-IO, which stood for electronic invoices and electronic insertion orders. My idea was to provide a program to feed the newspaper’s billing system with the information from the insertion order, and to feed the retailer’s AdDept system with the same information. I did a little research to see if one software system for billing or accounting was dominant in the newspaper industry and discovered that this was decidedly not the case. So, we would face the prospect of persuading one paper at a time, or, at best, one chain of papers at a time. Furthermore, someone else had already claimed the URL that I really wanted: eieio.com.

The name that I picked for the new product would still work if we came up with other ways for TSI to serve as a nexus between advertisers (A) and newspapers (N). It was AxN, which was pronounced “A cross N”. The A and the N were always portrayed in dark blue Times New Roman. The x was always in red Arial.

That leaves question #8. Denise was always in favor of making AxN a separate financial entity. However, we never found a way to extricate it from the rest of the business. We looked at the revenues separately, but we never even did a separate P&L for it.


1. René Conrad was TSI’s liaison with Kaufmann’s, the May Company’s division based in Pittsburgh. Both Denise and I had a very high opinion of her. When Doug Pease left TSI in 1999, we tried to hire René. Details of the AdDept installation at Kaufman’s are posted here. The unsuccessful pursuit of René is documented here.

2. Ken Owen is a friend and was a client. The latter role is explained here. By 1999 Ken’s business had drifted away from creating and placing ads for clients to software for the Internet. He gave us a little free advice, but the role for him that I envisioned did not materialize. I communicate via email with Ken every year on March 4, the holiday that we celebrate together—Exelauno Day.

3. Tom Caputo and Chris Pease were our key contacts at Lord & Taylor in Manhattan in those days. The history of the installation at L&T is recorded here.

4. I did contact the NNA, but nothing came of it. The person with whom I spoke was nice enough, but it became evident that trying to work with this organization would be extremely time-consuming and not the kind of thing that I was good at or enjoyed. Eventually I discovered that there were almost as many administrative systems for newspapers as there were newspapers. It appeared that there were no accepted standards.

5. The American Association of Advertising Agencies (AAAA—universally pronounced “four A’s”) published an annual list of software for ad agencies. For years TSI’s GrandAd system was on the list. I am not sure what I had in mind as an additional relationship. Perhaps I envisioned ad agencies that specialized in retailers might want to use AxN for insertion orders and would work with us to create an interface. Perhaps I thought that other software companies might add the interface to their products for ad agencies. Nothing like any of these things ever happened.

6. EDI is short for Electronic Data Interchange. It refers to an orderly setup that enables participant to exchange information electronically. When there are only two participants, it is usually just called an interface. “Specs”, which is short for specifications, refers to the documentation published and delivered to the participants and prospective participants.

7. I have no idea what the name of this group meant. At the time IBM was busy promoting the idea of e-business. IBM’s marketing director proclaimed at PartnerWorld that IBM “owned” the concept. So, that may explain why the e is not capitalized. I was surprised to find an article in Enterprise Systems Journal about IGNITe/400. It is posted here.

8. Bob Cancilla went back to IBM for a while and then became a consultant. His LinkedIn page is here. In 2018 he wrote about the thirtieth anniversary of the AS/400. It is posted here. The article explains some of the reasons why IBM treated the AS/400 division and its customers so shabbily almost from day one.

9. For some reason IBM repeatedly changed the name of the AS/400 to a bunch of things with the letter i appended. The operating system remained the same. Everyone at TSI, like most users, still called it the AS/400 even after the name changes.

10. In 2007 Vio Worldwide acquired “the assets” of AdSEND. The deal is described here. In 2010 Dubsat acquired Vio Worldwide. This transaction was reported here.

2000-2002 TSI: AdDept Client: Meier & Frank

Department store division of the May Co. with headquarters in Portland, OR. Continue reading

Since 1932 M&F’s flagship store had occupied an entire block in downtown Portland.

Meier & Frank was a chain of departments stores owned by the May Company. Its headquarters was in Portland, OR. TSI never pitched the AdDept system to the store’s advertising department. In 1998 the May Company decided to order AdDept systems for the three department store divisions that were not already using it—Robinsons-May, Meier & Frank, and Filene’s.

M&F was by far the smallest of the May Company’s department store divisions. At the time of the installation it had only seven stores, which made it barely a quarter the size of the next smallest division.

These installations were quite different from the other systems that TSI had installed at May Co. divisions. They began with three days of rather intense sessions in TSI’s office in Enfield. We were teaching them about the system design of AdDept, and they were informing us about their policies and expectations for the system.

The previous May Co. installations began with a site visit in which I had learned about each department’s business procedures and priorities. TSI then presented a formal proposal for the base system and any custom code that I thought was needed. Only after the system had been delivered and installed did we provide training, and it took place at the company’s location.

At some point in 1996 a group of people from M&F visited TSI’s office for orientation and training. Those sessions were also attended by people who would be involved with the installation at Rob-May. Robert Myers, with whom we worked in the AdDept installation in the advertising department of the Foley’s division (described here), also was there to provide the perspective of a user of the system.

I found several photos that I took on the occasion of their visit as well as photos that I took in Portland. Since I was still using disposable cameras in those days, the quality of the prints is not great. I was lucky to have this much. On one trip I left a camera that was full of photos in my rental car. I called Avis on my next visit and learned that they had found the camera. They later mailed it to me.

The people: The photo at the left was taken after one of the training days in Enfield. On the last evening we all went to the Mill on the River restaurant, but I think that this photo might have been taken at a different place.

Robert Myers was seated next to me. In the photo he is on the far right. Three representatives of M&F are on the left. I am pretty sure that the guy with glasses was Brent Stapleton1, who managed the departmental network and was our liaison for the first part of the project. I do not remember the name of the fellow on his left, but I am pretty sure that his hobby was making root beer at home. He might have been Steve Mulligan, the Co-op Coordinator who moved to Ireland the following summer. I don’t remember the woman’s name or function, and I don’t recognize the next fellow. He might have been from Robinsons-May. None of these people appear in any of the photos that I took on my trips to Portland.

The last person on the left side of the table was definitely Doug Pease, TSI’s Marketing Director, who sat in on some of the training sessions. The other two people were from Rob-May and are described here.

The system was not actually installed at M&F until March of 2000. I think that they postponed it because Kaufmann’s and Rob-May were higher priorities.

The next five photos were taken at the department’s office on the thirteenth floor of the flagship store in Portland. The building had fifteen floors.

In the photo on the right, the seated woman was Dori Tierney2, who was responsible for scheduling M&F’s ads in the newspapers. She also produced the weekly calendar that was the primary document that was used by many people inside the department and out. The other woman was her boss, Sheila Wilson3, the Newspaper Manager. She formerly had worked at Hecht’s.

In the first year of the installation I worked with Dori more than anyone else because producing that calendar was the department’s first objective for the AdDept system.

I am almost certain that the woman surrounded by papers in the photo on the left was Kathy Reed, the Business Office Manager. One of her primary responsibilities was to produce at the end of the month the report of expenses and co-op income by CCN in the May Company’s required format, the so-called 790. AdDept produced this at all of the other divisions. We never succeeded at completely automating that process at M&F for reasons that are explained in the section about AdDept projects below.

I have no recollection of the people in the photo at right. Maybe I took this shot because they were both so photogenic.

Many of the people in the advertising department at M&F did their work on clunky old IBM PC’s. They complained that all of their machines were hand-me-downs from their counterparts at Robinsons-May in California.

I took the two photos shown above at the M&F office in Portland, OR. I do not remember the name or function of the woman on the left. The guy on the right was Bryan Kipp, the Planning Manager.

From searches on LinkedIn I discovered that the Broadcast Manager at the time was Shauna Thompson, and the Direct Mail Manager was Linda Farrington. I probably worked with both of them.


The first visit: A month or so after the training session in Enfield Doug Pease and I flew out to Portland so that I could install the TSI software on the AS/400 that IBM had delivered. We also met with several executives to make sure that we understood and could address the department’s priorities.

I was surprised to see that the entirety of eastern Oregon was essentially desolate, and the coast was so rugged as to be almost uninhabitable. The majority of Oregonians were concentrated in the cities along the Willamette River.

Multnomah falls is about 30 miles east of Portland on the Columbia River.

In those days it was much cheaper to fly on Saturday than on Sunday, and Doug and I did that on the first trip. I found among my M&F photos several of Mt. Hood and Multnomah Falls. On Sunday we took our rental car on a spin around the very scenic areas east of Portland. Kate Behart and I had also visited these sites on a sales trip to Fred Meyer4, another retailer based in Portland, a few years earlier.

Emily.

The Senior Vice-president of Marketing at M&F was Emily White5, whom Doug knew from when they both worked in the advertising department of the G. Fox department store chain in Hartford. She knew about TSI’s capabilities from her time at Macy’s West. The Advertising Director was Laura Rutenis6. I think that she had previously worked at Hecht’s.

On the first visit Doug and I spent quite a bit of time talking with Emily and Laura. They explained their difficulty as the smallest of the May Co. divisions. They had far fewer employees than the other divisions, but their stores had just as many selling departments, and they ran just as many ads (in fewer newspapers, of course), and they were expected to produce the same reports as all the other divisions.

The primary objective of the AdDept system would be to get the module for newspaper ads up and running as quickly as possible and to produce their weekly calendar in the format that they currently used. At the same time the quantitative and qualitative information for ads for all of the other media needed to be entered into the system so that all the expenses could be entered in AdDept (or imported from PC systems) and uploaded to the corporate accounting system. So, the remainder of the time on the first visit was spent familiarizing the employees with the programs for entering the data and showing them how to check their work.

The projects: I don’t remember much about most projects that we did for M&F. I am sure that the May Company wanted them to produce the 790 report using the AdDept system’s cost accounting programs. That would require them to enter (or upload from another source) all the expenses from every media. I am pretty sure that we reached the point at which all of the necessary data was in the system.

Nevertheless, AdDept never produced the 790 report at M&F because the department’s Business Office Manager had been fudging some of the allocations required by the May Co. The corporation’s internal auditor surely knew about this, but she had no assistants to help her in the Business Office, and it would not have been practical for her to implement all the required steps within the strict time restraints. I thought that it would be feasible for her to do it in AdDept, but I could understand why she did not want to commit to a process that she could never verify produced results that were consistent with her existing methods. Also, she was more confident that she could meet the deadline every month without using AdDept.

I definitely remember spending many hours working on the weekly advertising calendar, which was designed to be printed on a special Hewlett-Packard laser printer that the advertising department had purchased. It could handle very large forms. Printing from the AS/400 was ordinarily limited to text of at most 198 characters per line and a single non-proportional font, Courier New. So, it would not be easy to replicate what they were doing.

Every advertising department that we worked with produced a calendar that was the basis of communication with other departments and the brass. In every other case we had been able to convince them that what the AS/400 could produce in the usual way—with whatever changes they needed—would suffice. The alternative was for us to produce output files that could be downloaded to a PC and formatted for printing in Word, Excel, or other software, and a few chose that method. The people at M&F insisted that that was not good enough. They needed the calendar the way it currently looked and they did not want to take extra steps to provide it.

In order to produce the calendar that they required I decided to make use of research and coding involving PCL, the language that Hewlett-Packard’s printers used. Instead of creating “spooled files” that the AS/400 translated into PCL using its printer drivers, the program that I wrote for M&F created files of instructions that were sent directly to the printer. They bypassed the AS/400’s drivers because the files were already in the language that the printer understood.

This approach had the advantage of allowing the use of proportional fonts such as Ariel or Times Roman. It also allowed the use of simple graphics such as boxes, variable font weights and sizes, italics, bolding, etc. The end result was definitely more attractive, but the big advantage was that the format was already familiar to the executives from other departments to whom it was delivered. It could all fit on one page that included attractive fonts, boxes, and other things that no one ever saw on a computerized report in the nineties.

From TSI’s perspective there were, however, serious disadvantages to this kind of approach. None of the other people at TSI were even slightly familiar with PCL. On this project I wrote all of the code myself.

By 1998 I was generating only a fairly small percentage of the new code at TSI’s office. I spent the bulk of my time traveling to clients, installing new systems, training, writing up proposals for new systems, modules, and requests for custom programming. I also had important administrative obligations, including locating more appropriate offices for TSI.

I suppose that I could have asked Denise Bessette, TSI’s VP of Product Development to learn PCL 5 from the handbook that I had found somewhere, but there was no guarantee that we would ever use this technique again. Besides, time was of the essence, and she already had a lot on her plate. By far the fastest way to deliver the code was for me to do it. There definitely was too little time for me to teach her in a formal setting how it worked.

Also, as will become obvious, the logistics would not have worked if the programming “team” had more than one member. Denise did not want to travel more than necessary.

Another big disadvantage was that it took much longer to write code for the printer than to write reports that could be sent to the printer driver for translation. We had been using the AS/400 long enough that we had that process down pat.

Furthermore, because TSI did not have a printer that could handle the oversized form, there was no way to test the finished product in the office in Enfield. I had to write little programs that produced segments of the calendar, test them on an HP printer that we did have, and then write the code that stitched them together. Also, I could not even look at the output on the screen. I ended up delivering the code to M&F in person and testing it at their site with real data.

I should mention that Denise did not like this kind of cowboy coding at all. She thought that everything should go through the tried-and-true process.

Finally, if M&F had run into problems with the calendar when I was on the road—which I often was during that period—Denise and the programmers might have trouble isolating the cause.

In retrospect it might have made sense for me to decline this project. Someone from the May Company would probably have stepped in to help them find a reasonable substitute. However, I wanted a happy client, and I was quite sure that the people at M&F would not have been happy with anything less than what I did.

I did get the calendar program to work, and I do not remember them reporting problems with it after the first few days. I might have needed to make small changes to handle situations that they forgot to tell me about. That almost always happened.

According to my notes by February 25, 2000, things were going reasonably well:

So far I have not picked up specs for a lot of custom programming. I spent much of yesterday working on the calendar and the insertion orders. I finally got the calendar so that it is exactly the way they wanted it. The first faxed insertion order cut off the top ten lines of the page. I fixed it by rotating 270 degrees instead of 90. I can’t understand why that would make a difference. We also had a query class for the people who have some experience in working with AdDept.


Life in the M&F advertising department: In general the people in the department, like nearly everyone that I met from the May Co., were hard-working and enthusiastic about their jobs. They did feel that they were the parent company’s ugly step-child, and there were many things besides the outdated electronic equipment to bolster that feeling. For example, there were no restrooms on the thirteenth floor that the department occupied. The store’s selling floors certainly had very nice restrooms, and the employees were allowed to use them. However, that involved taking an elevator down from the thirteenth floor and back, which could add several minutes to the project.

The alternative was to climb the stairs up to the fourteenth floor. That floor must have had a purpose at one time, but by 1998 it was just a relatively empty area with plumbing. I found it sort of exciting to go up there. It was like being in someone else’s attic. You never could predict what had been put up there just to be out of the way.

I used the men’s room up there whenever I felt adventurous. It was quicker, and I had very low standards in those days. The picture on the right is surely worth a thousand words. There was only one stall in the men’s room, but it was almost never occupied even though, as you can see, the one urinal was permanently out of order. The sign on it helpfully advised “DON’T PEE HERE.” Someone had added a “K” to the verb.

I seem to recall that there was also a ladies’ room up there, but it did not get used much. At any rate I did not try to persuade anyone of the fair sex to take photos for me.

This was not the only unusual sight at M&F. Here is what I wrote on February 25, 2000:

Meier& Frank is a strange place. They have by far the worst facilities of any department store I have been in. I will try to take some photos today. One guy’s office is so small he can easily touch both walls at the same time. Several people are sitting in a former conference room. There is a pile of discarded computers in one hallway. Many places are dirty. One corner in the main part of the office had huge dust bunnies. It could not have been cleaned in months. Nevertheless, everyone seems in good spirits.

Most of my time in the the first few trips was spent with Dori. She had a small desk in a fairly large office that also held a lot of records and that big printer. Dori had one very peculiar trait, that she did not try to hide. She would verbally accompany her work with a softly spoken play-by-play: “I am walking over to the printer to get the schedule. Now I am getting last week’s schedule out of the file. Now I am taking them to …”

At the time I found it incredible that they would put up with this annoying behavior. In retrospect I think that I was too judgmental. She did her job, and they kept her isolated enough that she did not drive anyone else crazy.

I remember that for one visit they assigned me to work in a very small two-person office. I swear that it was so narrow that I could touch two parallel walls at the same time. I was put there because one of the occupants was on vacation. I found my temporary officemate quite funny. I remember that he had posted on the wall a cartoon of Beavis and Butthead talking about the newly elected team of Bush and Cheney. The balloons read “He said ‘Bush’, heh heh,” and “He said ‘Dick’, hee hee.”

In those days I drank a lot of Diet Coke and Diet Pepsi. I couldn’t tell the difference, but I could definitely tell if someone served me an off-brand. I happened to mention that I once tried to mix them. The guy with the cartoon solemnly warned me that that might not be legal.


I had completely forgotten about the following until I read it in my notes from February 23, 2000:

Brent got a call from someone from the May Company. Evidently they are considering getting new AS/400’s for both Meier & Frank and Filene’s because Dave Ostendorf told them that IBM is withdrawing support for the CISC systems.

Robinsons-May and Filene’s definitely got much faster systems, but I don’t think that M&F ever got an upgrade.


Life in and around Portland: I think that on our first visit Doug and I stayed in a Holiday Inn on the other side of the Willamette River. On later visits I think that I must have stayed somewhere closer to downtown. I ran nearly every day in those years, and I have a vivid recollection of running both through the streets of downtown Portland and in a large park along the Willamette River. I considered it very cool that the city allowed its citizens easy access to the riverfront. By contrast it was almost impossible to get from downtown Hartford to the banks of the Connecticut River on foot.

My memories of running in Portland are vivid and diverse, but I cannot remember being in a single restaurant or any other kind of store there. I think that I might have purchased lunch from a food truck or from a kiosk in the beautiful Pioneer Square, which was right across the street from M&F. I often saw a human statue there—a guy with silver clothes and makeup who posed in the square. In the above photo he is taking a break. I could not imagine a worse job than his.

Here are some tidbits that I wrote on June 12, 2000:

I often see strange things on the streets of Portland. Tuesday a pit bull was chained to a parking meter. It had a stick in its mouth. A guy was playing the “Lone Ranger” part of the overture from Rossini’s Guillaume Tell on a mandolin.

Someone from Salem Oregon stole over 300 lawn ornaments and decorated her lawn with them. She had hit houses in five counties.

I could park my rental car all day at a surface parking lot near the M&F store for a reasonable price if I arrived before the stores opened, which I always did. I also remember a building that had a huge octopus atop its front door, but I do not remember what was inside.

On the last few trips to M&F I stayed at a Homewood Suites hotel in Vancouver, WA. I selected it because it served free breakfasts and because it was fun to run along the mighty Columbia River.

The drive from the Homewood Suites to the M&F building, which was less than ten miles, was mostly on I5 and ordinarily took me only about fifteen minutes. If there was heavy traffic or an accident it might take twenty minutes, but I am pretty certain that I never spent as much as a half hour on the trip.

I remember that one of those evening runs was shortly after my tendinitis of the IT band had been diagnosed, and I had begun the prescribed exercise regimen. This outing was the first time that I had really tested how my knee had responded to the therapy.

I had to stop a couple of times because of the pain, but a thirty-second stretch allowed me to resume running. This was very encouraging to me because it indicated that the doctor’s diagnosis was accurate.


Epilogue: The M&F advertising department used AdDept up until 2002, at which time the division was folded into the Robinsons-May division of the May Co. The stores still carried the M&F logo until 2006.

The flagship store in Portland, which at the time carried the Macy’s logo, was closed in 2017. The structure is still relatively intact in 2022. The developers have posted a web page that describes its current state. You can view it here.

The principal occupant is a luxury hotel called The Nines, but several other businesses are located.there including a Japanese store called Muji.


1. Brent Stapleton’s LinkedIn page is here.

2. Dori Tierney’s Facebook page is here. When I looked she had three times as many friends as I had.

3. Sheila Wilson returned to Hecht’s after M&F was folded into Rob-May and then worked at Marshall Fields/Macy’s in Minneapolis. Her LinkedIn page is here.

4. My Fred Meyer adventures are chronicled here.

5. Emily White-Keating also appears in the entry on Macy’s West. Her LinkedIn page is here.

6. Laura Rutenis also returned to Hecht’s. Her LinkedIn page is here.

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.