Sean Parent

So much so that I you know we weren't paying attention to the time and I missed my flight back down to Southern California. I'm actually still angry about the whole thing.

Conor

Welcome to ABSP the podcast, episode 27, recorded on May 19th, 2021. My name is Connor, and today with my co-host Bryce, we continue our conversation with Sean Perrin and get into some epic stories about Sean Perrin's time at MacHack and how he got hired at Apple. So yeah, I've I've heard um I'm not sure if I've heard about every single one of these stories, but I've definitely heard of a couple of them. Uh so Sean, if you can take us back to, I think it's 1988, 1989, and tell us your MAC stories, because these are these are awesome.

Bryce

But first, Connor, how old were we in 1989?

Conor

That's not uh We both weren't born.

Sean Parent

Yeah, my I think my youngest son is older than both of you guys. So that's uh something. Um uh yeah, so so a little background, I guess, here at you know, in that time frame, uh I had graduated from Seattle University and was trying to get established with a career. Um I landed a job at a little company called Orange Micro. Uh they were uh uh hardware manufacturer down in in Anaheim. Uh they were known for something called the Grappler, which was a parallel card to plug in printers into an Apple II. And they were pivoting and doing these smart cables for Macs. So it was a uh serial cable you could plug into a Mac, and in the cable it did serial to parallel conversion and escape sequence conversion, and would let you print to Epsom printers uh, you know, or non-Apple printers, uh which sounds silly these days, but that was a problem at the time. Um and so so I spent some time doing doing firmware on this, and then kind of pivoted and said, okay, well, I could do um uh uh print spooler, and this was before the Mac had multitasking, and so I basically had to figure out how to write a multitasking system for the Mac so I could go to render graphics and uh and uh print in the background. And uh then the once I kind of had that going, it was like, oh well now I can take over a lot of what was on the uh done in the little firmware and we could handle more complicated cases. So so we had like the first solution to plug a Mac into uh an HP LaserJet or an HP Deskjet printer uh to use one of those laser printers instead of Apple's laser printer, which which was ridiculously expensive at the time because it had a more powerful computer than the computer you were using in in order to run PostScript to render graphics. And so that's what I was doing, and then you know I asked my boss, I said, hey, there's this conference uh called the Macintosh Technical Conference in Michigan, and could I go? And so he was like, sure, you could go. So so the the the the alternate name for the Mac Macintosh Technical Conference was uh MacHack, and this was in in Ann Arbor, Michigan.

Bryce

And was the was this run by Apple?

Sean Parent

No, no, it was it was independent, it was run by the the MacHack group, and the people who ran the Hack Contest, which is what it what it was known for, uh, were uh uh Scott Boyd and Greg Marriott. So they ran the hack contest, and and the one rule at the hack contest was that Scott and Greg make the rules. Uh uh but the the hack contest kind of dominated the conference, and so the conference was a technical conference, and people presented papers and gave talks and and and there were a couple of tracks. It was a relatively small conference, a couple hundred people. And uh they would invite in a keynote speaker. They had some some really amazing keynotes over the years. Uh the keynote always started at midnight on the first day of the conference. And the conference ran three days, so it was 72 hours. And the the keynote speaker would start at midnight and could talk as long as they wanted to talk. And I think the record holder was uh uh uh Ted Nelson. Uh I don't know if you guys know who Ted Nelson is. I did not. Uh uh Ted Nelson invented the concept of hypertext kind of pre before there was a web and um uh worked on a project called Xanadoo, uh, which is where a lot of the ideas for the modern web came from. Uh but Xanadu was kind of this nutty system uh where you had links were bidirectional. So if you created a link to something, then you it wasn't just to the thing, but the thing that you linked to could also get back. So it was like you know, built in Google search into the links. And this was I don't know, this was maybe eighty-eight, eighty-nine. Uh uh uh Ted Nelson gave this talk on Xanadu, and this was way before the web existed, and talked for probably six hours. You know, so from like midnight till six a.m. And I thought the the man was brilliant but completely nuts. Uh, you know, he put up all these slides going, you know, we're gonna build this, it's gonna be this, you know, worldwide system, you'll be able to link to anything anywhere. Um one key feature of of Xanadu was there was no deletes, so you had like full history of everything. And and everything was distributed, you know, in the cloud. You literally would use the term the cloud. And uh and you could get and you know, you would put up all these graphs about there was no reason why we would ever need to delete anything because the the cost of storage um uh was falling so rapidly and on such this such the sharp decline uh uh that you know all the the textual information that had ever been produced by mankind could be stored and replicated within this cloud um uh uh without breaking a sweat, especially since you know if you copied and paste, those were just links and you weren't actually copying anything, and so so it tended to be a pretty pretty dense format. And what he didn't anticipate was video and the amount of storage space that you know video and audio circulating on the on the web would take. Uh but otherwise he was he was pretty sp spot on. But yeah, so in any case, I went to to my first MacHack in in Ann Arbor, and this would have been eighty-eight. Yeah, would have been eighty-eight.

Conor

So that was the f that was the first one that you saw Ted Nelson speaking?

Sean Parent

Uh I don't know if he was at that one or he was the next year.

Conor

Uh I think he was probably the next year. So and how many years had MacHack been going like had you this had been on your radar for a while, or you'd found out about it at rather recently.

Sean Parent

There had been maybe one or two before that. I could probably look it up, the the the history of MacHack. It was not the first MacHack conference. Uh so I went and, you know, relatively young guy and didn't know anybody uh was working at this you know small company, Orange Micro, when I had hired in, they had just gone through a restructuring, and I was the only software person at the company. Uh and so went to the conference and decided, well, I'm gonna do a hack. And the idea with a hack was uh you should come up with the idea for the hack while you were at the conference. Don't bring code. Uh code it while you were at the conference. Hacks should be collaborative, uh, they didn't have to be, but you know, get a group of people together to work on your hack. And it could be anything that demoed well, right? So uh so I had an idea for a hack to do uh a floating clock on the on the Mac. And uh this was before Mac had multi-finder, so Mac was, like I said, it was uh one app at a time, no threads, you know, single tasking system. And and but I just wrote this print spooler, so I knew how to get code to run in the background and draw graphics in the background. What I didn't know how to do uh uh was overlay something on the screen. We didn't have window compositors or anything like that. The screen was just a big bitmap. And and the Mac had a uh uh you know windowing system built on something called Quick Draw where you could carve out regions, right? So kind of uh uh uh a window was described by a region, which was a compact data structure to represent a bitmap and as a set of inversion points. And uh so I needed somebody who knew about regions. And there was a guy at the conference whose name I knew, Darren Adler, he had written some articles for a magazine called MacTutor, which later became MacTech. Uh he had written articles about how the window manager regions worked and doing things like how how you could draw circular windows. And I thought, okay, he would know how to hack into the window manager so that we could get this clock floating on the screen. And so he worked at Apple. First day there, I approached him at lunch and said, you know, you don't know me, and and I've got this idea for a hack. Do you want to work on it? He said, that would be great. And so we ended up spending most of the time in I don't even remember if it was his hotel room, but it was, you know, one of the Apple people's hotel rooms uh uh uh working on this hack. And he had brought a computer, you know, you didn't have laptops at the time, so I didn't bring a computer, I actually brought a printer, an HP deskjet, uh to show what you could do with that. Um we didn't have any copies of Inside Mac, which were the the Macintosh manuals in paper. So to figure out like the OS API calls, we were sitting in what's known as Macsbug, which is the the Mac is is an acronym for Motorola, it's not actually Macintosh, uh, but it was a a low-level um you know assembly language like GDB or LLDB uh debugger. Uh so we were figuring out API calls by setting breakpoints on OS functions and watching how the parameters were passed to figure out what the parameters were. And we you know wrote this system extension that pulled off this floating clock and uh and it would not only float over windows, it would float over menus, which at the time the menu system went through kind of a completely different mechanism than the windowing system and even over the menu bar. And so it was i i it was a pretty impressive hack. And uh uh we took third place and because I had brought a printer and there were no other printers at the conference and we had to do things like print ballots, you know, for the hack contest, um uh, you know, I also got an award for the best commercial hack for uh uh for for my work on the on the grappler.

Bryce

Wait, if that if that only got third, then what what could have possibly gotten second and first? Because that sounded pretty impressive.

Sean Parent

Yeah. Uh you know, I don't remember what got f you know, first or second was probably something called net train. Um uh, you know, most of the things, you know, because the who got first or second was based off of what showed well. And the last night you had uh, you know, you you you had this everybody would stand up on stage and present their hack, and so there was a fair amount of showmanship involved in in into who the winner was going to be and flash for the hack. And you know, a floating clock is fairly utilitarian. Uh uh I'm fairly notorious for you know, I I uh uh uh uh never won best hack, but I think I was, you know, in the the top three without winning the best hack more than anybody. So because I always wrote useful things, and those just didn't show well. But um yeah, one or two was I think something called Net Train, which was a train, like uh you know a literal animation of a train uh uh that would go across your menu bar and it would go from machine to machine on an AppleTalk network. And so so it understood, you know, Appletal networks were daisy chained, and so it actually understood the topology of the daisy chain, and so would basically go from machine to machine following the cable around the network. So that's that's pretty cool. We ran that for a little bit better. Yep. Uh so so that was so that was kind of my first experience. And from that, you know, I ended up spending all this time not with Darren, uh not just with Darren, but with Scott Boyd and and Greg Marriott, who were also from Apple, and they were the ones who ran the hack contest. And to this day I consider Scott you know one of my my you know closest friends. And and spent all this this time working on this hack with with Darren and impressed Darren, and like two weeks later I got a phone call from Apple and and because Darren had had passed my name along. And so that turned into me uh uh getting a job at Apple.

Conor

Did we did we tell that story last time? I don't know if we told that story last time.

Bryce

I don't think we covered Sean's Apple era yet.

Conor

Oh man, because this I'm not sure if there's more MacHack stories, but if if if because this is like one of the best stories, this is one of my favorite stories is the how you got a job at Apple. Um the interview process. Um so it's your it's your choice. If you if you have more Mac hack, uh we can do more MacHack, or you can you can uh we can take a tangent to um how to get a job at Apple uh and everyone can take notes. Yeah. This is the this is the surefire way to get a job at Apple.

Sean Parent

So so uh right, so after this first MacHack, um a couple weeks later I get a phone call from Apple. Uh they want to bring me up for interviews, and this was for kind of the next generation printing team at Apple for a project that eventually became uh QuickDraw GX. And so this was the printing side of QuickDraw GX, which was going to be, well, it shipped, it was going to be Apple's new uh new graphic system. And uh and oddly, the code name for QuickDrawGX is SKIA, which some of your listeners might recognize because that's the graphic system that's in WebKit. And so two of the principles on QuickDraw GX were Mike Reed and Carrie Clark. And uh after QuickDraw GX uh uh was canceled at Apple, Carrie and Mike Reed started their own company doing a 2D graphic system and sold it to Google, and so that's where Skia comes from. And and I discovered this history oddly, you know, a decade ago when I worked briefly at Google and was working on Chrome OS and the graphic system was skia, and I was like, well, SKIA, that's an interesting coincidence, and then I opened the header files and I'm like, no, this is actually Skia, like I worked on this graphic system. How bizarre. Uh so uh uh yeah, so in any case, so so I I get this phone call to go work on on QuickTriGX, and they want to interview me. Uh Will Stein, uh who I think is back at Apple, still at Apple, uh, was the the hiring manager. And so I flew up and and spoke with some people on the team, and my last interview of the day was with Will. And Will and I sat down and I told him what I had been doing at at Orange Micro as far as kind of you know hacking these uh this printing system. And one one of the tricks that I did was to get this printing system to work. I actually used Apple's uh printer drivers to do the the rendering. Um uh I would just lie to the printer driver about the size of the page to get different resolutions for pages and and leverage it. But a big problem you had at the time if you were changing scales or resolutions was that fonts were all bitmap fonts at the time and all hand-tuned. And that means that fonts didn't scale linearly. So if you if you doubled the point size of your font, it didn't take up twice the width. Um uh uh and so that creates this problem called line layout. And so if you think, you know, uh an application is sending information to the printer by making a whole bunch of graphics calls to draw runs of text or to draw characters, uh uh, but the printer driver would have to make that look correct as it scaled it up, and so to do that it would have to figure out what was a line of text, and then uh basically re-justify that line of text so that the endpoints hit at the at the at the same spot. And so line layout was a fairly complicated algorithm. And so Will asked me in the interview to describe how line layout worked. And so uh so I said, well, you know, the image writer LQ driver, uh, this is how line layout works. And I kind of walked uh walked through the algorithm a step at a time. And he said, No, you're wrong. I wrote the driver, and uh that's that's not how it works, and he gave a different description, and I was like, I don't even think that that would work. No, I've you know I've been in this code, I've stepped through this code, I've taken it apart, you know, f at the assembly language level, uh, you know, I know exactly how this algorithm works, and and you're mistaken. And and we got into a very heated argument about about the the details of this. And uh uh so much so that I w you know we weren't paying paying attention to the time, and I missed my flight uh uh back down to Southern California. And so you know, after we kind of wrapped it up, it's like fine, we agree to disagree, we just have this big argument. I'm actually still angry about the whole thing. I go to the airport, and now I have to arrange another plane and sit at the airport and you know wait for another flight, and and so you know now I'm sitting at the airport thinking, oh, I just completely blew my chance of of working at Apple. Uh uh, you know, I just got into this heated argument with my hiring manager about how what he was you know that he was wrong about code that he wrote himself. And uh so you know flew back down to to Southern California and went into work the next day, and bright and early in the morning my f my phone rang and it was Will, and he said, uh, he was calling to apologize about the argument, and he went back and looked at the sources after our argument, uh, which I thought was somewhat impressive, because I think it was probably six o'clock in the in the evening by the time we were done, so he didn't just go home, he actually went back and pulled up sources and read through them. And um and he said that, you know, he told me that that I was right, that uh it worked the way I had described, and and I was hired.

Conor

So if anyone has a better hiring story, please reach out to us. We'd we'd like to have you on the podcast.

Bryce

Uh I don't recall if it was a hiring story, but I recall there's another Sean story where I I recall you you say you say something to somebody along the lines of uh uh something like uh some somebody was telling you that something couldn't be done and you were like, well, hire me and I'll come do it for you. Was that that was that this particular one or was this another one?

Sean Parent

No, that was uh that was a much more political thing. Um uh uh that you would have to you know fast forward until after I left Apple. So you know I I left Apple after five years and went to Adobe to work on Photoshop.

Conor

We'll stop it here. Thanks for listening, and be sure to tune in next week for our final part, part three of our conversation with Sean Parent, where he talks about his history with Steve Jobs.