Spolsky: It's your Skype buddy
Atwood: Yeah, we're Skype buddies. That's awesome. Someone on Twitter told me to say hello to you.
Spolsky: Oh, hello Twitter.
Atwood: Hello. [laughing] I just do what people, you know, on Twitter tell me to do.
Spolsky: I posted a question on Twitter asking the people what I should get, because I dropped my DVD player on the ground yesterday and it...
Atwood: Wait, wait, wait... You have a DVD player?
Spolsky: You know, yeah—
Atwood: Is that sort like an 8-track player or like a VHS?
Spolsky: Well, it's from the past.
Atwood: Do you have a reel-to-reel tape machine by any chance? Do you have any machines with all those flashing lights on the front that you see at the movies?
Spolsky: Waaaa. [laughing] You think I'm old.
Atwood: Just kidding. Just giving you a hard time.
Spolsky: I had an idea for my StackOverflow question this week is going to be all about computing in the 1980's, so we can talk about being old later. That's foreshadowing.
Atwood: Okay. Well, let's get... Well, we had a... I don't know if you saw, but Alan Kay was on, and we think it's the real Alan Kay too, not, you know, a fake doppelgänger. And he actually answered... I think at first he was doing and ego surf, which is fine, cause I think everyone does that... you just have a search term setup for your name and it alerts you. Which I'm sure, if you are Alan Kay, must have like lots of results everyday.
Spolsky: Keep checking everyday to see if anyone invents anything called the Dynabook.
Spolsky: You are star-struck.
Atwood: Yeah, he posted a question on StackOverflow, which was awesome, which is about significant computing innovations since like 1980, like what would be a significant—
Spolsky: Yeah, that was the question that was going to be my favorite question.
Atwood: Oh, I'm sorry.
Spolsky: Should we talk about it now? We've been foreshadowing the heck out of this thing. That was posted by Alan Kay, really?
Atwood: Oh, yeah, totally.
Spolsky: In a community wiki, how do you know?
Atwood: Well, that's another thing I'm working on. [laugh] We can talk about that too, but let's come back to that. It is Alan Kay, if you click
through the revision history, the first revision was posted by Alan
Kay and, like I said, we believe it is the real Alan Kay, which is
Spolsky: Scientists have reason to believe... This is not an impersonator, because who'd want to impersonate Alan Kay, because you know, if you're
impersonating somebody at least impersonate, like, Jay-Z or, if it's
going to be in computing world, maybe Steve Ballmer or Steve Jobs
or... but not Alan Kay.
Atwood: Yeah, I know. The pathologies of the people who impersonate other people are very unclear to me. But it's obviously some sort of
Spolsky: It's like, "Oh, I'm Grace Hopper!" Really?
Atwood: Yeah, that can happen. So, did you want to talk about that question?
Spolsky: Well, we can come back to that, cause that's like... This podcast is like—
Atwood: We have a certain order we do things and I don't want to... You know I have something else I can talk about, which is—and you mocked me for this, and I would like to point that you're wrong—that we
used. To the Herculian effort of a number of people but primarily
one, Dana Robinson.
Spolsky: Thanks Dana.
Atwood: Yeah, he's a graduate chemistry student at the University of Illinois, Champaign, I think? [UIUC –ed.] But, that's amazing amount of
effort. I mean, I'm just stunned by the amount of progress he made,
and the cool thing us we deployed it, and it also had the top three bug
fixes that were just pending for months, because we didn't really
the obfuscated version.
Spolsky: Was it obfuscated, or just minimized?
Atwood: Well, they're kind of the same thing—
Spolsky: I know minimizing obfuscates, but there are ways to obfuscate that go much beyond minimizing.
Atwood: I guess that's true, I guess you're right. It's not really fair to
call that obfuscated, it's typically minimized, but minimized is
pretty bad, because you don't have variable names. It's still pretty
Spolsky: Different amounts of white space—
Atwood: Yeah, so I guess it's unfair to call it obfuscated, it's just
minimized, but we have a version that is editable now, it's in GitHub.
I'll link it in the podcast notes, so anyone that is interested in that can pull it down.
Spolsky: And they can send you patches, and you'll—sorry, change sets, and you can accept—
Atwood: Exactly. This is the whole distributed source control thing we talked about with Eric last week, which, I agree, you and I are still getting
my head around it. But the cool thing is, I guess one way to look at
it is if you have one contributor that's really outpacing everybody
else, contributing just massive amounts to the project, that sort of
comes the de facto branch you're going to follow. You know what I
mean, like this guy is so far ahead that these branches don't even
matter anymore, I'm just going to pick up Dana's branch, cause you know... And no one really limits him, he just works at his own pace...
Spolsky: My question was, I didn't even realize this was Alan Kays... His question is "What are some of the significant new inventions in computing since 1980?" This must be Alan Kay, because if he thinks 1980 was 50 years ago... [laughs]
Atwood: That's awesome that you were able to identify this, not knowing it was Alan Kay, but the number is 432922.
Spolsky: I'll just list some. The number one answer was the World Wide Web. Number two was the Free Software Foundation. Desktop publishing, color, package management... Wait, how come there's somebody here quoting me? Oh, I see, that's from the transcript. Just-in-time compilation.
First of all, I don't really like this list. If I had to say the significant new inventions in computing, maybe it's not an invention, I would say probably the most significant thing in programming, specifically, is garbage collection, which clearly was invented before 1980, but really didn't start appearing until Java, did not get mainstreamed until Java, 1995.
Atwood: That's one of the lessons of this question, is how much of this stuff we think of as new now isn't really new at all, it's just becoming somewhat mainstream. This is how long it takes.
Spolsky: It takes forever.
Atwood: It takes forever. And we're in an industry where things happens so fast. We're like, "Oh, that's a year old, that's ancient," and yet there are these truly ancient concepts from 20+ years ago. So you forget. You literally forget how long it takes and how old some of this stuff is.
Spolsky: There's still people... Like, Ruby and Python still don't have type inference, do they? This is a technology from the 90's which would make those languages much, much faster.
Spolsky: So, anyway, yeah. They're about 20 years behind academia, usually. It can vary.
What I thought I would do for my answer to this question is tell you what computing was like in 1980...
Spolsky: Because this was a theme about how I'm extremely...
Atwood: You're old.
Atwood: You're not that old. But go ahead.
Spolsky: And crotchety. So 1980, let's see, I was in tenth grade. Well, Ok...in 1979...
Spolsky: OK, you could buy home computers. But the home computers that you could buy were like the Radio Shack TRS-80. I don't think the Apple II had come out yet. Or, maybe...just, 1980? Maybe that was when it just came out.
Atwood: Well, remember that there was the Apple I, which not many people had; Apple II was really the big one.
Spolsky: The Apple I was a kit that you bought; there were only like 600 made.
Atwood: And this came out of the club scene in Silicon Valley
Spolsky: I really with I knew when the Apple II came out...Let's look this up...I'll use the Box Of Knowledge. The Apple II...1977. So the Apple II had sort of come out; It wasn't really starting to show up in people's homes that much. There was the TRS-80. These computers had 16 K. Kilobytes, of memory. And you turned it on, and you were looking at a BASIC interpreter, and you could type a BASIC program and run it. That was just about it. Eventually...when did VisiCalc come out? That's a good question. Because VisiCalc was probably the first program that actually got people buying desktop computers.
Atwood: Oh, it was definitely a killer app. There's not that many killer apps. That's one thing you learn is that there--the killer app is relatively rare. But they're huge events when they happen.
Spolsky: So, VisiCalc, it looks like, 1979? According to Wikipedia here. So that wasn't mainstream; it wasn't yet starting to show up. Mostly, though, home computers were these funny things that you programmed the very simplest BASIC games on. You would go to the bookstore, and you would get a copy of Creative Computing Magazine, and it would give you these games written by David Ahl. And you would type them in, and then the games would be like, "You are on a rocket ship, landing on the Moon. How many pounds of thrust do you wish to use?" And then you would crash into the Moon...
Atwood: I loved those games!
Spolsky: That was the thrill of that thing, and the the TRS-80 came with a big fat spiral bound book with all sorts of games that you could type in. And a typical game would be like, displaying a Robert Frost poem on the screen. That was like, a typical program. And you would spend a lot of type typing in, PRINT... quote... OK, now, was that 8 spaces or 9 spaces? To make it formatted nicely.
And, so, my access to computers was that the schools were starting to get them, and trying to figure out how to use them for educational purposes. And in Albuquerque, there was a single, the whole Albuquerque public school system had a minicomputer, which was a Digital, Model 10? System 10? I'm not really sure; it was a minicomputer. It looked like a mainframe, because it filled up a whole room. It was not a real minicomputer. It was smaller than a mainframe, but, there was a big dedicated room, with air conditioning and stuff, with about eight gigantic racks of equipment, and one of the big super large hard drives, that looks like a washing machine. That was the System 10 and it had an operating system, and the way you accessed it was on these dot-matrix terminals that were Teletypes. So, you had a keyboard, and a print head, and it printed everything you typed. A dot matrix, on fan fold paper. And you typed commands and you hit enter, and it would execute the commands and print back the results to you. I think the operating system was called SOS? Maybe that was the editor that we used, SOS? The operating system was, R S T something, Rasta-something? Someone will have to write in. And these things could support about 20 or 30 kids, all sitting at different terminals, typing in their BASIC programs, which is all you could really do, is type in those same BASIC programs.
Atwood: There's a whole generation of programmers that grew up--I was certainly one of them--with these books, where you literally learned to program, because you wanted to have something to do with the computer. It was like, "Here's a computer! Do...something!" And that something was like, "Let's have fun". Let's try something fun that will entertain me, like a game. You would type in your own games.
Spolsky: And when you turned them off, they were lost.