general

My memories of John Vlissides

November 30, 2005 0:14:14.207

John Vlissides passed away Thursday, November 24, 2005.

I first met John at a workshop at Stanford. The workshop was on something about object-oriented design, and he was a grad student then. We didn't talk directly, but he spoke and I remembered his name.

The first time I talked with him was at the "Towards an Architect's Handbook" at OOPSLA'91. I think he had just joined IBM at that time. We were all supposed to write an entry for the handbook, and both John and I thought that frameworks should be handbook entries. Erich Gamma and Richard Helm gave the first presentation on design patterns. I was very impressed. For most of their patterns, I had slides in my course on OO design that had an example of the pattern. John was equally impressed, and he started working with Erich and Richard soon after OOPSLA. I didn't start working with them for nearly a year, whcn Erich invited me to join their pattern catalog project.

"Design Patterns" was written almost entirely without meeting face to face. The only time the four of us met was at OOPSLA'93, and we didn't talk about the book much then. I think that Erich met with John and Richard separately to talk about the book, but all my interaction was by e-mail. We generated a LOT of e-mail! The book was written in LaTeX, and John handled the formatting details and kept the official copy of the files. We'd ask him for them, and he'd send them by e-mail. This was before the world-wide web and probably cvs,

The writing was collaborative. Someone would write the first draft of a pattern, usually just a page or two. Everybody else would then take a pass over it, and by the time it got back to the original author, it was usually quite different. Sometimes someone would decide that all the diagrams should change, or that each pattern should follow a new rule. Each pattern had a bunch of different parts, and as time went on, we had more parts and more rules for how the parts should be written. The only part of the book that was written primarily by one person is chapter 2, which was written by John, with a small amount of editing by the rest of us.

John was not only the keeper of the sources, he was the final proof-editor. This allowed him to ensure that all the language had the same style. When you have four people writing a book, it is easy for the writing style to be inconsistent. John made sure it was all consistent. The final book is more like his style than that of any of the rest of us, though if you look at his writings, like "Pattern Hatching", you'll see that it isn't quite the same style as Design Patterns. It was a true collaborative work.

John was also the interface to the publisher, and this led to one of the funny stories of the book. We wanted to have the book available by OOPSLA'94, which was in October. So, we were working on a deadline, which was sometime in May or June. We had been working hard for several months before the deadline, and had lots of things we wanted to improve. When the deadline arrived, we had done all the high-priority things, but still had a lot of less important issues that we would have liked to work on. But we knew we had to have books for OOPSLA, so we sent it off. After a couple of days of recuperation, John sent us a message. "Good news, guys! I lied to you. We have another month til we have to ship it." So, back to work! We were able to get a lot more things done. It was a wonderful managerial trick, but it was the sort of thing that someone can only do once.

The book received a warm welcome at OOPSLA, and the rest is history. I have always felt lucky to be a part of the book. Sure, we worked hard and contributed a lot to the book, but it was Erich's idea, and we wouldn't have been a part of it if we hadn't been invited. John felt the same way.

Although the book was a lot of work, it was always pleasant work. All our arguments were the kind that engineers love. John was never quiet, but always listened, and didn't insist on his own way. The whole group was like that, though John was a bit more than the rest. This made it fun to work on the book, and also made the final product better. After the book was published, several people told me about their experiences writing a book in a group, and I discovered that my experience was not typical.

Once the book was published, I saw John more frequently. We went to Hillside meetings and served on the Hillside board together. John started writing a regular column on "Pattern Hatching", and we'd give him feedback on the articles. He became a series editor at Addison-Wesley for pattern books, and would sometimes ask my group to review books. We exchanged notes on the design patterns courses that we taught. I once gave a speech for him, using his notes, when he couldn't make the committment, and I think that is the only time I've ever spoken on design patterns using someone else's notes. But our discussion was almost entirely technical; just a couple of programmers "talking shop".

I went out to dinner with John when ECOOP was in Germany and discovered he spoke German well. I went out to dinner with John when ECOOP was in Italy and he handled the conversation with the waiter, in Italian. I recall that he said he didn't really speak Italian, that he had "just picked up a few phrases." In any case, I can say that any time I went into a restaurant with John in a foreign country, he could speak the waiter's native language! John's attitude towards learning enough of a language to talk to a waiter shows how he was eager to learn new things, was not afraid of making mistakes, and how he wanted to put others at ease and work in their terms. In retrospect, it was typical of John.

One of my favorite memories of John is when I stayed at his parent's house with him for a few days. I was scheduled to go to an NSF meeting in Washington, but didn't reserve a hotel room early, and when I tried later, it seemed that every hotel in the city was already full. So, I looked on the list of invitees to see who I knew. When I saw John's name, I called him and asked if we could share a hotel room, explaining my predicament. He said that he would be happy to help, but that he was not staying in a hotel, he was staying with his parents in Virginia. So, that is where I stayed, too.

I enjoyed getting to know his parents, and I enjoyed our conversation during the long commutes. I learned that John was a car expert, able to give the list price of nearly any car on the road. I learned that he had learned to program while working for his father. His father was a civil engineer, specializing in towers. John started to do calculations for his father at an early age. When he was 12 or 13, his father got a programmable calculator, and John figured out how to make it do the calculations. He programmed that for several years before moving on to a "real computer". We probably talked about the NSF and our current projects, but I don't remember. We didn't talk much about our families, our churches, or the other things that are important to us. It is funny how engineers can spend so much time talking about engineering, even though there is a lot more to our lives.

About a year ago we got a new editor at Addison-Wesley, and she pressed us to start work on the second edition. We'd been talking about it for years, but needed an impetus. We checked our calendars and found a time we could all be on the east coast. John arranged for us to meet at an IBM conference center not far from where he lived. Unfortunately, a few weeks before the meeting, John had to enter the hospital, and he was still there by the time of the meeting. So, we went to the hospital to see him. He was cheerful and optimistic as always, even though he couldn't get out of bed. John wanted to work on the book with us, and he joined us in a couple of phone calls afterwards. It will be harder to do it without him. John led by serving. He did the parts that other people didn't want to do, and kept us in line by his attention to detail. He was always upbeat and expected to find a solution to any problem. Any group that included him was the better for it.

"I fought the good fight, I ran the race, I kept the faith. Now there is waiting for me the crown of righteousness which the Lord, the righteous judge, will give me on that day. And not only me, but all who love to see his coming." Paul's second letter to Timothy.


Ward's wiki has a dedication page for John

The family has asked that, in lieu of flowers, people can express appreciation for John by making a gift to his favorite charity: Children Cancer Fund

Comments

Tribute

[James Robertson] November 30, 2005 1:16:43.000

Trackback from Smalltalk Tidbits, Industry Rants

Tribute by James Robertson

I didn't know John Vlissides, but Ralph did, and he has some moving thoughts on his passing.

John Vlissides

[Kishore Dandu] January 10, 2006 12:20:55.073

I am also sad about the passing away of John. I have never met him(or any other authors of the design book), but each of you have touched many object oriented developers. Your contribution to the software industry and indirectly to the betterment of human kind can not be measured in numbers.

I feel John is blessed by the god and is for sure one of the saint's from the software world.

I wish and hope I can do some small percentage of what John was able to achieve in his lifetime.