What an ingrate ...
Bob Supnik's entire career has revolved around emulators and firmware, and it was I who showed him how to build his first simulator, which is basically the same thing as an emulator. In fact, under the management of Dave Waks, Supnik's brother-in-law, it was I who first showed Supnik how to program a computer when he was a snot-nosed 17-year-old history major down to ADR for the summer from Brandeis. Then, while still at ADR, I was the architect and working project leader for a computer simulation system, MIMIC, that Supnik became responsible for after I left ADR. When I arrived at DEC I fought all the battles required to get the organization to try simulation as an essential part of software and firmware development, and I brought Supnik in as a consultant on the engineering evaluations of three new models of the PDP-11, a gig that introduced him to the community of DEC CPU engineers, which led directly to his later enormously successful career at DEC.
I was happy to do all this -- Supnik is not without talent -- and I felt strongly about mentoring, helping and even sheltering others with talent so they could discover themselves just as Dave Rosenberg had done with me while I was still a chemistry major at NYU. However, my wife reminded me an hour ago that while I said almost fifty years ago that Supnik was the strongest coder I had ever known, I also said that he couldn't design his way out of a paper bag. In other words, Bob Supnik is a one trick pony -- he implements other people's specs fast and well. As we will see below I don't think he's ever had an original idea in his life. However, he's a consummate politician and a master at getting people to think that the ideas of others are his, when in fact they aren't.
Anyway, fast forward to the early fall of 1999. I was looking forward to seeing Bob and Martha Supnik after ... what ... at least 25 years. As I said earlier, I had known Bob since 1966 when he was 17, I had introduced him to computer programming and simulation, and we had been invited guests at his and Martha's wedding in Albany a few years later, flying in at our own expense, and staying at a hotel at our own expense, at a point in our lives when we had no money to spare. Now we were invited to Sunday breakfast with the Supniks, presumably to reminisce about old times and to catch up with one another's lives. That's what old friends do, right? Otherwise why extend the invitation?
Evalyn and I had been visiting three 1950s childhood boarding school friends of mine, all women, who had asked us to join them for a few days at the home of one of them, a lovely beachfront property in Wellfleet on the west side of Cape Cod. (She winters in San Diego.) That Sunday morning Evalyn and I spent about three hours driving the 130 miles from Wellfleet to the Supniks' house in Carlisle, MA in pouring rain, pushing hard to show up at 10am as arranged weeks earlier by email. It would be another three hours back but the round trip would be worth it.
Yeah, right. Tell me another one.
As I said, we had been invited to breakfast. What happened instead was that as soon as we got there -- precisely at the appointed hour of 10am -- Martha announced that she was leaving to go shopping. Evalyn and I sat down at their dining room table and Supnik began talking. He was now the engineering manager for a semiconductor company doing business out of the old Mill, of all places. The project status was thus-and-such and everybody was working very hard, first silicon blah blah blah. Alan Kotok and Peter Conklin were dead. He didn't know where Len Fehskens was. His new project drew on his experience as the architect of DEC's Alpha chip. Blah blah blah, yada yada yada. After about twenty minutes he paused to ask whether we had eaten. We had not (duh) and gratefully accepted a bagel each. The offered cream cheese was a nice bonus that further reduced our hunger pangs.
Supnik began talking again. He was rewriting MIMIC in C, and there were many volunteers writing virtual machines to run in the new SIMH environment, which used the same old MIMIC data structures unchanged. Blah blah, yada yada. Evalyn drifted off to the Supnik's living room as Supnik continued to ramble. There was not one question from him about us, or about our kids whom the Supniks had known as infants, or about why I had left DEC, or about what either of us had been doing in the years since then, and there was no news at all about Dave Waks, who had been just as responsible for launching Supnik's career as I had been. Blah yada blah blah yada, on and on and on. I have no idea what he said after his SIMH remarks because I had tuned him out. I did not know this bearded stranger who was, frankly, by now giving me the creeps.
And then, while still talking, Supnik began looking at his watch. I looked at mine too and, finding that it was almost 11am, I realized that our audience with His Royal Highness was over and it was time for us to go. I stood up abruptly, thanked Supnik for his time, told Evalyn to grab her coat because we were leaving, and told Supnik that we knew where the front door was so that he needn't bother to get up. He never said goodbye.
On the way back to Wellfleet I was fuming. Rarely in my life had I felt as insulted as I did after the loss of those seven hours out of our lives, time we could have spent with our real friends, important because we would be flying back to Colorado early the next morning. The insult was deliberate. I wondered why we had been invited at all, but then I realized that it had been for the specific purpose of having our noses rubbed in the offal of Supnik's success. It would be almost six years before I understood what was behind it all, a realization that occurred to me only two days ago while I was reading a book about DEC, see the end of this article.
If you read the Wikipedia entry for SIMH you will find Bob Supnik listed as the developer and maintainer of a computer emulation system that "has been in development in one form or another since the 1960s". Elsewhere in that same article the statement is made that "SIMH was based on a much older systems emulator called MIMIC, which was written in the late 1960s at Applied Data Research." Searches of the internet will reveal that MIMIC had been written at ADR by some combination of Mike McCarthy, Len Fehskens and Bob Supnik.
Way to go, Supnik. Spoken like a real politician, modestly putting yourself last. Anyone familiar with your career knows that you worked at ADR (though they cannot tell from your LinkedIn entry that you were at the company during the 1960s as a part timer, only that you were there during the period 1972-1977). Anyone reading the Wikipedia article will naturally conclude that you had developed MIMIC, which in later years you had extended to become SIMH, and that you had done MIMIC at ADR with the assistance of Fehskens and me. In giving people these flattering impressions of your non-DEC accomplishments you indeed wrote the truth and nothing but the truth. However, you did not write the whole truth, which I will now do ...
At ADR in 1966, Bob Supnik's then brother-in-law Dave Waks, the man who hired me out of NYU in 1964 before I had even graduated, pioneered the concept of interactive cross platform software development. Waks caused to be built, on a PDP-7, a PDP-8 cross assembler and PDP-8 CPU simulator. He did this because we had a very unfavorable delivery position for one of the early revolutionary PDP-8 minicomputers, required for an ARPA-related project that Waks had managed to get funded, a story for another day. We needed to get the -8 software built before our -8-with-338-display would be delivered, so as not to lose six project months to delayed -8 software development. In other words, we could get a -7 timely, and ARPA would pay for it as an incremental contract expense, but the actual -8/338 would have to wait. (In fact, at our eventual insistence DEC ended up shipping us the 338 engineering prototype, which they labeled serial number one. It worked well and never gave us any trouble.)
The PDP-7-resident PDP-8 cross-assembler was written by ADR employee Avram Caspy. The heart of the -8 application code, an embedded object-oriented interactive 2D graphical programming environment, was written by Your Humble Correspondent, along with interrupt-driven drivers for the 338's light pen and graphic output controller. (The term object-oriented was not in use at that time.) The user level -8 application code was written by ADR employees Steve Robinson and Harry Saint. In addition to managing this and other projects, Waks himself designed and built certain -7 and -8 hardware interfaces, and -7 and -8 code, that would allow the user-hostile target -8/338 environment to be downloaded from the user friendly -7 development environment. This eliminated the need to load the -8 via paper tape, just as the cross-assembler eliminated the need to edit source code on (unreliable low speed) paper tape.
In other words, folks, we ARPA project people were all very busy. If you've been paying attention (and you should because there will be a quiz), you will notice that nobody was working on the -8 simulator itself. Waks, or more likely I, would do it if necessary but Waks mentioned that his wife's precocious kid brother Bobby, a 17-year-old history major at Brandeis, would have the summer off and wanted to learn something about computers. Would I be interested in taking Bobby under my wing the way Dave Rosenberg had done with me at NYU before turning me over to Waks? Would I be willing to coach Bobby in learning PDP-7 assembler even though he had never programmed a computer before? And then guide him regarding building the -8 simulator on the -7? After all, we had nothing to lose if Bobby didn't work out, and plenty to gain if he did. My answers respectively were "yes", "yes", "yes" and "quite right".
So Bobby came down from Waltham, MA for the summer, staying with Waks and his wife, Bobby's sister Lee. Bobby did very well, just as I had not quite three years earlier. You see, folks, back then you either had what I called The Talent or you did not. If you did then it didn't matter whether you had majored in chemistry as I had, or in history as Bobby was doing, or in EE (and topology!) as Waks had. No, if you were what I called One Of Us, your prior background mattered not at all, nor did your ethnicity, or your gender, or your level of education. All that counted was whether you could do the challenging work of system programming, which was highly technical and called for a lot of hardware insight.
Robinson and Saint could not do system stuff, which was why they were programming at application level. They were competent in -8 assembler but had little insight into, or interest in, the underlying hardware. There was no hope of their ever writing operating system code, or device drivers, or anything technically challenging. In contrast Waks and I understood the -8 thoroughly simply from DEC's manuals, which were well organized, well written, and quite detailed at both the electrical schematic and register transfer levels.
As Waks liked to say about himself and me, "We're the smartest guys in the world". We knew that either of us could have written the -8 simulator with no trouble at all even though neither of us had done anything like it before. All it would take was time which, unfortunately, was in short supply. Even with Bobby coming for the summer to do the -8 CPU simulator, the plan had been for me, in the fall, to extend Bobby's work to include the 338 display, which was an order of magnitude more complex than the -8 itself. However, after the real hardware was delivered my graphics core code came up so quickly that we never bothered to build the 338 simulator.
As it happens Bobby did well -- very well. After two days on the job he had mastered our DECtape-based -7 development environment (for which Caspy had written the DECtape service) and was writing test -7 code in assembler. He then read the -8 manual and understood it, after which he read some of my early -8/338 assembler source code, understanding that material too. We then discussed what it would mean to write a simulator that would be capable of running the DEC -8 diagnostics, necessary because we would have no other way of validating the simulator.
The required level of detail included simulating interrupts, the real time clock, the console ASR33 printer, the ASR33 low speed paper tape reader and punch, accurate instruction timing, and so on. I spent a couple of days showing Bobby how to do these things at a design level, the heart of the simulation being the creation and management of a time-ordered event queue structured as a doubly-linked list for easy insertion of generated future events, with the events to be performed via what today are known as callback functions.
Here's an example of how the simulator worked ...
Execution of an instruction to print a character on the 10-characters-per-second ASR33 would schedule an event for 100 milliseconds later. The event would be the setting of the simulated teleprinter "done flag", which would be accomplished by a callback routine that would run when the scheduled event became current, i.e. when simulated system time had advanced to be equal to or greater than the timestamp on the done flag event. At that time the output character would be written to a file or sent to the -7's own teleprinter, depending on the state of some dynamically configurable software control switches. Then, as a separate issue, at each instruction cycle the simulator would determine whether interrupts were on or off, and if on then it would check whether any device done flags were set, and if any were then an interrupt would be simulated. And so on through every issue required to faithfully simulate a PDP-8 at the required level of detail. I had designed the system in my head, and over a two-day period I dictated the design to Bobby who made notes and diagrams. He understood the design, and then he built it in PDP-7 assembler with very little help from me. We were all both pleased and amazed.
Of necessity it was a complicated system overall because we were asking a lot of it in an era when DEC computers came with very little software, much of it buggy. The required capabilities included driving the simulated paper tape reader from files, routing of console printer and paper tape punch output to files, and we wanted the ability to both download and upload simulated (and eventually real) -8 memory to/from -7 files. As with the cross assembler, most of this -7-oriented support code was written by Caspy so that Bobby would be able to concentrate on the code that was directly related to the simulated PDP-8 CPU.
Are you getting the message, Supnik? Yours was the easiest job on this project, not the most difficult. You had been given a complete design for how to do a simulator. Regarding the -8, of all of us you were the only one who had firm specs from which to work, an unchanging target at which to shoot. Yes, you did a good job. But then that's what you were being paid for, no? To be fair, what made you unusual was that in an era when good system programmers averaged 25-50 lines per day of debugged and commented code, I averaged 50-100 but you regularly did ... wait for it ... 250-500 lines per day. Remarkable ... But all you had to do was plug and chug to implement my design and DEC's spec. You were a talented and fast bricklayer to be sure, but you were only a bricklayer, not an architect.
[An aside ... During the 60s I was the best software designer I ever knew, a conclusion I would reaffirm 30 years later as a consultant and independent software developer. Where others worshipped at the altar of tight code, my god was tight design -- designs that made a lot of code simply unnecessary, and that executed with lightning speed even given my loose coding style. My approach was to generalize the problem at hand in order to remove special cases, and then to solve the general case in the most efficient way I could devise in a design sense. If I inherited a body of (often uncommented) code designed by someone else I would consistently be able to rewrite it to be half the size and four times as fast, even though I wrote (lavishly commented) loose code that made no attempt to be clever. But I digress ...]
That's about the only favorable thing I can find to say about Supnik these days, Dear Reader, that he was a talented bricklayer. You see, as I noted earlier Bob Supnik is an ingrate. Where Newton graciously said "If I saw farther than others it was because I was standing on the shoulders of giants", Supnik effectively says, "I saw much farther than others, how sad for the rest of you. If I was the doer and you were the manager whose ideas I was implementing, you contributed nothing, because doing is everything. If I was the manager and you were the doer, you contributed nothing, because managing is everything."
No, folks, I'm not jealous, merely annoyed. Supnik is talented and hard-working, and I said as much above. Regrettably, I have always foolishly believed in crediting others for the ideas they had and the work they did. Fortunately for them, neither Gordon Bell nor Bob Supnik have this character flaw. The fact is, Supnik, you and I both owe our careers to Dave Waks, who gave you your start in programming while you were an obnoxious history major, and who hired me directly out of NYU before I had even graduated.
After the frustrating 1999 Carlisle visit I pondered Supnik's and my relationship over the years, trying to understand why he had felt it necessary to humiliate me. Just to make sure I wasn't imagining things I sent Supnik an email a month after our return to Colorado. Sho' 'nuff there was never a reply. So ... I had no answer for Supnik's behavior but I recalled that when I brought him into DEC in 1971 as a consultant on a project I had been tasked with managing, he gave me the brush-off. Okay, fine, we were at DEC and all I cared about was that the right guy was doing the right job. Dave Stone and Larry Portner knew that my contribution here was managerial, precisely why they had hired me, so Supnik's being distant meant nothing of consequence. I knew enough to let him get on with the work as he saw fit, to check with his dotted line bosses to make sure that they were satisfied with what he was doing, and to approve the invoices for his time that ADR was sending. But I was puzzled. Very puzzled. I was further puzzled when, in 1979, after having moved with DEC to Colorado Springs I somehow learned that Supnik had become a DEC employee but had never called me to say so. Oh well. I certainly wasn't going to chase him.
After his 1971 consulting assignment I had no further contact with Supnik till the Carlisle visit, after which I was doubly puzzled as well as hurt and humiliated. I wrote him off and thought nothing more of him till a couple of days ago when I came across a passage in "DEC Is Dead, Long Live DEC" that made me say to myself "Well, of course. Now I know who Bob Supnik is, and now I know why he treated me the way he did."
Here's the passage, written by Ken Olsen in 1992, which relates to a period four years earlier, long after I had left the company in 1981 (and never looked back) ...
The folks in Seattle in Dave Cutler's organization, and the folks in Hudson in the Semiconductor group, managed by Jeff Kalb, worked closely together to deliver the 32 bit RISC system based on the original work done in Marlboro [in Glorioso's organization]. As they evolved very nicely in Seattle, the opportunity arose to purchase an existing chip from MIPS Computers in California. MIPS people came by with lots of slides and promises of several next generation products immediately on the heels of the first product. They also claimed to have all the software compilers completed, debugged, and fully operational, an area where we felt we were behind. The firm belief that we couldn't do anything right and everybody else could, led to a mass hysteria reaction that resulted in Bob Supnik, the champion of Prism, standing up before the Executive Committee and stating "we should go with MIPS." With Bob's strong recommendation the decision was made to go forth with MIPS."
The light finally dawned for me, and I instantly understood why Supnik felt the need to rewrite history so as to make me disappear, and to pretend that I wasn't there whenever I inserted him into situations. You see, Dear Reader, in the mid-80s there had been a three-way battle for control of the next DEC system, a battle that I was dimly aware of thanks to casual remarks dropped now and then over the years by the DEC friends I still had in Colorado Springs. The battle was between a) Dave Cutler with his Redmond-based ECL Prism advanced workstation project, b) the repurposed Large Computer Group in Marlboro with their ECL VAX 9000 project under Bob Glorioso, and c) the Alpha chip people in Hudson who, under the technical guidance of Bob Supnik, planned to build an emulator based system that could run any or all of several different instruction sets and therefore several different operating systems, including VMS, UNIX and ULTRIX.
You will recall that I said that Supnik's degree is in history, not EE. In particular he was a student of military history (as was I), and he was always able to beat me handily whenever he and I played Avalon Hill military board games, which was almost every weekend that first summer he was at ADR. It is my personal opinion that Supnik is a psychopath, one who is adept at politics as such people often are. He is good at reading other people, and like so many in politics he reflects back to people whatever it is that they want to see. Supnik is not content simply to win (make everybody think that he was responsible for MIMIC). No, at the same time that he arranges a win for himself, he makes sure that the opposition is destroyed so they can't bother him again (make Mike McCarthy disappear from history, both before DEC and at DEC).
Perhaps DEC could have won with Prism alone, or with VAX 9000 alone, or with Alpha alone. We will never know, least of all me because I wasn't there. If my new insight into Supnik is correct, he probably will have reasoned as follows ...
1 - The important thing is for Supnik to win, even if DEC eventually loses. There will always be other companies for Supnik to go to if things go wrong, but there is only one Bob Supnik career and nothing must be allowed to derail it.
2 - If Cutler wins with ECL, then Supnik/Alpha loses the battle for development dollars.
3 - If Glorioso wins with ECL, then Supnik/Alpha again loses, for the same reason.
4 - Therefore both Cutler and Glorioso must be eliminated even if DEC loses in the long run as a result.
5 - The way to eliminate both Cutler and Glorioso is to make Olsen not want ECL. That way nobody will be able to countermand the decision.
6 - You do this by making Olsen want a semiconductor chip solution. All the ECL projects then disappear immediately and Hudson gets all the development dollars.
7 - The way to make Olsen want a semiconductor chip is to tell him that a MIPS-based solution will beat everyone to market -- beat Cutler, beat Glorioso, beat Supnik.
8 - Since Alpha isn't ready and won't be for another couple of years, you tell Olsen that he needs MIPS, which is already developed and therefore "free" in a development dollars sense, with no further need to fund the ECL projects, leaving Alpha as the last man standing in the competition for DEC development funds.
9 - Olsen will bite the Supnik-baited hook because ... and get this ... Supnik appears to be arguing against self interest and therefore can be trusted, even though Olsen already felt that Supnik was a cheat and a liar who was diverting development budgets and people while proclaiming his innocence..
Brilliant, Bobby. Absolutely brilliant. You knew MIPS would screw up but it didn't matter because the ECL threat to your career would be gone, never to return. With Olsen having blessed MIPS, Cutler immediately quit when Prism was cancelled. Glorioso didn't quit but this didn't matter because his budget was forced to zero, and while Olsen would restore much of it at a later date, that didn't matter either because Olsen would soon be out as CEO. In fact it would not surprise me to learn that Supnik had run the rumored board-level backstabbing campaign against Olsen, the one that left Hudson in control of the whole company including the presidency.
So ... By recommending MIPS Supnik made himself bulletproof, and he bought valuable time in which to make Alpha ready for the market. The new DEC CEO, Robert Palmer, was an expensive chips guy, not a racks-of-expensive-logic guy, and he would simply defund Glorioso again while increasing Supnik's budget.
Is Supnik a terrible person? No, but in the end he made me feel ... dirty ... and based on some comments by author Ed Schein in "DEC Is Dead ..." regarding people he chose not to name, or who asked not to be named, I think Supnik must have made Olsen feel the same way. In fact, looking back on fifty years, it occurred to me this morning that over all this time I can't recall Supnik ever laughing, or telling a joke, or radiating any kind of human warmth. I never noticed because ... well ... Supnik did one thing, but he did it so well that I wanted to think highly of him. (I no longer do. I have standards.)
I said earlier that Supnik may never have had an original idea in his life. This feeling was reinforced when, doing a little internet research on Alpha, I discovered a few days ago that the supposedly novel pipelined parallel architecture of the Alpha chip was precisely the pipelined parallel architecture of the innovative ECL KL-10 processor that had underlain the DECsystem-20 of the mid 70s.
I don't know whether you're reading this, Bobby. If you are you'll probably feel inclined to pay for an attorney to write a letter demanding that I retract all of what's above and issue a public apology on the grounds that what I've written here is libel.
Well, Bobby, forget it. You're playing on my turf now and there will be no retraction. At its very top the front page of this site clearly states that everything written by me on the site is editorial opinion. In other words, it's constitutionally protected free speech. You see, Dear Reader, truth is a perfect defense against libel, and it is a fact -- incontrovertibly true -- that everything I've written in this article is only my opinion. Bob Supnik is a public figure (just Google his name) and he has to accept that people are free to write negative things about him provided they are not libelous, and clearly labeled opinion by definition cannot be libelous.