Reg Harbeck: Hi, this is Reg Harbeck and today I'm here with my friend and colleague Charles Mills who has written all kinds of applications both on the mainframe and talking to the mainframe and just been really involved in the whole journey of the mainframe. Well before telling you all about him myself, Charles why don't you introduce yourself to us and tell us about how did you end up on the mainframe? Tell us about your journey.
Charles Mills: Thank you Reg. The journey starts believe it or not in 10th grade. I had this kind of freewheeling, talk about anything geometry teacher named George Belfante and one of the things he used to talk about—this is about 1960 or so—was about programmers and the big bucks they made. I had no idea what programmers did but it kind of planted a seed. So anyway I go on from there. I go to college. At that point at least the college I went to didn't have any computer science or anything like that. I was a chemistry major. I actually dropped out—dropping out I got drafted. I got out of the army in New York City, 1967. The System/360 had been announced three years before and that had really caused an explosion of interest in companies in owning a computer. Company presidents—they didn't say CEO then—presidents I think thought “if you ain't got a computer, you ain't a real company” so there was a lot of interest in computers.
I fell in with two computer programmers on work study from Oberlin College out in Ohio. She worked at Horn & Hardart the automat people if I recall correctly and he worked at a little boutique contract programming firm, real exotic stuff. They were writing PL/I on a 360/65 for the IBM 2250 graphics terminal which was a beast of its own. This was very, very state of the art stuff which is another way of saying it never exactly worked! But I would bug them: “Teach me to program; teach me to program; teach me to program” and I think maybe having a little fun with me, they gave me an IBM FORTRAN II manual, FORTRAN II Language Reference and said well just read this and you'll know how to program. Well son of a gun I came back—I don't know—two days later with a FORTRAN program and about two compiles and two tests and the thing ran.
Reg: Nice.
Charles: So they were kind of impressed. I was really hooked. I wanted to be a programmer. I applied for a job with that boutique programming firm but I wasn't, you know, hip enough for them. I didn't have a computer science degree and stuff so they said nope. So I spent a year in New York City hunting for a job. I had no experience, no credentials. I probably had poor job hunting skills. I was finally hired by what was basically a predecessor to Kraft Foods as a DOS/360 (which is what became VSE) a DOS/360 sysprog trainee. I worked for a guy I really liked and I learned a lot. Then he quit after three months so there I was in the deep end of the pool all by myself and that's when I really learned a lot. So that's where I really learned Assembler and so forth. Meanwhile my two programmer friends moved to San Francisco. I think they were chasing the Summer of Love. I followed them about two years later and incidentally, digressing here, she went on to become the pioneer female hacker.
Reg: Oh.
Charles: She was the goddess of female hackers. If you search the internet for Jude Milhon you can read all about her. Anyway I got a job with a small contract programming firm. I did some interesting projects. I think the most interesting thing we did: we wrote an online system for Blue Cross of Northern California. Now this is before CICS—
Reg: Oh.
Charles: So you know we wrote out own tasking, our own terminal management, everything. We were getting sub second response time on 123 terminals on a 360/50.
Reg: Wow.
Charles: Now to put that in context, the 360/50—I looked this up for the interview—it’s about a 150 KIPS machine, not MIPS, KIPS. 150 thousand instructions per second. You know that’s way smaller than an iPhone so picture an iPhone with 123 terminals on it. People thought this was kind of amazing but when you write efficient Assembler code and write knowing what you’re doing, you can do kind of amazing things. As time went by, the owner—I don’t know—the owner of the company got severe depression or a nervous breakdown or something. He stopped coming into the office. He stopped returning client phone calls so I was sitting in the office everyday by myself doing nothing, answering the phone from clients who said we need you to do X; we need you to do Y and me saying well I can’t agree; I can’t make contracts; I’m an employee here; call my boss. They said we’ve called your boss. He doesn’t return phone calls and so forth so I got frustrated of course with that and I quit.
I said what do I have to lose? I quit; I started calling—I’ll admit it was his customers—calling back and saying I’m free; I’m on my own; I can do your project—and so that’s how I got going in the contract programming business. I did a number of System/370 projects for San Francisco Bay area clients. At some point it seemed like that mainframe work kind of dried up and I did some other stuff. I subcontracted a bunch with a guy named Ralph who had a relationship with Datapoint. Datapoint made a small computer, basically a PC is what you’d call it today, a single unit an integrated screen, cassette reader, keyboard. Datapoint was founded by people who had been fascinated by the Intel 8008 project and implemented the 8008 instruction set on a board.
Reg: Oh.
Charles: Intel wasn’t getting the yields. Intel had essentially invented the computer on a chip but hadn't succeeded in making it and so it's the 8008 instruction set but implemented on a board not with an Intel chip. Another guy there and I wrote a 3270 emulator for Datapoint. Datapoint sold that 3270 emulator as the Datapoint 3270 emulator. Another quick side note: a woman who worked for Ralph introduced me to my future wife so I guess it was a successful project! I did a whole lot of work on the IBM Series/1. It was a 16 bit minicomputer; you know everybody had a 16 bit minicomputer. PDP-11 is the most famous but Hewlett Packard, Data General, all those people had 16 bit minicomputers. IBM's was way behind its time. They—they released it in 1976—
Reg: Oh.
Charles: And the minicomputer was kind of an animal of the 1970's. It was the period I think of the worst IBM internal sclerosis. I think IBM had probably created the darn thing in 1968 and then spent 8 years going “well does it step on the System/360's toes? Well does it step on the System/3's toes? (System/3 was the predecessor to the AS/400, basically.) Who is going to sell it? The Data Processing Division or the General Systems Division?” By the time they released it, you know it's almost 1980 with the IBM PC: the era of the 16 bit minicomputer had pretty much passed. It was never a real successful product. Of course they sold a bunch of them: it was IBM. They sold a bunch of them but it was never a real successful product. I did a bunch of Series/1 contract work for Lowe's companies, the home center chain. I am friends to this day with my contact at Lowe's. He's long since retired of course but I was down in July visiting him, seeing him. That's how close we are.
I wrote a lot of Series/1 code for an auto parts distributor in the Bay Area. They had eight warehouses scattered across California with a Series/1 in each one. I wrote a wide area networking system that let them do system management, all their system programming chores from their central office in the Bay Area for all these machines out there. It worked pretty well. At some point I decided this was a product that could be sold. I named it RSS: Remote—I think depending on the mood it was either Remote System Support or Remote Series/1 Support. There was a Series/1 software house in San Francisco. I partnered with them; they were selling it for me. The Series/1 market was a struggle. They were modestly successful with it. They sold maybe 20 or so licenses.
One licensee was Montgomery Ward in Chicago. That's significant because I got a call then from an IBM salesman in Chicago. He said “are you the guy who wrote this RSS thing?” I said “yes I am.” He said “well I need exactly the same thing for my customer Carson Pirie Scott another department store chain in Chicago” and to get the scope of the thing I said “well how many Series/1's does Carson Pirie Scott have?” He said “they don't have any. It's IBM mainframe to PCs attached with an IRMA Card.” IRMA card was a 3270 emulator on a board that went in a PC. This is I guess the salesman's definition of the exactly the same thing as Montgomery Ward! So I went to my partner, the Series/1 company, and I said I've got us the opportunity to get out of the Series/1 market. I've got someone who wants this product converted to the IBM mainframe and the IBM PC. Those are the two premier data processing platforms. We can be out of the Series/1 market and onto something with some vitality to it. They said oh, we're a Series/1 house. We have no interest in the mainframe. You go for it. So I did.
It turned out what Carson Pirie Scott wanted was not networking at all. What they wanted was push file transfer, mainframe pushing files out to PCs. There were interactive download products around at the time. You think of IND$FILE or what's properly PC3270 File transfer: I'm going to sit at my PC and download a file from the mainframe and plug it into a spreadsheet. This was the opposite of that. This was batch jobs running on the mainframe pushing files out to PCs typically in the middle of the night. You know it ran over the IRMA card. I knew the 3270 data stream from having written that Datapoint emulator. Well they liked it so much I named the product Outbound and I started selling it. I was pretty darn successful with it. We sold ultimately about 300 enterprise licenses for that thing.
By 1998 my company had grown to 17 employees. We were doing well. It was driving me crazy. I love coding, Reg. I loved my customers. I loved my employees. I hated managing a company so I got an offer —an unsolicited offer to buy the company from Art Allen at Allen Systems Group, ASG, in Naples Florida. They're a kind of a mini CA, a software company roll-up, so I sold the company to them. I could have retired. It was enough money that I would never have had to work again if that's what I wanted. I wasn't fabulously wealthy, you know no Maserati's for all the girlfriends or anything—but it turns out I liked working so I went to work for Art Allen and ASG.
Art asked me what I wanted to do. He said you want to manage your old company? I said Art if I wanted to manage my old company, I wouldn't have sold it to you. We were perfectly successful and everything. It was managing it that I didn't like. So I said ASG is not really a software company. You're really an acquisition company. You call yourself a software company but your real business is acquiring companies and he said you're right. I said then that's what I want to do. I want to do what ASG does. I want to acquire software companies. I had a great four year run there. I flew around with Art on a corporate jet which if you've never done it is a great way to travel and mostly did technical due diligence on companies Art wanted to buy. Art basically wanted to buy every company in the world. Art has a good intuitive grasp of technology but I was very good at explaining it to bankers which is necessary, and talking to technologists and explaining what they said to lawyers. I did a lot of vetting of intellectual property: How did you guys come to write this software and listening very closely to the answer. Believe it or not, we had a couple of problem companies. We had a company we looked at in France where the employees had been working for a guy and he owned the intellectual property but I guess he was very poor at managing the company so the employees has just picked up the source code and ran across the street to some other company –but that doesn't give them the right to resell the code you know.
Reg: No.
Charles: But we straightened that out. I believe we bought the rights from the original guy and hired the employees that knew how to sell it. I had one where—where I talked to these people and I said well this product here. Where did that come from? Did you guys write that? They said oh no, no. We were selling it for a guy and paying him royalties and then he passed away so we've just kept on selling it. You know I went to Art Allen on that one and said Art, it's your company. Do what you want but I get a bad, bad feeling about the IP at this place. Art didn't buy it and I don't know two, three months later they were bankrupted by a patent infringement law suit. If Art had bought that, he would have ended up buying that patent liability, so yeah he acknowledged that saved him a couple of million bucks there, but all of that didn't count much in 2002 in the tech downturn and I got laid off.
Over the next eight years after ASG, I did a couple of things, probably the most interesting I wrote a mainframe product for a company called Cloud Compiling. It's a virtual COBOL compiler. It looks in a technical sense exactly like an IBM COBOL compiler, same inputs, same outputs, same DD names, same PARM= but under the covers what it does is it FTP's the source code to an IBM compiler running on another machine, compiles it there and then FTP's the object code back. It's a pure financial play. Cloud Compiling licenses this for exactly 50% of what IBM licenses their COBOL compiler for. So I wrote that.
But in 2010, I got a call from guy I knew very slightly from ASG, a guy named George and he said you know mainframe Assembler right? I said George I dream in mainframe Assembler. Well it turns out he had a company named CorreLog. It was in Naples Florida. He had five or six people working for him. They were all ASG veterans and they sold SIEM: Security Information and Event Management. It's a centralized security console. They'd sold—they were just getting going—they'd sold I don't know five, six, seven, eight systems but they—they'd gotten a deal with a systems integrator in Canada who had contracted with Sears Canada - I can use their name; they're not around anymore - to install the SIEM and connect all their devices to this SIEM. They kind of went to Sears and said okay, ta-da, we're done. All of your devices are connected to the SIEM and Sears said what about our mainframe? The system integrator said you have a mainframe? What's a mainframe? So they'd gone to George and said help us out here. Give us a connector mainframe to SIEM. George had hired a contractor to write it. Now this is tricky code. It runs on the SMF exit in z/OS. It runs key zero. The code gets reentered on multiple processors. You don't have any SVC's available so you can't do ENQs and that kind of thing. It's extremely tricky code and when you get it wrong, you crash z/OS.
Reg: Oooh.
Charles: That's what it was doing. It was crashing z/OS—
Reg: Oh dear.
Charles: Four or five times a day. It's not Windows!. That's not acceptable! So George said can you fix this? And George said oh by the way the contractor is not returning my phone calls. Well as I kind of figured out later George has—he's a good guy. I love George. We're still in touch but George has kind of a management style of management by screaming and I think that's why the contactor wasn't returning his phone calls. He was tired of getting yelled at. So could I fix it? I looked at the code. There was a—it was fundamentally flawed but I could see where the timing window was that was causing it to crash. I said I can't fix it George but I can make this timing window a whole lot smaller which is what I did and that really improved it. I got down to about two or three crashes a week which is still totally unsatisfactory but it's better than four or five a day.
Reg: Yeah.
Charles: George was impressed enough that I was hired to write a replacement product. I wrote that. It was real successful for CorreLog. We became I think the premier SIEM connector for z/OS. I'm sure we've got a couple of competitors who would dispute that but I think it was the premier product for connecting z/OS to a SIEM. BMC thought so. BMC approached CorreLog in 2018 and bought all the technology.
Reg: Mm!
Charles: A condition of the deal—it's written right into the contract, half inch thick contract, a condition was I had to accept employment. Nice company, nice folks, great folks, good to me. I quickly figured out a big company is just not for me. I read over the contract. I had my lawyer read over the contract. I read over the contract again. I had my lawyer read over the contract. It said I had to accept employment. It didn't say how long I had to stay. So 30 days into this job I gave them 90 days’ notice. Now I'll tell you something. Don't ever give anybody 90 days’ notice. That just gives them permission to have 60 days of denial followed by 30 days of panic. I should have given them 30 days’ notice. They could have gone straight to the 30 days of panic! I could have saved them two months! So I left BMC in 2019. We're almost up to the present. I'm still working with that virtual COBOL compiler company. I'm doing some education stuff. I did a really popular—it was so popular they repeated it—webinar on certificate technology for NewEra Software. I’ve got a webinar coming up day after tomorrow for them on Zero Trust and Zero Trust Architecture which is kind of the buzz word of the week, the security buzzword of the week and I'm working with a couple of partners on a new product. It's a little bit premature to talk about it too much but we can say it's in the mainframe space; it's in the mainframe security space and it's in the mobile to mainframe space and that's all I can say. That's about it Reg. We're up to Monday October 11!
Reg: So I'm going to guess that if somebody wants to find out about your new product when it goes GA that one of the places they might find out is one of the places you're most active which is the IBM-MAIN email list. Are you planning to let them know when this product whatever it does GA?
Charles: Absolutely Reg. I will let anybody know who wants to listen.
Reg: Okay, cool.
Charles: I'm kind of the technology guy, not the marketing guy in the group but I would expect we will use every avenue available.
Reg: Okay, great. Well you know this has been absolutely excellent Charles and I know you've done a very abbreviated summary of all that you've done for us just to keep it within a reasonable amount of time but I'm going to ask you to talk a little bit longer because I really want to hear what does the future of the mainframe and the mainframe ecosystem look like from your perspective if you have anything to say about it?
Charles: Oh man. Reg, it's tough to forecast the future. That's something I learned a long time ago.
Reg: Sure.
Charles: It's very tough to forecast the future. If you said to me what are mainframes going to look like in 20 years and I tried to tell you, if I'm right, they're going to look like that in three years and if I'm wrong, they're never going to look like that. It's very hard to do forecasting but—but I'm excited. You know I’m looking. I'm eager to see what does come down the road. You know I'm just as crazy about coding now as when I wrote that first FORTRAN program and I'm—I'm looking forward to what IBM seems to be going in two directions with the mainframe and both of them are good. I'm excited about the rumored zPDT Learner's Edition. The mainframe so needs an economical entry point. You know you can learn generic UNIX for free. You can learn Windows almost for free. You want to learn System z? It is somewhere between difficult and expensive you know. Guess what people are doing? They're learning UNIX and guess what? We have a critical staffing shortage on Z so I think—I think this is absolutely the right direction. On the other hand I'm excited by the Telum chip, you know the new chip architecture. It looks like the biggest enhancement or whatever to the system—to the Z architecture so I'm really looking forward to seeing what that's like. I'm going to a disclosure on that a week from today Reg so I'll know a little more but I won't be able to tell you.
Reg: Yeah. I don't want you to shoot me.
Charles: I wouldn't do that.
Reg: Okay well Charles this has been absolutely outstanding and obviously you are a person that just has an amazing amount to share so if people want to reach out to you and chat about any of this or anything else further and just kind of pick your brains or even if you have an idea for something you'd think you like to do, how do they reach you?.
Charles: You know Reg I've never been sorry giving out my email address. I put it on—on presentations and stuff and no one has ever abused it. I hope this won't be the first but you can reach me by email CharlesM at MCN dot org.
Reg: Cool. Well you heard it here first and so Charles with that I guess I'll just mention that I'll be back with another podcast next month but in the meantime check out the other content on TechChannel. You can also subscribe to their weekly newsletters, webinars, e-books, solutions directory, and more on the subscription page. I'm Reg Harbeck.