An Interview with Charles Miller

Charles Miller

CM = Charles Miller

GAM = George Michael

GAM: It's June 2, 1995, and I'm interviewing Charles Miller. You might start, Charlie, by telling us where you went to school, what your degree is, and how and when you got to the Lab.

CM: I went to UC Berkeley, and I graduated in 1948. I was a math major and physics minor.

I taught high school for nine years. One day I was up at the board writing some equation, and I started thinking, "I don't want to do this for thirty years." So, I started looking around, and went out to the Lab, and talked to them. I finished the school year and started at the Lab on July 1, 1957.

You asked who hired me, and I don't really remember. It may have been somebody in personnel. It was pretty loose then. I was a warm body. I was a math major from Berkeley. They just grabbed me: "There's a warm body." I had no experience, of course. Nobody had any experience at that time.

GAM: That's true. Where did you teach high school?

CM: I taught two years on the Mojave Desert at the China Lake Naval Ordnance Test Station.

GAM: Wow!

CM: I taught math and science at China Lake, I taught two years at San Lorenzo, a little science, but mostly math. I did some basketball coaching.

GAM: Great. What was your first assignment at the Lab?

CM: I went to work with Leo Collins. It was the buddy system. Leo was probably there a year before I was, and he took me under his wing. We were working on the main design code. So, the first thing I did was meet Bill Schultz, and realized before too long how lucky I was in working with those two—especially Bill, but also Leo. They were good people. I probably worked with Bill at least five years. Leo left about a year later. He went down to Florida for the space program. He came to Livermore once to recruit people, and that's the last I saw him. But I was still working with Bill on new version of that main design code. I think Leo put on the first version, and I did some of the coding. Leo and Norm Hardy tried to put it on the IBM 704 using FORTRAN—Norm was always involved as an advisor, and I didn't realize how influential his role was for a while.

This was '57—one of the first versions of FORTRAN. I remember one day we had a 704 to try to compile it. It just started compiling, and compiling, and compiling. The tables must have overflowed or something, because it just never finished. At that point, we realized—Leo, not me, I was pretty new there—Leo and Norm realized they were going to have to hand code it. We started writing the equations, and Norm was a part of that. I don't know what his role was exactly in terms of the coding, probably the I/O.

GAM: Gadfly, he was all over the thing; he was a main contributor for the entire program.

CM: Yes, but may have had a more specific role in the main design code.

GAM: Well, I heard the story that he sat down at a keypunch with the FORTRAN deck, and keypunched a complete version of the main design code that assembled and ran successfully on the 704.

CM: That may have been, but not the version with which I was involved. He may have written most of the FORTRAN—I don't know.

GAM: Actually, the first version was on the 701.

CM: The 701? I didn't know that. With Bill Schultz?

GAM: No, it was Roland Herbst and Mike May. And Bill Schultz came in with him, but Roland was the senior person, as I recall.

CM: And he put it on the 701?

GAM: They tried to. You know it was a tape-limited machine.

CM: Yes.

GAM: And a tape-limited problem program. Well, I mean, the tapes were terrible.

CM: Yes, but I didn't know any of that. I was new, and it was just exciting to me. Leo wanted to prove something, you see. At the Lab at that point, the people in the Computer Department, including Hans Bruijnes, thought FORTRAN had no future. Leo wanted to show how he could take a new person who didn't know much—and that's me, of course—and make him productive in a short time.

He gave me a little help and gave me the first FORTRAN manuals, which I still have. I put together a new, short program in which I could manipulate information on the CRT. And what Leo did was to go around showing people what I had done. He said, "Here's this new employee who doesn't yet know much, who got on and did something on a computer in a week!" He was trying to sell FORTRAN. It was interesting attempt, but then we had to put it on a 704 in assembly language; FORTRAN just wasn't stable enough.

I didn't realize that was a new version of the big design code. I noticed Roland Herbst was around there talking to Bill once in a while, but I never realized he actually had started it. That's interesting. I thought Bill had started it.

GAM: He decided that Roland's way of doing things was too loose, and so he flowcharted everything. Do you remember?

CM: Oh, yes! Oh, yes.

GAM: Great stuff!

CM: It was easy to code for him.

GAM: And for you.

CM: They finally got it running, but it wasn't satisfactory to Schultz—not the coding, but the physics. I don't know that it ever became a production code. About that time, Leo left. This was about a year after I had arrived.

Now I was the last one—nobody else was a programmer. So, Sid Fernbach saw the truth. That year I got a good raise! Before that I'd gotten small raises, I wasn't worth much to them. I was the one, then, who was putting the second version—as I remember—onto the IBM 704. I think it was still the 704. It may have been a 709, I'm not sure.

That's when Norm came in. He helped me a lot, because he did all the I/O on it. I still didn't know much; but after a year I knew more. I'm sort of a slow learner. That was about the time Norm was leaving for NSA (National Security Administration).

GAM: To work on the HARVEST.

CM: Yes that's right, the HARVEST.

GAM: He went to IBM, actually, with a jaunt to NSA. IBM was developing the HARVEST computer.

CM: Some people said I was crazy. There would be some bugs in the I/O, and Norm wouldn't be there to fix them. There were never any bugs in his code; I mean, it worked. There were people who resented Norm, and I didn't understand it.

GAM: Nor I.

CM: I could understand it if you're a little sick, because he was a real threat to some people. I thought he was always so very good with people. He was never arrogant with his brilliance. And he knew, he just knew things; when he talked, I listened. "Just shut your mouth when Norm's around, and get him to talk," were my thoughts.

That version of the design code went into production. I can remember several times Bill and I would be out at the Lab at night on weekends, getting bugs out of it, and getting it going—the sort of thing that people did then: Sitting over the printer, getting out printouts, and trying to find the bugs. It was used mostly by A Division. And they could get their work done. Pretty soon they started appreciating it. I think it's still appreciated today, as I understand.

But, at that time, it was a new code, and the question was, "Is it any good?" Apparently, it was good. But that's with good physics.

GAM: Well, Bill was always putting in better physics.

CM: Yes, but I won't talk about him, because he can talk about that when he sees you.

So our version of the design code became a production code. About that time, people like Bob Cralle, Maggie Gee, and Norb Ludkey, from A Division, started becoming involved to have it run better for production. Maggie and Bob wrote generators, I believe. I'm not sure—maybe Norbert was on the front line of running A Division problems.

GAM: He was doing a lot of the post-processing.

CM: Is that it?

GAM: Yes.

CM: I don't remember all this exactly, but somewhere around then I kept waiting for Bill to come back and do a new code, because he was great to work with. I mean, he would push—he pushed himself hard, and then he had expectations of others—but he was so gentle. I mean, he understood people. One of the things he frequently said, and still does, is, "People are crazy." And he accepts that! You know, "People are crazy." His way, I've found since, was that you give credit to people when they do work for you. If you're generous, and don't take all the credit, they'll work hard.

GAM: Yes.

CM: Bill's just a nice person.

GAM: He is a very nice person, yes.

CM: I mean, people wanted to work for him. Somewhere around then, the LARC came in.

GAM: That must be 1961.

CM: Probably. And Bill Bennett put Bill Schultz's program on the LARC. I don't know the production history of that. About that time, Harry Nelson put it onto the STRETCH. I believe they had production runs on the STRETCH.

GAM: Yes.

CM: I was there probably three and a half years with that program and Bill. And then, I think, I couldn't wait for Bill any more. I could wait, but Sid was getting a little antsy. I wasn't producing much. Bill wasn't ready to start on a major upgrade of his design program. I decided I wanted to work on systems as long as Bill wasn't available. I worked with Clarence Badger, Gale Marshall, and Garret Boer, as a junior person, on the assembler for the STRETCH. We went to New York and ran some programs on the STRETCH. I went to Los Alamos and ran some acceptance tests on the STRETCH. And Sid was still deciding whether to take it.

GAM: Yes.

CM: The performance was not very good. Sid asked all the people who were working on the STRETCH—I can remember the meeting—"What do you think?" We almost unanimously said, "Don't buy it!" He said, "Well, we'll buy it." And it's okay. I'm not sure what his reasoning was. There was nothing else out there, I suppose, and he always wanted to be in the front; I think he was right.

GAM: Well, you know that IBM sent a crew of people to our Lab. They were headed by Sullivan Campbell, and they had come to show us how to program the STRETCH.

CM: I missed that.

GAM: Well, after a week of study on the principal design program, they decided that we knew more than they did, and they couldn't really improve the speed of the STRETCH. So, IBM cut the price of the STRETCH by 48%! But they did it in such a way that they, for instance, still charged a dollar a bit for memory. But they essentially gave away the SIGMA exchange, you know, the I/O manager on it?

CM: Yes.

GAM: So, Sid tried to buy two of them, but they wouldn't sell them to him.

CM: Is that right? They wouldn't sell? That's interesting.

Another thing happened about Sid. During the acceptance tests, I wrote a report—I don't even remember the details of it. But it looked at some numbers, and tabulated them, and I gave it to Sid. He called me in one morning and pointed out errors. From my viewpoint, Sid, on a one-to-one basis, was a great guy. I liked him. In a group, I saw him take people apart. And I didn't respect that. I was as old as he was, or older. So, right from the beginning, I didn't call him Dr. Fernbach; I always called him Sid.

GAM: Yes, everybody did.

CM: Maybe not everybody; some of the younger people didn't. Anyway, he called me in, and he pointed out a couple of errors. And, of course, I felt terrible. But he didn't make it public, which I respected. I'm sorry he's gone.

GAM: Yes.

CM: IBM put out an assembler with it. And it was written by a person named Apple, actually—an IBM person. He was probably a sharp enough man, but it wasn't a very good assembler. It was terribly slow. I mean, it would take an hour to assemble something like the main design code. So, the Lab, by way of Clarence, Gale, and Garret—and I in a minor role—put together an assembler. I mean, those three knew what they were doing—they'd written other assemblers, they were sharp to begin with, and we must have done that in four months, maybe less—maybe three months. It assembled the main design code design code in four or five minutes.

The STRETCH had a disk, and just one stack. I think it was eighty million words; they didn't talk bytes then.

GAM: Right.

CM: That was a big deal then! We put the whole operating system was on it. OS on a disk was also a big deal! One part of the test for the acceptance would be to jiggle the head. We'd jiggle that, but we didn't break it.

GAM: It was a good piece of equipment.

CM: I think so. I think IBM made good, conservative equipment. When the machine was down for maintenance sometimes, we could sneak in and use it at lunch time. We'd be on there flipping levers to fix the assembler, because there were bugs in it.

Bill Mansfield and some IBM people wrote a one-pass FORTRAN compiler. As soon as you say one pass, you know there are some problems at execution time. They did it in a very short time.

After the assembler project was finished, I became involved with Bill Mansfield (the IBM people had left). Ann Hardy, Barbara Schell, and Jeanne Martin worked with him. Because of my assembler experience, I was able to take care of the forward branches during execution time. I understand that Bill had his troubles, but he treated me fine.

GAM: How about David Bailey?

CM: David Bailey was using the STRETCH. I came to know him pretty well. I happen to like him. He complained a lot, and shook things up, but he also is a pretty nice person.

GAM: He's a smart, smart, guy.

CM: A smart guy. I finished the assembler project, and he immediately overflowed the branching tables. I had to go back and do something about that. David was a troublemaker in a sense, but he didn't put people down. He just expected the programs we wrote to work properly and fast.

GAM: This was around 1960 to '62?

CM: Yes, that's about right.

GAM: That period of ferment!

CM: I was off of that special design code by then. Bill Schultz still wasn't ready to work on the new version. I don't think he was getting the support at the Lab that he wanted.

GAM: Well, he had a different interpretation, within the quantum theory, and was trying to detect some special photons. He was pushing for a special experiment at the Nevada Test Site to look for these photons.

CM: And the Lab wasn't supporting what he wanted to do?

GAM: They weren't totally committed, I suppose. They did run one experiment, but I think the result was inconclusive. Bill pointed out some errors in the experiment, and wanted it repeated. But, for one reason or another, they didn't repeat it. I believe it was largely that his photons didn't have anything to do with weapons research.

CM: Okay.

GAM: We'll try to clear that up when I talk to Bill.

CM: Yes, get Bill's version of that. But he never was ready to write another code, which I was sorry for, because I really wanted to work with him. Somewhere around that time, I went to work on the CEL code, with Bill Noh and Shirley Campbell.

Shirley Campbell was the lead, and there was a woman working with her, and a young man, a young physicist.

I knew some things that were useful to Bill Noh. You could make movies from the "dump" tapes. I did some for Bill Noh. He didn't ask for it, but I took some of the dump tapes from CEL, and did some geometric plots. Then I let them grow.

GAM: Yes.

CM: He was impressed. And I think I possibly might have had it in color—I don't know whether it was in color, but it's possible. We're talking 1966—I left in '67.

GAM: Yes, you could have had it in color. By then we had solved the color problem.

CM: I know that I was interested in doing them. That's about the time that timesharing was starting.

GAM: Right.

CM: Shig Tokubo was involved.

GAM: The first timeshare effort was by Norman Hardy, Bob Abbott, Shig Tokubo, Ed Nelson, Cliff Plopper, and a young woman—I can't remember her name. They wrote GOB.

CM: Oh, yes!

GAM: And that went onto the 6600. GOB was ready to run when the 6600 was rolled in, so it got a shot every day. We had built some Teletype concentrators so that you could get at the machine from a Teletype.

CM: This was new to me, so I decided to get involved. I was still on CEL, and Bill Noh left me alone. I got the CEL code from Shirley Campbell and compiled it using the timesharing system.

GAM: Oh, yes. Yes. Shirley was a marvelous woman.

CM: Yes. Most of the time that I was there, she was the highest paid programmer in the whole department.

GAM: Really?

CM: That was her reputation. I mean, she was really good. I don't know whether she's alive. I don't know.

GAM: Nor I. I can't find her.

CM: Okay. I suspect she's not. I think I've heard that somewhere. I took advantage of Noh's leaving me alone to do what I wanted. I wanted to use the timeshare system. I remember that there were remote terminals at the early part, and I would just sit at the Teletype in the computer room. I would start it up and the poor operators would have to hang four tapes. And then it would crash!

People like Shig liked me because I was able to give them feedback on what was going on from a user's perspective.

GAM: Yes, you were debugging their code.

CM: That's right. And I liked it, because I was getting to do something new, sort of at the head of what's going on at the Lab, a little bit.

GAM: Yes.

CM: I didn't know where timesharing was going. I didn't know where computers were going. But that looked like it was sort of fun, so I worked on that. That was fun. It was interesting. Somewhere along the line, Bob Abbott went to San Francisco.

GAM: Yes, to work at the Presbyterian Medical Center, I think it was called then.

CM: Right. And he was there about a year or so.

GAM: He and Jerry Russell.

CM: And I followed them. Jerry Russell started it.

GAM: Oh, you went over there?

CM: I was there for four years. That's why I left the Lab.

GAM: Oh!

CM: It worked out fine. When I told Sid, I said, "you know, I just want to do something else". He said, "You could have done it here." He said, "You can come back any time you want." He was always nice to me. Sid was fine—to me.

GAM: Good! Well, he even hired me back in spite of all the trouble I'd caused him.

CM: What do you mean, "hired you back"?

GAM: Well, I left and went to set up a Computer Center for Haverford, Bryn Mawr, and Swarthmore colleges, outside of Philadelphia.

CM: Oh, yes—I remember that now.

GAM: I took David Bailey with me. And I took Charlie Springer with me.

CM: I remember that!

GAM: And, anyway, I couldn't stand it back there. So, I quit, and then I called Sid up, and I said, "I don't have a job." He said, "You can come back."

CM: Was he mad at you because you took some people with you.

GAM: No, he was mad at me because I always fought with him. You know, I was always trying to do something that he didn't want to do, and for not doing what he wanted me to do. I mean, I probably have the record for being thrown out of his office the most.

CM: Really. I didn't know that.

GAM: Norman and I were trying to sell him on OCTOPUS, and at first, he wouldn't buy it!

CM: Oh.

GAM: Then, the story is that he went back to Washington, and somebody was complimenting him there on the vision of OCTOPUS—you know, the multiple access, shared-resource, and stuff like that? So, he came back and said, "Hey, that's okay!"

CM: Norm, too? He never threw Norm out!

GAM: Well, he told Norm, "Don't come in here any more demanding things".

CM: Really!

GAM: Yes, Norman was complaining about Hans' distracting the FORTRAN programmers that were supposed to prepare stuff for the 6600. So, Norm went in, and told Sid he wanted the women left alone so that it could get done. And Sid said, "Okay, but don't come in here any more!"

CM: Well, Hans was his boy.

GAM: Yes. Well, Hans was very effective. You know, he almost single-handedly served B Division. He ran the MONITOR for them. That was a batch system that B-Division really liked.

CM: Yes, I think after I left, I realized that Hans had served a good purpose. He just was hard on people, I thought. I was quite sure of that. He certainly served a purpose for Sid.

GAM: He was very effective, no question about that. Let's see now—you left the Lab, and went off to Presbyterian Medical Center in San Francisco?

CM: Yes, I was there four years. Shall I continue going over my career there? It has nothing to do with the Lab.

GAM: Well we can chat further about your career, but you're right; that doesn't have to be part of this interview, so let me sign off here by thanking you for your memories.