1 00:00:00,000 --> 00:00:11,980 2 00:00:11,980 --> 00:00:13,460 Well, good morning. 3 00:00:13,460 --> 00:00:16,720 My name is Steve Ward, and I have the intimidating honor 4 00:00:16,720 --> 00:00:19,580 of chairing a panel of distinguished Turing Award 5 00:00:19,580 --> 00:00:20,080 winners. 6 00:00:20,080 --> 00:00:23,170 As you know, the Turing Award is the most prestigious award 7 00:00:23,170 --> 00:00:25,300 available in computer science. 8 00:00:25,300 --> 00:00:30,610 And our panelists include Professor Andrew Yao, 9 00:00:30,610 --> 00:00:34,510 who has been on many faculties, including MIT's, and is 10 00:00:34,510 --> 00:00:39,880 currently from Tsinghua in Beijing. 11 00:00:39,880 --> 00:00:43,930 MIT's Ron Rivest, and MIT's Barbara Liskov, 12 00:00:43,930 --> 00:00:48,970 and Butler Lampson, who hails from both MIT and Microsoft, 13 00:00:48,970 --> 00:00:53,770 and Professor Fernando Corbató of MIT. 14 00:00:53,770 --> 00:00:58,900 I thought we would get started by asking each panelist in turn 15 00:00:58,900 --> 00:01:04,810 to say a few retrospective words about the work that earned them 16 00:01:04,810 --> 00:01:08,230 the Turing Award, perhaps shedding 17 00:01:08,230 --> 00:01:09,760 a little light on their motivation 18 00:01:09,760 --> 00:01:12,100 and what their retrospective view is 19 00:01:12,100 --> 00:01:14,230 of the impact of their work. 20 00:01:14,230 --> 00:01:18,440 And I thought we would do this in kind of chronological order. 21 00:01:18,440 --> 00:01:25,330 So I'll start with Corby, who was cited for pioneering work, 22 00:01:25,330 --> 00:01:27,160 organizing the concepts and leading 23 00:01:27,160 --> 00:01:30,370 the development of the general-purpose, large-scale, 24 00:01:30,370 --> 00:01:32,320 time-sharing, and resource-sharing computer 25 00:01:32,320 --> 00:01:35,290 systems CTSS and Multics. 26 00:01:35,290 --> 00:01:37,260 Corby? 27 00:01:37,260 --> 00:01:39,220 Thank you. 28 00:01:39,220 --> 00:01:43,120 Well, I'm reminded that-- 29 00:01:43,120 --> 00:01:50,650 first of all-- that it was 50 years ago this spring that MIT 30 00:01:50,650 --> 00:01:54,670 had its 100th anniversary. 31 00:01:54,670 --> 00:02:00,730 And right here, in Kresge, there was a series of symposia. 32 00:02:00,730 --> 00:02:07,540 One of which was chaired by Martin Greenberger of the Sloan 33 00:02:07,540 --> 00:02:14,430 School, who had a symposium called 34 00:02:14,430 --> 00:02:19,500 Management and the Computers of the Future. 35 00:02:19,500 --> 00:02:23,910 That was published eventually in a book by MIT Press, 36 00:02:23,910 --> 00:02:33,600 and it got relabeled Computers and the World of the Future. 37 00:02:33,600 --> 00:02:37,950 It's still in print, actually, thanks to demand printing, 38 00:02:37,950 --> 00:02:41,770 and for $40 you can get it. 39 00:02:41,770 --> 00:02:48,120 Most notably, in that particular session on computing, 40 00:02:48,120 --> 00:02:51,300 there was a lecture by John McCarthy, 41 00:02:51,300 --> 00:02:54,370 who subsequently went to Stanford 42 00:02:54,370 --> 00:02:56,820 and got a Turing Award also. 43 00:02:56,820 --> 00:03:06,450 But his seminal work began here at MIT. 44 00:03:06,450 --> 00:03:11,100 But he, in particular, in his talk in that symposium, 45 00:03:11,100 --> 00:03:17,160 advocated time-sharing and made a good case for it, 46 00:03:17,160 --> 00:03:20,100 and the notion of a computer utility. 47 00:03:20,100 --> 00:03:30,820 Well, the other thing is that computing 50 years ago was only 48 00:03:30,820 --> 00:03:32,690 a little over 10 years old. 49 00:03:32,690 --> 00:03:37,090 10 years old, modern computing that is, programming. 50 00:03:37,090 --> 00:03:41,090 And the thing that was staggering at the time 51 00:03:41,090 --> 00:03:46,670 was how frozen the attitude of the industrialists were, 52 00:03:46,670 --> 00:03:49,790 and the computing manufacturers. 53 00:03:49,790 --> 00:03:51,830 They really didn't understand why 54 00:03:51,830 --> 00:03:56,600 they needed to change anything, and time-sharing 55 00:03:56,600 --> 00:04:00,730 was against the grain. 56 00:04:00,730 --> 00:04:02,990 So CTSS was started out-- 57 00:04:02,990 --> 00:04:07,620 it was almost kind of a hack, it was going to be a demo. 58 00:04:07,620 --> 00:04:11,970 It gradually, as it succeeded, grew and grew 59 00:04:11,970 --> 00:04:14,550 and was quite successful. 60 00:04:14,550 --> 00:04:17,180 61 00:04:17,180 --> 00:04:18,829 One of the other things I would notice 62 00:04:18,829 --> 00:04:23,630 is that time-sharing was the phrase, 63 00:04:23,630 --> 00:04:26,870 but the real goal was man-machine interaction. 64 00:04:26,870 --> 00:04:35,530 Or as Licklider said, man-machine symbiosis. 65 00:04:35,530 --> 00:04:38,690 There were two key people in that evolution, 66 00:04:38,690 --> 00:04:43,810 one was Licklider, who was an inspiring advocate, 67 00:04:43,810 --> 00:04:51,490 and Bob Fano, my friend, who was also very wise 68 00:04:51,490 --> 00:04:59,470 and had the leadership to start Project Mac, from which CSAIL 69 00:04:59,470 --> 00:05:00,865 evolved directly. 70 00:05:00,865 --> 00:05:05,990 71 00:05:05,990 --> 00:05:09,050 Fano gave a presentation in anticipation 72 00:05:09,050 --> 00:05:13,160 of this celebration which is on the web, I believe. 73 00:05:13,160 --> 00:05:16,250 74 00:05:16,250 --> 00:05:20,270 And then finally, a last remark would 75 00:05:20,270 --> 00:05:25,010 be that CTSS and Multics, which succeeded it, 76 00:05:25,010 --> 00:05:29,090 were precursors to the contemporary systems 77 00:05:29,090 --> 00:05:31,340 and networks. 78 00:05:31,340 --> 00:05:39,710 And all of the interfaces and ideas that have shown up now 79 00:05:39,710 --> 00:05:43,340 have set the stage for personal computing 80 00:05:43,340 --> 00:05:46,380 and the Altos, which Butler I'm sure will talk about. 81 00:05:46,380 --> 00:05:54,560 And the PC world that we know today got 82 00:05:54,560 --> 00:05:56,300 started in time-sharing, as people 83 00:05:56,300 --> 00:06:00,420 began to learn to interact in a real time basis. 84 00:06:00,420 --> 00:06:06,500 It also led to things like Unix, and the C programming language, 85 00:06:06,500 --> 00:06:09,260 and ultimately today is being rediscovered 86 00:06:09,260 --> 00:06:10,820 in cloud computing. 87 00:06:10,820 --> 00:06:13,520 88 00:06:13,520 --> 00:06:15,430 Well thank you Corby. 89 00:06:15,430 --> 00:06:19,670 And if Corby was the consummate system builder of the 1960s, 90 00:06:19,670 --> 00:06:21,970 I think Butler Lampson certainly deserves 91 00:06:21,970 --> 00:06:24,040 that honor for the '70s. 92 00:06:24,040 --> 00:06:29,260 He was cited in 1992, when he earned his Turing Award, 93 00:06:29,260 --> 00:06:31,780 for contributions to the development of distributed 94 00:06:31,780 --> 00:06:34,840 personal computing environments and the technology 95 00:06:34,840 --> 00:06:38,530 for their implementation, workstations, networks, 96 00:06:38,530 --> 00:06:42,940 operating systems, programming systems, displays, security, 97 00:06:42,940 --> 00:06:44,560 and document publishing. 98 00:06:44,560 --> 00:06:47,680 It's hard to know what got left off of that list. 99 00:06:47,680 --> 00:06:48,460 Butler? 100 00:06:48,460 --> 00:06:50,500 I can tell you exactly what got left off. 101 00:06:50,500 --> 00:06:55,680 102 00:06:55,680 --> 00:06:58,080 Spreadsheets and the web got left off. 103 00:06:58,080 --> 00:07:02,320 104 00:07:02,320 --> 00:07:06,430 When Xerox started the computing part of the Xerox Palo Alto 105 00:07:06,430 --> 00:07:10,780 Research Center in 1969, their short-term motivation 106 00:07:10,780 --> 00:07:12,820 was that they had just made a foolish mistake 107 00:07:12,820 --> 00:07:14,890 and bought a computer company. 108 00:07:14,890 --> 00:07:16,810 Their longer term motivation was that they 109 00:07:16,810 --> 00:07:20,740 were able to see that the light lens copying 110 00:07:20,740 --> 00:07:23,350 business, over which they had a monopoly at the time, 111 00:07:23,350 --> 00:07:25,750 was going to be very nice for a decade or two, 112 00:07:25,750 --> 00:07:27,730 but it was not going to last forever. 113 00:07:27,730 --> 00:07:30,580 And the senior management of Xerox 114 00:07:30,580 --> 00:07:33,285 thought that they ought to prepare for the future, 115 00:07:33,285 --> 00:07:34,660 so they started this lab and they 116 00:07:34,660 --> 00:07:37,950 told us to invent the office of the future. 117 00:07:37,950 --> 00:07:41,470 Of course, they had no idea what that meant, and neither did we. 118 00:07:41,470 --> 00:07:45,210 But it turned out to be a very fruitful instruction 119 00:07:45,210 --> 00:07:47,560 to give us, because based on that, 120 00:07:47,560 --> 00:07:52,470 we were able to develop pretty much all of the things 121 00:07:52,470 --> 00:07:55,770 that you're now accustomed to in the world 122 00:07:55,770 --> 00:07:59,640 of personal computing. 123 00:07:59,640 --> 00:08:06,610 Networking, and local systems, and drawing programs, 124 00:08:06,610 --> 00:08:09,760 and document editing and the first internet 125 00:08:09,760 --> 00:08:12,280 was actually built at Xerox PARC. 126 00:08:12,280 --> 00:08:15,040 For some mysterious reason, Xerox 127 00:08:15,040 --> 00:08:17,420 decided that we shouldn't publish anything about it, 128 00:08:17,420 --> 00:08:19,810 so the people who did the work never got much credit. 129 00:08:19,810 --> 00:08:21,850 But they did go to the seminar at Stanford 130 00:08:21,850 --> 00:08:25,960 where Vint Cerf was developing the internet protocols 131 00:08:25,960 --> 00:08:28,900 and they weren't allowed to talk about the internal network, 132 00:08:28,900 --> 00:08:31,270 but they were allowed to ask questions. 133 00:08:31,270 --> 00:08:32,780 And they asked a lot of questions. 134 00:08:32,780 --> 00:08:35,289 And finally Vint looked at one of them and he said, 135 00:08:35,289 --> 00:08:38,679 you've done this before, haven't you? 136 00:08:38,679 --> 00:08:39,730 So we did all that stuff. 137 00:08:39,730 --> 00:08:42,309 We didn't do spreadsheets, that would have been technically 138 00:08:42,309 --> 00:08:45,970 possible on the equipment that we had 139 00:08:45,970 --> 00:08:48,940 but we had no personal use for spreadsheets. 140 00:08:48,940 --> 00:08:52,398 Since, although their use has expanded a lot more recently, 141 00:08:52,398 --> 00:08:54,190 originally they were meant for accountants, 142 00:08:54,190 --> 00:08:55,600 and we didn't do accounting. 143 00:08:55,600 --> 00:08:58,420 And we didn't get along very well with the people 144 00:08:58,420 --> 00:09:01,553 at PARC who did do accounting. 145 00:09:01,553 --> 00:09:03,220 So that's why we didn't do spreadsheets. 146 00:09:03,220 --> 00:09:04,210 And the reason we didn't do the web 147 00:09:04,210 --> 00:09:06,940 was that we didn't have a big enough sandbox to play in. 148 00:09:06,940 --> 00:09:10,960 My theory about the reason that the web came along when it did 149 00:09:10,960 --> 00:09:14,080 is that that was the first time the internet was big enough 150 00:09:14,080 --> 00:09:18,410 to make it worthwhile for people to actually post things on it. 151 00:09:18,410 --> 00:09:20,330 Anyway, we did invent all this stuff, 152 00:09:20,330 --> 00:09:25,840 and it's pretty much the direct predecessors of all the stuff 153 00:09:25,840 --> 00:09:28,060 that people use today. 154 00:09:28,060 --> 00:09:31,450 Even the first quote laptop unquote 155 00:09:31,450 --> 00:09:33,625 was built at PARC in the late 70s. 156 00:09:33,625 --> 00:09:36,180 157 00:09:36,180 --> 00:09:38,990 OK, thank you. 158 00:09:38,990 --> 00:09:43,580 Andy, you were awarded the Turing Award in the year 2000 159 00:09:43,580 --> 00:09:46,130 in recognition of fundamental contributions 160 00:09:46,130 --> 00:09:49,070 to the theory of computation, including 161 00:09:49,070 --> 00:09:51,530 the complexity-based theory of pseudorandom number 162 00:09:51,530 --> 00:09:56,580 generation, cryptography, and communication complexity. 163 00:09:56,580 --> 00:09:58,410 Can you give us your retrospective view 164 00:09:58,410 --> 00:10:01,890 of that work, and its impact and your motivation? 165 00:10:01,890 --> 00:10:09,000 I think my Turing Award was mainly due to the proposal 166 00:10:09,000 --> 00:10:14,140 of two concepts around 1980. 167 00:10:14,140 --> 00:10:22,870 These concepts would lead to the creation of two subfields 168 00:10:22,870 --> 00:10:25,780 in theoretical computer science, which over the years 169 00:10:25,780 --> 00:10:30,340 have shown a lot of depth and applications. 170 00:10:30,340 --> 00:10:34,840 And the first of these is communication complexity, 171 00:10:34,840 --> 00:10:39,670 which captures the amount of communications needed when 172 00:10:39,670 --> 00:10:43,510 several computers want to perform a joint computation 173 00:10:43,510 --> 00:10:46,250 based on their private inputs. 174 00:10:46,250 --> 00:10:51,500 And the second concept that I proposed 175 00:10:51,500 --> 00:10:57,470 was about the perfect pseudorandom number generator. 176 00:10:57,470 --> 00:11:04,280 Pseudorandom number generation had been a very important 177 00:11:04,280 --> 00:11:08,420 subject in simulations and in other fields, 178 00:11:08,420 --> 00:11:12,860 and the standard statistical theory about it 179 00:11:12,860 --> 00:11:18,350 is that whether a pseudorandom number generator is good or not 180 00:11:18,350 --> 00:11:20,060 depends on the application. 181 00:11:20,060 --> 00:11:22,670 And typically you have some sort of 182 00:11:22,670 --> 00:11:25,580 mathematical, statistical test to see whether it's good 183 00:11:25,580 --> 00:11:26,920 or not. 184 00:11:26,920 --> 00:11:30,310 Now with the advent of cryptography, 185 00:11:30,310 --> 00:11:32,260 we have to be more stringent, and we 186 00:11:32,260 --> 00:11:38,140 have to think about is there a way so that we can define 187 00:11:38,140 --> 00:11:41,860 a good definition of pseudorandom number generator 188 00:11:41,860 --> 00:11:46,840 so that it can satisfy the very rigorous requirements. 189 00:11:46,840 --> 00:11:52,780 And so I proposed a definition, which I think 190 00:11:52,780 --> 00:11:54,730 is pretty outrageous. 191 00:11:54,730 --> 00:12:00,760 I was asking the question, is it possible to have a pseudorandom 192 00:12:00,760 --> 00:12:05,950 number generator that can pass all the statistical tests 193 00:12:05,950 --> 00:12:07,570 that people can think of? 194 00:12:07,570 --> 00:12:09,560 And it actually turned out to be the case. 195 00:12:09,560 --> 00:12:13,720 And with the help of computational complexity, 196 00:12:13,720 --> 00:12:17,230 and myself and many of my colleagues 197 00:12:17,230 --> 00:12:21,160 together, we have created to make it work. 198 00:12:21,160 --> 00:12:24,520 And now in retrospect, I think it probably should not 199 00:12:24,520 --> 00:12:27,940 have been a surprise that concepts like this 200 00:12:27,940 --> 00:12:31,750 would lead to ramifications. 201 00:12:31,750 --> 00:12:34,540 The reason is that around 1980, there 202 00:12:34,540 --> 00:12:39,670 were two seminal intellectual trends that started 203 00:12:39,670 --> 00:12:41,360 to happen in computer science. 204 00:12:41,360 --> 00:12:52,060 One is the change from single machine to networked setting, 205 00:12:52,060 --> 00:12:59,070 I think as pioneered by people like Butler and others. 206 00:12:59,070 --> 00:13:03,400 So the cost consideration would no longer 207 00:13:03,400 --> 00:13:06,550 be just the computation time for one single machine, 208 00:13:06,550 --> 00:13:09,070 but actually you have to take the communication 209 00:13:09,070 --> 00:13:11,250 cost into account. 210 00:13:11,250 --> 00:13:17,010 And that the second seminal intellectual trend 211 00:13:17,010 --> 00:13:20,970 that was started at time, is that at that time 212 00:13:20,970 --> 00:13:26,790 the proposal of the public-key cryptography 213 00:13:26,790 --> 00:13:30,330 led farsighted people to think about in the future, 214 00:13:30,330 --> 00:13:32,790 maybe we will have a big network and we 215 00:13:32,790 --> 00:13:35,820 can do electronic commerce, and cryptography will 216 00:13:35,820 --> 00:13:39,030 be very useful and important. 217 00:13:39,030 --> 00:13:46,020 And now when you think about cryptography, 218 00:13:46,020 --> 00:13:51,630 the traditional theory was the Shannon Theory of Cryptography. 219 00:13:51,630 --> 00:13:56,010 But Shannon's theory was very rigorous. 220 00:13:56,010 --> 00:13:58,590 However, it's perhaps too rigorous. 221 00:13:58,590 --> 00:14:02,250 If you insist on that security then you practically cannot do 222 00:14:02,250 --> 00:14:04,120 any electronic commerce. 223 00:14:04,120 --> 00:14:09,510 And so I think at that time, near the end of the 1970s 224 00:14:09,510 --> 00:14:12,570 and the beginning of the 1980s, many of us 225 00:14:12,570 --> 00:14:18,660 were struggling to try to break away from the Shannon cage. 226 00:14:18,660 --> 00:14:23,430 And instead, we would embrace the computational complexity 227 00:14:23,430 --> 00:14:27,840 to become our savior, so that we can construct frameworks 228 00:14:27,840 --> 00:14:30,330 so that cryptography will be rigorous 229 00:14:30,330 --> 00:14:32,520 and will be meaningful. 230 00:14:32,520 --> 00:14:37,880 And so I think that given those two trends, 231 00:14:37,880 --> 00:14:40,190 I think that it should have come as no surprise 232 00:14:40,190 --> 00:14:44,360 that those of us who were lucky enough in those early days, who 233 00:14:44,360 --> 00:14:47,690 started to think about such issues, 234 00:14:47,690 --> 00:14:53,890 would come up with concepts that would become very important. 235 00:14:53,890 --> 00:14:59,910 And perhaps I should explain why I'm here. 236 00:14:59,910 --> 00:15:02,800 I think all my distinguished friends here 237 00:15:02,800 --> 00:15:05,380 are MIT faculty members. 238 00:15:05,380 --> 00:15:09,130 I think that firstly, I was a faculty at MIT 239 00:15:09,130 --> 00:15:14,710 during 1975 to 1976. 240 00:15:14,710 --> 00:15:18,970 And secondly, I think my work has 241 00:15:18,970 --> 00:15:25,280 been influenced by a lot of the MIT people who are here today. 242 00:15:25,280 --> 00:15:29,680 I think, for example, in the communication complexity 243 00:15:29,680 --> 00:15:33,500 that Harold Abelson and the pseudorandom number generation 244 00:15:33,500 --> 00:15:41,140 by Ron Rivest, Shafi Goldwasser, and Sylvia McCauley. 245 00:15:41,140 --> 00:15:47,530 And I think there's an interesting story 246 00:15:47,530 --> 00:15:50,110 that I think-- 247 00:15:50,110 --> 00:15:52,360 Ron if you'll forgive me-- that I will just repeat it. 248 00:15:52,360 --> 00:15:58,300 I think Ron always joked with me that I missed 249 00:15:58,300 --> 00:16:03,010 the boat because I left MIT in 1976, 250 00:16:03,010 --> 00:16:07,610 otherwise I would perhaps be able to get a Turing 251 00:16:07,610 --> 00:16:09,980 Award together with them. 252 00:16:09,980 --> 00:16:13,320 But fortunately, I went to Stanford, 253 00:16:13,320 --> 00:16:16,060 and then later on had the opportunity 254 00:16:16,060 --> 00:16:18,100 to mix with the Berkeley crowd. 255 00:16:18,100 --> 00:16:23,980 And so I guess I got into cryptography on the West Coast, 256 00:16:23,980 --> 00:16:29,290 and I guess everything is probably preordained after all. 257 00:16:29,290 --> 00:16:32,170 Thank you. 258 00:16:32,170 --> 00:16:35,140 Thank you, Andy. 259 00:16:35,140 --> 00:16:39,340 Ron, you were awarded the Turing Award in 2002 260 00:16:39,340 --> 00:16:43,750 for ingenious contribution for making public-key cryptography 261 00:16:43,750 --> 00:16:45,820 useful in practice. 262 00:16:45,820 --> 00:16:47,830 Your retrospective view? 263 00:16:47,830 --> 00:16:48,560 Yes, sure. 264 00:16:48,560 --> 00:16:51,190 So Andy talked about some of the themes 265 00:16:51,190 --> 00:16:52,520 that were around in those days. 266 00:16:52,520 --> 00:16:56,500 So our work was inspired by the Diffie-Hellman paper talking 267 00:16:56,500 --> 00:16:59,380 about public-key cryptography, and it asked the question 268 00:16:59,380 --> 00:17:02,500 whether public-key cryptography was possible. 269 00:17:02,500 --> 00:17:06,160 And with Len Edelman and Adi Shamir, 270 00:17:06,160 --> 00:17:08,050 who are also members of-- 271 00:17:08,050 --> 00:17:10,450 not CSAIL, but LCS at the time-- although members 272 00:17:10,450 --> 00:17:12,079 of the math department, and that shows 273 00:17:12,079 --> 00:17:14,079 the strength of the inter-departmental character 274 00:17:14,079 --> 00:17:18,490 of the enterprise of computer science. 275 00:17:18,490 --> 00:17:21,381 We came up with a proposal known as the RSA scheme. 276 00:17:21,381 --> 00:17:22,839 Now I guess if you'd stayed around, 277 00:17:22,839 --> 00:17:25,674 it might have been RSAY or-- 278 00:17:25,674 --> 00:17:26,364 Or YRSA. 279 00:17:26,364 --> 00:17:28,869 280 00:17:28,869 --> 00:17:33,040 YRSA or whatever, yeah. 281 00:17:33,040 --> 00:17:35,450 So, anyway, we came up with a proposal, 282 00:17:35,450 --> 00:17:38,230 which has so far stood the test of time, 283 00:17:38,230 --> 00:17:40,660 based on the difficulty of factoring the product of two 284 00:17:40,660 --> 00:17:43,390 large prime numbers and doing some modular exponentiation 285 00:17:43,390 --> 00:17:46,150 for encryption and for decryption. 286 00:17:46,150 --> 00:17:48,910 We still don't know, in the end, whether it's secure or not. 287 00:17:48,910 --> 00:17:52,360 We have many open problems in the field of computer science 288 00:17:52,360 --> 00:17:54,520 and theory, and showing that a problem is hard 289 00:17:54,520 --> 00:17:57,768 remains one of the most challenging problems we have. 290 00:17:57,768 --> 00:17:59,560 And we don't know whether specific problems 291 00:17:59,560 --> 00:18:03,430 like factoring are hard, or particular cryptosystems 292 00:18:03,430 --> 00:18:04,240 are hard. 293 00:18:04,240 --> 00:18:05,940 But cryptography has thrived, and one 294 00:18:05,940 --> 00:18:07,690 of the impacts that our work had, I think, 295 00:18:07,690 --> 00:18:10,810 is to really help establish the character of the questions 296 00:18:10,810 --> 00:18:11,710 that people ask. 297 00:18:11,710 --> 00:18:14,320 And the kind of questions you can ask and answer 298 00:18:14,320 --> 00:18:16,570 is can you design cryptosystems so 299 00:18:16,570 --> 00:18:19,150 that the difficulty of breaking that cryptosystem 300 00:18:19,150 --> 00:18:22,630 is closely related or identical to some hard problem 301 00:18:22,630 --> 00:18:24,010 that you believe to be hard. 302 00:18:24,010 --> 00:18:26,620 You make explicit assumptions that factoring is hard, 303 00:18:26,620 --> 00:18:29,043 or discrete logarithm is hard, or doing discrete log 304 00:18:29,043 --> 00:18:31,210 and elliptic curves is hard, or something like that. 305 00:18:31,210 --> 00:18:32,627 And the field has really blossomed 306 00:18:32,627 --> 00:18:35,140 in a very nice way, in spite of our inability 307 00:18:35,140 --> 00:18:37,630 to show that these particular problems are hard, because we 308 00:18:37,630 --> 00:18:39,843 can make very crisp assumptions saying if you assume 309 00:18:39,843 --> 00:18:41,260 that these problems are hard, then 310 00:18:41,260 --> 00:18:43,400 you can achieve these cryptographic objectives. 311 00:18:43,400 --> 00:18:46,150 And so the field has really blossomed in a wonderful way 312 00:18:46,150 --> 00:18:48,490 and achieved a lot of paradoxical things. 313 00:18:48,490 --> 00:18:53,200 I think the public-key work itself demonstrates 314 00:18:53,200 --> 00:18:56,920 the paradoxical character that cryptography can have, 315 00:18:56,920 --> 00:18:59,620 that you can ask something which seems like you shouldn't be 316 00:18:59,620 --> 00:19:02,380 able to do it, and yet you can at the 317 00:19:02,380 --> 00:19:04,683 end with the clever use of the tools at hand. 318 00:19:04,683 --> 00:19:06,850 And that's a theme that appears over and over again, 319 00:19:06,850 --> 00:19:09,203 is that by making the right assumptions, by being 320 00:19:09,203 --> 00:19:10,870 careful about your reductions and asking 321 00:19:10,870 --> 00:19:13,928 what appear to be paradoxical questions, 322 00:19:13,928 --> 00:19:15,970 paradoxical set of requirements, you can actually 323 00:19:15,970 --> 00:19:17,560 achieve some of these things. 324 00:19:17,560 --> 00:19:18,230 I'll stop there. 325 00:19:18,230 --> 00:19:18,730 OK. 326 00:19:18,730 --> 00:19:19,840 Thank you, Ron. 327 00:19:19,840 --> 00:19:24,470 And Barbara, your 2008 Turing Award 328 00:19:24,470 --> 00:19:27,700 cited contributions to practical and theoretical foundations 329 00:19:27,700 --> 00:19:30,640 for programming language and system design, especially 330 00:19:30,640 --> 00:19:33,520 related to data abstraction, fault tolerance, 331 00:19:33,520 --> 00:19:36,550 and distributed computing. 332 00:19:36,550 --> 00:19:37,050 OK. 333 00:19:37,050 --> 00:19:39,480 Well, Corby started by mentioning John McCarthy, 334 00:19:39,480 --> 00:19:42,510 so I wanted to say that John McCarthy was my thesis 335 00:19:42,510 --> 00:19:44,530 advisor at Stanford. 336 00:19:44,530 --> 00:19:46,240 And I was working in AI at the time, 337 00:19:46,240 --> 00:19:49,410 but as soon as I got my PhD I switched into computer systems. 338 00:19:49,410 --> 00:19:51,600 I went to work at the Miter Corporation, 339 00:19:51,600 --> 00:19:53,820 and while I was at Miter I started 340 00:19:53,820 --> 00:19:55,530 to work on programming methodology, 341 00:19:55,530 --> 00:19:58,300 because there was a huge concern at the time. 342 00:19:58,300 --> 00:20:01,410 And of course, there's still a concern about what they then 343 00:20:01,410 --> 00:20:03,330 called the software crisis. 344 00:20:03,330 --> 00:20:04,800 By which they meant we had no idea 345 00:20:04,800 --> 00:20:06,258 how to build software that actually 346 00:20:06,258 --> 00:20:08,070 did what it was supposed to do. 347 00:20:08,070 --> 00:20:10,800 And I found this problem very intriguing, 348 00:20:10,800 --> 00:20:12,870 and so I was thinking about it. 349 00:20:12,870 --> 00:20:16,890 And I moved to MIT in 1972, and this 350 00:20:16,890 --> 00:20:18,700 was the problem that was consuming me, 351 00:20:18,700 --> 00:20:22,080 what would be the right way to organize software 352 00:20:22,080 --> 00:20:24,600 so that we could actually control the complexity 353 00:20:24,600 --> 00:20:28,260 and reason about the resulting programs. 354 00:20:28,260 --> 00:20:30,450 And I had in mind a particular way 355 00:20:30,450 --> 00:20:33,060 of organizing programs, which I referred to 356 00:20:33,060 --> 00:20:35,160 as the multi-operation module. 357 00:20:35,160 --> 00:20:38,260 So the idea was that I had a big black box, 358 00:20:38,260 --> 00:20:40,980 and inside there was complicated data structures 359 00:20:40,980 --> 00:20:45,000 and very complex code, but it was all hidden inside the box. 360 00:20:45,000 --> 00:20:47,310 And the box provided an interface 361 00:20:47,310 --> 00:20:50,108 that consisted of a number of operations, and outside the box 362 00:20:50,108 --> 00:20:52,650 you could call these operations but that was the only way you 363 00:20:52,650 --> 00:20:54,240 could interact with the box. 364 00:20:54,240 --> 00:20:56,250 And this seemed to me like a really good way 365 00:20:56,250 --> 00:20:57,390 to organize programs. 366 00:20:57,390 --> 00:20:59,640 And there were other people that had similar ideas, 367 00:20:59,640 --> 00:21:01,960 like Dave Parnas at the same time, 368 00:21:01,960 --> 00:21:05,190 but I felt that it was very hard to communicate this idea 369 00:21:05,190 --> 00:21:06,930 to normal programmers. 370 00:21:06,930 --> 00:21:11,320 And so, in the fall of 1972 shortly after I got to MIT, 371 00:21:11,320 --> 00:21:14,130 I had this wonderful aha moment. 372 00:21:14,130 --> 00:21:16,440 And very few people are lucky enough 373 00:21:16,440 --> 00:21:17,580 to have a moment like this. 374 00:21:17,580 --> 00:21:19,710 And what happened to me was I all of a sudden 375 00:21:19,710 --> 00:21:21,960 saw that I could relate this idea 376 00:21:21,960 --> 00:21:24,630 of a very abstract, multi-operation module 377 00:21:24,630 --> 00:21:25,830 to data types. 378 00:21:25,830 --> 00:21:28,260 And I felt that making that connection 379 00:21:28,260 --> 00:21:31,050 was going to be really beneficial, because programmers 380 00:21:31,050 --> 00:21:32,340 understood data types. 381 00:21:32,340 --> 00:21:34,500 They programmed with data types all the time. 382 00:21:34,500 --> 00:21:38,400 And the connection was that the module was a data object, 383 00:21:38,400 --> 00:21:40,860 the operations were the operations of the object 384 00:21:40,860 --> 00:21:43,560 that you use to manipulate it, and people already 385 00:21:43,560 --> 00:21:45,360 use things like arrays and they understood 386 00:21:45,360 --> 00:21:47,175 that you could add something to array, 387 00:21:47,175 --> 00:21:49,200 remove something from the array, and they also 388 00:21:49,200 --> 00:21:51,390 understood that they thought about these things 389 00:21:51,390 --> 00:21:55,170 abstractly and did not have to actually understand how things 390 00:21:55,170 --> 00:21:57,020 were implemented underneath. 391 00:21:57,020 --> 00:21:59,968 And so I had this idea of abstract data types. 392 00:21:59,968 --> 00:22:02,010 And then, of course, you know you're lucky enough 393 00:22:02,010 --> 00:22:03,802 to have an idea like that, but of course it 394 00:22:03,802 --> 00:22:04,950 doesn't stop there. 395 00:22:04,950 --> 00:22:08,070 I spent several years trying to figure out 396 00:22:08,070 --> 00:22:11,640 what this idea really meant, how did you define it formally, 397 00:22:11,640 --> 00:22:14,970 what was an abstract data type conceptually, 398 00:22:14,970 --> 00:22:17,250 how did you specify them, how did you reason 399 00:22:17,250 --> 00:22:20,160 about their correctness, how did you design programs 400 00:22:20,160 --> 00:22:22,590 using the idea, and so on. 401 00:22:22,590 --> 00:22:25,750 Around about 1980 I switched into distributed systems, 402 00:22:25,750 --> 00:22:29,310 so that was the other part of the award. 403 00:22:29,310 --> 00:22:32,428 And so that was just an example of what 404 00:22:32,428 --> 00:22:34,470 I was doing in my career, I was opportunistically 405 00:22:34,470 --> 00:22:36,220 switching from one field to another 406 00:22:36,220 --> 00:22:38,550 as I saw really important problems. 407 00:22:38,550 --> 00:22:42,480 And when working in distributed systems, where I work today, 408 00:22:42,480 --> 00:22:45,070 I got very interested in replication and so forth. 409 00:22:45,070 --> 00:22:49,410 So I've had a lovely career, and I was lucky enough 410 00:22:49,410 --> 00:22:51,000 to have some good ideas. 411 00:22:51,000 --> 00:22:54,220 And that's where I ended up. 412 00:22:54,220 --> 00:22:55,440 Well, thanks Barbara. 413 00:22:55,440 --> 00:22:57,690 I have here a handful of questions 414 00:22:57,690 --> 00:23:00,210 that have been submitted by attendees, 415 00:23:00,210 --> 00:23:02,610 and I'm unlikely to be able to get to them all, 416 00:23:02,610 --> 00:23:06,180 but let me start with several ones 417 00:23:06,180 --> 00:23:08,070 that I think should be easy that deal 418 00:23:08,070 --> 00:23:11,170 with the institution of the Turing Award itself. 419 00:23:11,170 --> 00:23:16,050 The first one is, in 25 words or less, 420 00:23:16,050 --> 00:23:18,907 how did the Turing Award change your life? 421 00:23:18,907 --> 00:23:20,490 Would anybody like to respond to that? 422 00:23:20,490 --> 00:23:23,650 423 00:23:23,650 --> 00:23:24,150 OK. 424 00:23:24,150 --> 00:23:26,660 Well if you decline responding to that, 425 00:23:26,660 --> 00:23:30,330 let me get to one that's even shorter and considerably more 426 00:23:30,330 --> 00:23:32,010 blunt. 427 00:23:32,010 --> 00:23:34,230 Are Turing Awards really a good idea? 428 00:23:34,230 --> 00:23:36,810 429 00:23:36,810 --> 00:23:39,270 I'm guessing this was submitted by somebody who 430 00:23:39,270 --> 00:23:40,570 doesn't have a Turing Award. 431 00:23:40,570 --> 00:23:43,380 432 00:23:43,380 --> 00:23:47,280 If I had to guess, I would be able to guess a one-bit answer 433 00:23:47,280 --> 00:23:50,400 that each of the awardees would give, but. 434 00:23:50,400 --> 00:23:52,185 Is this meeting a good idea? 435 00:23:52,185 --> 00:23:53,400 Is anything a good idea? 436 00:23:53,400 --> 00:23:56,850 I think they're very closely related questions. 437 00:23:56,850 --> 00:24:02,040 Perhaps, but I make the assumption that none of you 438 00:24:02,040 --> 00:24:05,280 did the seminal work that you did specifically 439 00:24:05,280 --> 00:24:07,240 in order to win a Turing Award. 440 00:24:07,240 --> 00:24:07,740 OK. 441 00:24:07,740 --> 00:24:10,770 So if it didn't have that effect on your behavior, 442 00:24:10,770 --> 00:24:13,530 did it in fact have any effect on your behavior? 443 00:24:13,530 --> 00:24:17,340 As a social institution, is it a positive thing? 444 00:24:17,340 --> 00:24:19,350 Anybody want to comment on that? 445 00:24:19,350 --> 00:24:23,550 Well, it's not for individuals. 446 00:24:23,550 --> 00:24:25,230 You don't do research because you're 447 00:24:25,230 --> 00:24:26,730 thinking about the Turing Award, you 448 00:24:26,730 --> 00:24:28,650 do research because you find things 449 00:24:28,650 --> 00:24:30,990 that you are fascinated with that are interesting, 450 00:24:30,990 --> 00:24:32,460 useful to work on. 451 00:24:32,460 --> 00:24:34,530 It's probably good for the field, 452 00:24:34,530 --> 00:24:38,730 because it gives us a history, it recognizes contributions, 453 00:24:38,730 --> 00:24:40,110 it gives people a way of thinking 454 00:24:40,110 --> 00:24:41,670 about the history of the field. 455 00:24:41,670 --> 00:24:43,680 Of course, it's not perfect. 456 00:24:43,680 --> 00:24:45,630 Because the people who get the award, 457 00:24:45,630 --> 00:24:47,550 they have to be nominated, the nomination 458 00:24:47,550 --> 00:24:51,030 has to be phrased properly, the committee has to be receptive, 459 00:24:51,030 --> 00:24:53,580 and so clearly there are going to be people who didn't 460 00:24:53,580 --> 00:24:55,410 get the award who deserved it. 461 00:24:55,410 --> 00:24:58,230 And there might be people that got the award who 462 00:24:58,230 --> 00:25:00,570 didn't deserve it, who can say. 463 00:25:00,570 --> 00:25:03,150 But I think if you think about it, sort of on average, 464 00:25:03,150 --> 00:25:06,520 it's a useful thing for the field. 465 00:25:06,520 --> 00:25:11,370 Is it fair to have the model that, like tenure, people who 466 00:25:11,370 --> 00:25:12,780 have it think it's a good idea? 467 00:25:12,780 --> 00:25:15,605 468 00:25:15,605 --> 00:25:16,980 Well, let me move on to something 469 00:25:16,980 --> 00:25:18,090 that's closely related. 470 00:25:18,090 --> 00:25:21,203 To also answer that, if I may, I think I do have an opinion. 471 00:25:21,203 --> 00:25:22,620 I think the Turing Award is great, 472 00:25:22,620 --> 00:25:24,660 and it adds some value to the field, 473 00:25:24,660 --> 00:25:26,460 but I think more important to the field 474 00:25:26,460 --> 00:25:29,337 are awards going to younger people before their promotion 475 00:25:29,337 --> 00:25:30,420 and tenure and so on, too. 476 00:25:30,420 --> 00:25:34,350 I think that's a critical thing, to recognize accomplishment 477 00:25:34,350 --> 00:25:36,780 early in people's career, and the Turing Award 478 00:25:36,780 --> 00:25:39,470 tends not to do that. 479 00:25:39,470 --> 00:25:40,550 OK. 480 00:25:40,550 --> 00:25:43,280 A related question is, can you think 481 00:25:43,280 --> 00:25:46,010 of work that has already been done 482 00:25:46,010 --> 00:25:49,320 that deserves a Turing Award and hasn't yet received one? 483 00:25:49,320 --> 00:25:51,560 For example, would you like to make any predictions 484 00:25:51,560 --> 00:25:53,900 as to the 2012 Turing Award winner? 485 00:25:53,900 --> 00:25:56,510 486 00:25:56,510 --> 00:25:59,270 You, after all, are pundits, and you 487 00:25:59,270 --> 00:26:02,280 need to exercise your crystal ball a little bit. 488 00:26:02,280 --> 00:26:03,520 I'll step into that one. 489 00:26:03,520 --> 00:26:06,620 490 00:26:06,620 --> 00:26:09,770 I'm not sure I know exactly who to credit, 491 00:26:09,770 --> 00:26:12,830 but I think there probably is not 492 00:26:12,830 --> 00:26:14,420 a person in this room that doesn't 493 00:26:14,420 --> 00:26:20,230 recognize the profundity of the contribution of Google. 494 00:26:20,230 --> 00:26:21,430 It's become a verb. 495 00:26:21,430 --> 00:26:24,400 496 00:26:24,400 --> 00:26:26,710 People have thrown away their encyclopedias, 497 00:26:26,710 --> 00:26:34,360 and it's a wonderful contribution to our well-being 498 00:26:34,360 --> 00:26:35,920 and so forth. 499 00:26:35,920 --> 00:26:41,410 It had a predecessor, which isn't well known, AltaVista. 500 00:26:41,410 --> 00:26:45,400 Butler maybe can talk about that. 501 00:26:45,400 --> 00:26:49,330 Google has succeeded for reasons I don't fully 502 00:26:49,330 --> 00:26:57,000 understand myself, but it's miraculously fast. 503 00:26:57,000 --> 00:26:59,122 It's fast because they have a lot of money. 504 00:26:59,122 --> 00:27:01,330 And they're clever, too, but it takes a lot of money. 505 00:27:01,330 --> 00:27:02,460 And the reason they have a lot of money 506 00:27:02,460 --> 00:27:04,800 is that they figured out what very few people did, which 507 00:27:04,800 --> 00:27:07,110 is that you could make a lot of money 508 00:27:07,110 --> 00:27:09,480 out of targeted advertising. 509 00:27:09,480 --> 00:27:11,350 Well aren't there similar institutions? 510 00:27:11,350 --> 00:27:12,943 I'm thinking of things like Wikipedia, 511 00:27:12,943 --> 00:27:14,610 that doesn't have a lot of money, that's 512 00:27:14,610 --> 00:27:18,000 also had a significant impact. 513 00:27:18,000 --> 00:27:19,935 Yes, I would put that in the same ballpark. 514 00:27:19,935 --> 00:27:23,800 515 00:27:23,800 --> 00:27:25,750 So money isn't essential. 516 00:27:25,750 --> 00:27:26,313 OK. 517 00:27:26,313 --> 00:27:27,730 Whether money is essential depends 518 00:27:27,730 --> 00:27:29,870 on what it is you're trying to accomplish. 519 00:27:29,870 --> 00:27:30,370 Perhaps. 520 00:27:30,370 --> 00:27:33,850 521 00:27:33,850 --> 00:27:36,700 For going to the moon, you need a lot of money. 522 00:27:36,700 --> 00:27:40,600 To index the internet, you need a lot of money. 523 00:27:40,600 --> 00:27:41,110 OK. 524 00:27:41,110 --> 00:27:42,820 Let me move on to another question, which 525 00:27:42,820 --> 00:27:45,400 may be viewed as superficial or profound 526 00:27:45,400 --> 00:27:47,170 depending on your view, but it should 527 00:27:47,170 --> 00:27:49,660 be easy to answer it actually. 528 00:27:49,660 --> 00:27:52,780 I'll read it in its entirety. 529 00:27:52,780 --> 00:27:55,750 It's addressed to each of the panelists. 530 00:27:55,750 --> 00:28:01,610 And the question is this, do you have a Facebook account-- 531 00:28:01,610 --> 00:28:06,520 I haven't finished-- a Twitter account, and why not? 532 00:28:06,520 --> 00:28:07,020 So. 533 00:28:07,020 --> 00:28:11,590 534 00:28:11,590 --> 00:28:12,668 So Barbara, fess up. 535 00:28:12,668 --> 00:28:13,960 Do you have a Facebook account? 536 00:28:13,960 --> 00:28:15,340 Absolutely not. 537 00:28:15,340 --> 00:28:16,300 A Twitter account? 538 00:28:16,300 --> 00:28:18,850 Neither Facebook nor Twitter. 539 00:28:18,850 --> 00:28:20,260 Do you have an email account? 540 00:28:20,260 --> 00:28:22,480 Of course I have an email account. 541 00:28:22,480 --> 00:28:26,870 I'm not particularly interested in that kind of exposure. 542 00:28:26,870 --> 00:28:29,560 I'm not really interested in following people or having 543 00:28:29,560 --> 00:28:33,700 them follow me, but I'm a person of my generation. 544 00:28:33,700 --> 00:28:37,930 And if I were 40 years younger I would probably 545 00:28:37,930 --> 00:28:40,060 have a completely different answer, because I 546 00:28:40,060 --> 00:28:41,290 do think it's generational. 547 00:28:41,290 --> 00:28:43,120 We grew up in a certain way, we're 548 00:28:43,120 --> 00:28:46,180 used to a certain way of living, and you sort of 549 00:28:46,180 --> 00:28:48,340 settle into a rut. 550 00:28:48,340 --> 00:28:49,453 Yeah. 551 00:28:49,453 --> 00:28:52,120 I do think, though, that there's something quite dangerous going 552 00:28:52,120 --> 00:28:52,912 on in the internet. 553 00:28:52,912 --> 00:28:56,110 And Facebook is a good example of that, because of the way 554 00:28:56,110 --> 00:28:59,230 people expose themselves, not understanding how 555 00:28:59,230 --> 00:29:00,760 they might regret that later. 556 00:29:00,760 --> 00:29:04,330 And I'm keenly aware of the dangers of the internet. 557 00:29:04,330 --> 00:29:06,940 And thank God for Ron, and all the crypto, 558 00:29:06,940 --> 00:29:09,580 so I can at least do online banking, 559 00:29:09,580 --> 00:29:11,590 but I'm very careful even with email 560 00:29:11,590 --> 00:29:14,050 and what I will send because-- 561 00:29:14,050 --> 00:29:17,420 and you think politicians would learn this after a while. 562 00:29:17,420 --> 00:29:20,350 Because everything you do like this is exposable. 563 00:29:20,350 --> 00:29:22,800 And I just don't care to be exposed. 564 00:29:22,800 --> 00:29:25,040 So actually, I do have a Facebook account. 565 00:29:25,040 --> 00:29:26,350 I do have a Twitter account. 566 00:29:26,350 --> 00:29:28,308 I make sure to log in to Facebook at least once 567 00:29:28,308 --> 00:29:33,800 a quarter, Twitter at least once a decade. 568 00:29:33,800 --> 00:29:36,040 OK, so my follow on question for you, Ron, 569 00:29:36,040 --> 00:29:39,250 is what are you going to do about the 600 friend requests 570 00:29:39,250 --> 00:29:41,550 that you get as a result of that announcement? 571 00:29:41,550 --> 00:29:43,735 No promises. 572 00:29:43,735 --> 00:29:44,235 OK. 573 00:29:44,235 --> 00:29:47,590 574 00:29:47,590 --> 00:29:50,620 It's sometimes argued that all branches of computer science 575 00:29:50,620 --> 00:29:53,470 have enjoyed success because of the remarkable exponential 576 00:29:53,470 --> 00:29:58,010 growth, the Moore's law growth, for over five decades. 577 00:29:58,010 --> 00:30:01,270 And so an interesting question is, 578 00:30:01,270 --> 00:30:04,990 would your work be as celebrated as it is now? 579 00:30:04,990 --> 00:30:06,880 Would you even have done it if it 580 00:30:06,880 --> 00:30:09,970 hadn't been for this kind of Moore's law 581 00:30:09,970 --> 00:30:13,480 growth, this exponential growth, and the impact of computers 582 00:30:13,480 --> 00:30:14,420 themselves? 583 00:30:14,420 --> 00:30:17,560 And there is kind of a rising tide lifts all boats argument, 584 00:30:17,560 --> 00:30:20,590 that maybe good research has turned 585 00:30:20,590 --> 00:30:26,290 into great research because of the economic impact of all 586 00:30:26,290 --> 00:30:28,350 of this growth. 587 00:30:28,350 --> 00:30:29,460 Certainly. 588 00:30:29,460 --> 00:30:32,360 It's certainly true for most. 589 00:30:32,360 --> 00:30:33,360 It's certainly true for? 590 00:30:33,360 --> 00:30:35,790 For most practical systems work. 591 00:30:35,790 --> 00:30:37,800 We couldn't have done what we did it 592 00:30:37,800 --> 00:30:40,260 at PARC five years earlier. 593 00:30:40,260 --> 00:30:44,820 Just with the hardware, would have been impossible to build. 594 00:30:44,820 --> 00:30:47,870 Were you excited about building that hardware in anticipation 595 00:30:47,870 --> 00:30:49,620 that someday it would become cheap enough? 596 00:30:49,620 --> 00:30:49,935 Absolutely. 597 00:30:49,935 --> 00:30:51,643 That people could put it in their pockets 598 00:30:51,643 --> 00:30:52,700 and have it at home? 599 00:30:52,700 --> 00:30:53,640 Absolutely. 600 00:30:53,640 --> 00:30:58,320 I wrote a guest editorial on this subject in 1972, 601 00:30:58,320 --> 00:31:00,400 it was crystal clear that that would happen. 602 00:31:00,400 --> 00:31:04,010 But I think it's fair to say that was only-- 603 00:31:04,010 --> 00:31:06,510 I suppose from the point of view of the welfare of the Xerox 604 00:31:06,510 --> 00:31:09,570 corporation, that was quite essential. 605 00:31:09,570 --> 00:31:11,910 We would probably have tried to do the work anyway, 606 00:31:11,910 --> 00:31:13,930 even if we couldn't have foreseen that future. 607 00:31:13,930 --> 00:31:15,500 But we certainly did foresee it. 608 00:31:15,500 --> 00:31:16,000 Yeah. 609 00:31:16,000 --> 00:31:16,500 Yeah. 610 00:31:16,500 --> 00:31:18,210 I think in backing up what Butler 611 00:31:18,210 --> 00:31:21,750 said, during the '70s and '80s, everybody working 612 00:31:21,750 --> 00:31:24,270 in any central area of computer science 613 00:31:24,270 --> 00:31:27,000 was keenly aware of the fact that computers 614 00:31:27,000 --> 00:31:28,380 were getting faster and faster. 615 00:31:28,380 --> 00:31:31,290 And so you could envision doing things today 616 00:31:31,290 --> 00:31:33,660 that weren't going to be practical today, 617 00:31:33,660 --> 00:31:35,760 but you were laying the framework for something 618 00:31:35,760 --> 00:31:39,240 that would be practical a little bit down the line. 619 00:31:39,240 --> 00:31:42,070 I think even for theorists, I think 620 00:31:42,070 --> 00:31:45,790 that it's very important to do theory problems that 621 00:31:45,790 --> 00:31:48,130 are related to technology. 622 00:31:48,130 --> 00:31:51,100 Somehow the advances of technology 623 00:31:51,100 --> 00:31:56,240 bring out a lot of really interesting problems, 624 00:31:56,240 --> 00:31:58,820 so that I don't know whether it's a coincidence 625 00:31:58,820 --> 00:32:02,450 or there is a correlation that somehow things 626 00:32:02,450 --> 00:32:06,440 that have very heavy technological content 627 00:32:06,440 --> 00:32:09,570 also have very rich theoretical content. 628 00:32:09,570 --> 00:32:12,980 And I think that I was pretty lucky in getting 629 00:32:12,980 --> 00:32:18,620 into this field and I have been quite interested 630 00:32:18,620 --> 00:32:22,920 in combinatorial problems like [INAUDIBLE] problem. 631 00:32:22,920 --> 00:32:27,020 And all those problems were very fascinating to me 632 00:32:27,020 --> 00:32:29,510 at the time when I entered computer science. 633 00:32:29,510 --> 00:32:34,220 And I couldn't really decide whether to work 634 00:32:34,220 --> 00:32:36,920 in combinatorial problems or doing something else, 635 00:32:36,920 --> 00:32:38,360 like computer science. 636 00:32:38,360 --> 00:32:41,030 And at some point, it suddenly hit me 637 00:32:41,030 --> 00:32:44,510 that there were so many interesting mathematical 638 00:32:44,510 --> 00:32:48,650 problems in the world that how do you decide 639 00:32:48,650 --> 00:32:50,270 which problems to work on? 640 00:32:50,270 --> 00:32:55,610 And computer science, being a very rapidly advancing field, 641 00:32:55,610 --> 00:32:57,440 kind of breaks the symmetry. 642 00:32:57,440 --> 00:33:01,880 Somehow it singles out problems that 643 00:33:01,880 --> 00:33:06,510 is different from the typical mathematical problems, 644 00:33:06,510 --> 00:33:10,940 and I thought that was a good choice. 645 00:33:10,940 --> 00:33:13,790 And I still don't understand whether there's a correlation, 646 00:33:13,790 --> 00:33:16,890 but somehow it seems so. 647 00:33:16,890 --> 00:33:20,460 Well, to put it more indelicately, 648 00:33:20,460 --> 00:33:24,150 was there a bit of technological opportunism 649 00:33:24,150 --> 00:33:27,130 in your career choice, then? 650 00:33:27,130 --> 00:33:27,910 Not really. 651 00:33:27,910 --> 00:33:35,080 I think that actually I first got 652 00:33:35,080 --> 00:33:40,370 into the theoretical computer science from Duncan notebooks. 653 00:33:40,370 --> 00:33:46,720 And so I think that when I first read the manuscript 654 00:33:46,720 --> 00:33:50,740 and did the exercises and open problems, 655 00:33:50,740 --> 00:33:55,930 I didn't really think of the opportunism in technology. 656 00:33:55,930 --> 00:34:00,790 But somehow, later on, when I thought 657 00:34:00,790 --> 00:34:03,730 about deciding whether to pursue computer science or not, 658 00:34:03,730 --> 00:34:08,500 then I realized that beside of an interest 659 00:34:08,500 --> 00:34:12,980 in problems, computer science or so is a new discipline. 660 00:34:12,980 --> 00:34:16,989 I think that at that time, I understood 661 00:34:16,989 --> 00:34:20,380 computer science was very, very new compared with mathematics. 662 00:34:20,380 --> 00:34:23,020 But now, after 40 years when I think back, 663 00:34:23,020 --> 00:34:25,480 I realized that how close to the beginning 664 00:34:25,480 --> 00:34:27,909 I was entering into that field. 665 00:34:27,909 --> 00:34:29,949 Because when I entered the field there 666 00:34:29,949 --> 00:34:37,230 were already many big names and people, but I think that-- 667 00:34:37,230 --> 00:34:44,300 668 00:34:44,300 --> 00:34:46,420 I think that it is very important 669 00:34:46,420 --> 00:34:50,770 to get into an area early, so I think that perhaps all of us 670 00:34:50,770 --> 00:34:53,139 have that advantage here. 671 00:34:53,139 --> 00:34:58,900 I think the evolution of the technologies 672 00:34:58,900 --> 00:35:03,490 was kind of foreseen by most people in a misty way, 673 00:35:03,490 --> 00:35:06,970 without recognizing everything. 674 00:35:06,970 --> 00:35:09,850 Clearly, some of the many computer vendors 675 00:35:09,850 --> 00:35:15,830 didn't see the impact of the processor on a chip very well 676 00:35:15,830 --> 00:35:18,050 and are out of business. 677 00:35:18,050 --> 00:35:24,500 But from the earliest days of time-sharing, 678 00:35:24,500 --> 00:35:29,300 we had already discovered social interaction 679 00:35:29,300 --> 00:35:31,890 in the form of messages to each other, 680 00:35:31,890 --> 00:35:34,550 which later evolved into email. 681 00:35:34,550 --> 00:35:38,450 Initially, they were just messages within the system. 682 00:35:38,450 --> 00:35:41,270 And today, the social interaction 683 00:35:41,270 --> 00:35:44,870 extends to Facebook and now even Twitter. 684 00:35:44,870 --> 00:35:48,800 Yes, I do have a Facebook account, but I'm like Ron, 685 00:35:48,800 --> 00:35:50,270 I don't log in very well. 686 00:35:50,270 --> 00:35:53,892 I was coaxed into it by my grandchildren. 687 00:35:53,892 --> 00:35:56,990 688 00:35:56,990 --> 00:36:04,490 But, I too share with Barbara the hesitation 689 00:36:04,490 --> 00:36:09,770 to expose more than I have today on my website, which 690 00:36:09,770 --> 00:36:12,590 is a brief bio, which is comparable to what 691 00:36:12,590 --> 00:36:17,180 you can find just by any normal Google search. 692 00:36:17,180 --> 00:36:23,190 So I think some of those reservations 693 00:36:23,190 --> 00:36:27,600 are because maybe we've been around long enough to recognize 694 00:36:27,600 --> 00:36:31,320 some of the disasters that occur when people make mistakes. 695 00:36:31,320 --> 00:36:38,700 But I think most people have that aha moment when they send 696 00:36:38,700 --> 00:36:41,010 an email, they regret it, and they 697 00:36:41,010 --> 00:36:44,850 realize they can't get it back and there's 698 00:36:44,850 --> 00:36:47,370 nothing they can do. 699 00:36:47,370 --> 00:36:49,860 And that was a revelation to everybody 700 00:36:49,860 --> 00:36:52,110 when they first discovered. 701 00:36:52,110 --> 00:36:54,870 Well maybe the next Turing Award winner 702 00:36:54,870 --> 00:36:58,758 should be the person who invents the unsend key. 703 00:36:58,758 --> 00:37:01,300 Steve, I wanted to respond to your question, too, if I could. 704 00:37:01,300 --> 00:37:03,092 Because theory is a bit different, I think. 705 00:37:03,092 --> 00:37:05,730 And the ability to do theory untethered 706 00:37:05,730 --> 00:37:09,060 to the technology of the day is a characteristic of theory, 707 00:37:09,060 --> 00:37:10,380 sort of by definition. 708 00:37:10,380 --> 00:37:13,290 And we see that today with quantum computing, right. 709 00:37:13,290 --> 00:37:16,290 It's not clear at all whether we can build quantum computers. 710 00:37:16,290 --> 00:37:18,962 There may be possible, but there's 711 00:37:18,962 --> 00:37:20,170 a wonderful theory involving. 712 00:37:20,170 --> 00:37:23,200 Scott Aaronson and other people are working on this. 713 00:37:23,200 --> 00:37:27,352 And it's an example of theory evolving, independent 714 00:37:27,352 --> 00:37:28,810 of the technological underpinnings. 715 00:37:28,810 --> 00:37:31,030 And I think had, in response to your question, 716 00:37:31,030 --> 00:37:35,410 had the computer technology frozen in the '60s or the '70s, 717 00:37:35,410 --> 00:37:37,738 we would have seen much of the same theory evolve too. 718 00:37:37,738 --> 00:37:40,280 Maybe there wouldn't have been as much funding, or something, 719 00:37:40,280 --> 00:37:40,780 I don't know. 720 00:37:40,780 --> 00:37:42,580 But it would have been the kinds of questions asked 721 00:37:42,580 --> 00:37:43,960 and the kinds of evolutions might 722 00:37:43,960 --> 00:37:45,430 have been very much the same. 723 00:37:45,430 --> 00:37:48,160 Recall that NP completeness came about that time too. 724 00:37:48,160 --> 00:37:50,368 725 00:37:50,368 --> 00:37:51,910 Of course NP completeness was sort of 726 00:37:51,910 --> 00:37:54,170 on the pessimistic side of theory, 727 00:37:54,170 --> 00:37:56,170 what you can't do maybe, so you don't 728 00:37:56,170 --> 00:37:58,840 need the hardware to do that. 729 00:37:58,840 --> 00:38:02,433 But even public-key was ahead of its time, 730 00:38:02,433 --> 00:38:03,850 in the sense that it really didn't 731 00:38:03,850 --> 00:38:06,940 have a utility until the web was invented till Tim. 732 00:38:06,940 --> 00:38:08,410 But if the market hadn't developed 733 00:38:08,410 --> 00:38:11,080 for public-key cryptography, you think 734 00:38:11,080 --> 00:38:12,340 you still would have done it? 735 00:38:12,340 --> 00:38:14,530 You wouldn't just be an obscure number theorist instead 736 00:38:14,530 --> 00:38:15,572 of a Turing award winner? 737 00:38:15,572 --> 00:38:19,030 There was a conference series started in the early '80s, 738 00:38:19,030 --> 00:38:21,490 but the market for cryptography didn't really 739 00:38:21,490 --> 00:38:22,850 happen until the '90s. 740 00:38:22,850 --> 00:38:25,060 So it's a whole decade of vigorous theoretical 741 00:38:25,060 --> 00:38:28,060 exploration before the market happened there. 742 00:38:28,060 --> 00:38:31,880 So theoretical work and cryptography is part of that. 743 00:38:31,880 --> 00:38:33,630 There's been a big market for cryptography 744 00:38:33,630 --> 00:38:35,190 for hundreds of years. 745 00:38:35,190 --> 00:38:39,870 Well big in the sense of the military market 746 00:38:39,870 --> 00:38:43,020 has always been there, of course. 747 00:38:43,020 --> 00:38:43,860 OK. 748 00:38:43,860 --> 00:38:45,610 Before leaving the Moore's law thing, 749 00:38:45,610 --> 00:38:49,950 can we look at potentially the dark side of it? 750 00:38:49,950 --> 00:38:54,810 Is it possible that the Moore's law growth of technology 751 00:38:54,810 --> 00:38:58,650 has made too much function available too fast, 752 00:38:58,650 --> 00:39:01,170 that we haven't actually had time to develop 753 00:39:01,170 --> 00:39:03,570 mature engineering disciplines? 754 00:39:03,570 --> 00:39:07,440 There's a lot of complaints about the quality of software 755 00:39:07,440 --> 00:39:10,520 these days, for example. 756 00:39:10,520 --> 00:39:12,270 It's the law of nature that there's always 757 00:39:12,270 --> 00:39:14,853 going to be a lot of complaints about the quality of software. 758 00:39:14,853 --> 00:39:15,580 Why is that? 759 00:39:15,580 --> 00:39:20,620 Because we always raise our aspirations 760 00:39:20,620 --> 00:39:22,270 to the point where we can't quite do 761 00:39:22,270 --> 00:39:24,720 it or we can just barely do it. 762 00:39:24,720 --> 00:39:25,410 Yeah. 763 00:39:25,410 --> 00:39:30,180 So that's just-- words fail me. 764 00:39:30,180 --> 00:39:34,290 But I actually think that the much more serious implications 765 00:39:34,290 --> 00:39:37,260 are the sociological implications of computing. 766 00:39:37,260 --> 00:39:39,150 I mean, we heard yesterday in the talks 767 00:39:39,150 --> 00:39:43,290 about the financial markets about the danger of completely 768 00:39:43,290 --> 00:39:45,480 computer-controlled trading. 769 00:39:45,480 --> 00:39:47,880 And I think if you look across our technology, 770 00:39:47,880 --> 00:39:49,920 you see this in many sectors. 771 00:39:49,920 --> 00:39:51,570 That we have developed the technology-- 772 00:39:51,570 --> 00:39:53,612 I mean, I don't think the problem of the software 773 00:39:53,612 --> 00:39:56,160 is the big problem, I think it's the control of technology. 774 00:39:56,160 --> 00:39:58,850 But of course, this is not limited to our technology. 775 00:39:58,850 --> 00:40:02,580 Yeah it's not as bad as nuclear fission. 776 00:40:02,580 --> 00:40:05,470 Just look at it that way when you start wringing your hands. 777 00:40:05,470 --> 00:40:08,280 But nevertheless, it's a serious problem. 778 00:40:08,280 --> 00:40:10,590 And it takes time for a society to catch up 779 00:40:10,590 --> 00:40:12,830 with the innovations. 780 00:40:12,830 --> 00:40:16,440 It's not as bad as the spinning jenny, either. 781 00:40:16,440 --> 00:40:21,230 OK, let's exercise your crystal ball a little bit more. 782 00:40:21,230 --> 00:40:26,100 Put yourself in the position of a new PhD student 783 00:40:26,100 --> 00:40:27,840 just starting your career. 784 00:40:27,840 --> 00:40:29,788 What problem would you choose to work on? 785 00:40:29,788 --> 00:40:31,830 What do you think are the important problems that 786 00:40:31,830 --> 00:40:34,020 are facing computer science now, and the ones where 787 00:40:34,020 --> 00:40:37,118 there are still dramatic progress to be made? 788 00:40:37,118 --> 00:40:39,660 I'll give the same answer I gave last time a similar question 789 00:40:39,660 --> 00:40:40,535 was asked on a panel. 790 00:40:40,535 --> 00:40:42,394 P equals NP. 791 00:40:42,394 --> 00:40:44,382 [LAUGHTER] 792 00:40:44,382 --> 00:40:46,870 793 00:40:46,870 --> 00:40:47,860 Well I would venture-- 794 00:40:47,860 --> 00:40:50,140 Not always silence is ever met. 795 00:40:50,140 --> 00:40:52,790 For a short time. 796 00:40:52,790 --> 00:40:58,270 Would you actually, as a PhD supervisor with a new PhD 797 00:40:58,270 --> 00:41:00,940 student, would you advise him to tackle 798 00:41:00,940 --> 00:41:04,690 as a thesis topic settling the P equals NP question? 799 00:41:04,690 --> 00:41:06,437 No, that would be unwise. 800 00:41:06,437 --> 00:41:08,020 Think that would be bad career advice. 801 00:41:08,020 --> 00:41:10,920 It's not quite what was asked. 802 00:41:10,920 --> 00:41:17,220 Well I would advise a really brilliant PhD student 803 00:41:17,220 --> 00:41:19,860 to work on the factoring of large integers 804 00:41:19,860 --> 00:41:21,000 by classical means. 805 00:41:21,000 --> 00:41:24,687 Which may irk Ron a bit, but I think 806 00:41:24,687 --> 00:41:25,937 that that's the right problem. 807 00:41:25,937 --> 00:41:27,240 It's the question we want to know the answer to. 808 00:41:27,240 --> 00:41:27,800 Yeah. 809 00:41:27,800 --> 00:41:28,380 Yeah, so. 810 00:41:28,380 --> 00:41:28,890 Yeah. 811 00:41:28,890 --> 00:41:33,360 I think machine learning is a really promising area. 812 00:41:33,360 --> 00:41:35,110 It's vibrant right now, a lot happening. 813 00:41:35,110 --> 00:41:36,810 And I think new students with a lot 814 00:41:36,810 --> 00:41:40,710 of mathematical or other skills could make progress there, 815 00:41:40,710 --> 00:41:45,140 and I think that's an area which is going to be recommended. 816 00:41:45,140 --> 00:41:48,650 Well Ed Lazowska already gave my spiel on this subject 817 00:41:48,650 --> 00:41:51,260 yesterday. 818 00:41:51,260 --> 00:41:54,980 I think it's very clear that although sort 819 00:41:54,980 --> 00:42:00,350 of classical simulation and communication 820 00:42:00,350 --> 00:42:02,210 applications of computing will continue 821 00:42:02,210 --> 00:42:06,500 to be interesting and important, the really hot area is going 822 00:42:06,500 --> 00:42:08,720 to be what I like to call embodiment 823 00:42:08,720 --> 00:42:11,780 and what the NSF calls by the bureaucratic name 824 00:42:11,780 --> 00:42:14,360 cyber-physical systems. 825 00:42:14,360 --> 00:42:17,240 Which to me means computer systems 826 00:42:17,240 --> 00:42:18,920 that have non-trivial interactions 827 00:42:18,920 --> 00:42:20,093 with the physical world. 828 00:42:20,093 --> 00:42:22,010 This is something that's just getting started, 829 00:42:22,010 --> 00:42:25,460 and that's going to be even more interesting 830 00:42:25,460 --> 00:42:29,750 and important than the areas that have already been mined. 831 00:42:29,750 --> 00:42:32,750 So I thought Ed's talk yesterday was great, 832 00:42:32,750 --> 00:42:35,910 and you gave me hope about systems again. 833 00:42:35,910 --> 00:42:38,330 I think that the characterization of systems 834 00:42:38,330 --> 00:42:40,250 going up and down the trough of despair 835 00:42:40,250 --> 00:42:42,410 and so forth, I think that's really right on. 836 00:42:42,410 --> 00:42:46,940 And it's very hard to answer the question for any of us 837 00:42:46,940 --> 00:42:49,010 I think, of what we would do today, 838 00:42:49,010 --> 00:42:50,930 because we're not young anymore. 839 00:42:50,930 --> 00:42:53,810 And when you're young you see the world a little differently 840 00:42:53,810 --> 00:42:55,490 than when you're not so young. 841 00:42:55,490 --> 00:42:58,363 My thought about today is that I still 842 00:42:58,363 --> 00:43:00,530 think there are very interesting issues and systems, 843 00:43:00,530 --> 00:43:03,500 but I also think that it's not really embodiment so more, 844 00:43:03,500 --> 00:43:07,260 as much as the combination of computer science and something 845 00:43:07,260 --> 00:43:07,760 else. 846 00:43:07,760 --> 00:43:12,050 Like, I do think computational biology is really interesting, 847 00:43:12,050 --> 00:43:15,830 and so if I were starting off today that's the kind of thing 848 00:43:15,830 --> 00:43:16,730 I might do. 849 00:43:16,730 --> 00:43:18,740 I think all of us benefited from the fact 850 00:43:18,740 --> 00:43:21,133 that we happened to see this new field 851 00:43:21,133 --> 00:43:23,550 and we were lucky enough to get in at the beginning of it. 852 00:43:23,550 --> 00:43:26,540 And I think that's a way that you have a really interesting 853 00:43:26,540 --> 00:43:29,780 career, because there are just so many open problems that you 854 00:43:29,780 --> 00:43:32,630 can work on that people have not solved before. 855 00:43:32,630 --> 00:43:35,180 But it's very hard for us today to see what goes-- 856 00:43:35,180 --> 00:43:37,040 Well, isn't the flip side of that argument, 857 00:43:37,040 --> 00:43:40,370 to put it very cynically, that you guys have taken 858 00:43:40,370 --> 00:43:42,170 all the low hanging fruit? 859 00:43:42,170 --> 00:43:45,470 You've built these great systems in the '60s and '70s 860 00:43:45,470 --> 00:43:49,275 and all the new PhDs can do is kind of fine tune 861 00:43:49,275 --> 00:43:50,900 the fundamentals that you've laid down? 862 00:43:50,900 --> 00:43:52,100 Absolutely not. 863 00:43:52,100 --> 00:43:53,840 Somehow they find interesting things. 864 00:43:53,840 --> 00:43:56,060 That's right. 865 00:43:56,060 --> 00:43:57,080 OK. 866 00:43:57,080 --> 00:44:02,540 So another question from an attendee, directed to all. 867 00:44:02,540 --> 00:44:06,740 And it reads, isn't it time for parallel programming techniques 868 00:44:06,740 --> 00:44:09,070 that mortals can understand? 869 00:44:09,070 --> 00:44:10,160 Yeah. 870 00:44:10,160 --> 00:44:11,110 It is, indeed. 871 00:44:11,110 --> 00:44:11,930 Yes it is. 872 00:44:11,930 --> 00:44:15,470 873 00:44:15,470 --> 00:44:18,110 That's a really important question, 874 00:44:18,110 --> 00:44:20,990 and it's not clear to me that the answer is yes. 875 00:44:20,990 --> 00:44:23,360 That in the end we will succeed. 876 00:44:23,360 --> 00:44:26,120 And if we can't succeed, then that's 877 00:44:26,120 --> 00:44:28,670 going to limit the applicability of 878 00:44:28,670 --> 00:44:30,750 the huge multi-core computers. 879 00:44:30,750 --> 00:44:33,260 And that's not necessarily bad, it just 880 00:44:33,260 --> 00:44:37,970 means that the technology will go in one way or another. 881 00:44:37,970 --> 00:44:41,630 God did not say that computers had to have thousands of cores. 882 00:44:41,630 --> 00:44:44,760 But I think as a technical challenge, 883 00:44:44,760 --> 00:44:46,525 it's a huge interesting problem right now. 884 00:44:46,525 --> 00:44:48,650 Is it a programming language problem, do you think? 885 00:44:48,650 --> 00:44:49,400 I think so, yeah. 886 00:44:49,400 --> 00:44:50,960 It's a programming language problem 887 00:44:50,960 --> 00:44:53,600 and it's a methodology problem, even more. 888 00:44:53,600 --> 00:44:56,190 Because programming languages follow methodology, 889 00:44:56,190 --> 00:44:57,440 so it's a methodology problem. 890 00:44:57,440 --> 00:45:01,050 If we can figure out how to organize those programs, 891 00:45:01,050 --> 00:45:02,840 that's the first thing we have to do. 892 00:45:02,840 --> 00:45:04,880 Then we can invent programming languages 893 00:45:04,880 --> 00:45:06,230 that support the methodology. 894 00:45:06,230 --> 00:45:08,450 But so far we don't have too much 895 00:45:08,450 --> 00:45:11,200 of a clue about what to do with this. 896 00:45:11,200 --> 00:45:13,490 This one striking counter-example 897 00:45:13,490 --> 00:45:14,900 to that, which is MapReduce. 898 00:45:14,900 --> 00:45:18,170 Yes, but I don't think MapReduce goes all that far 899 00:45:18,170 --> 00:45:20,595 in solving the general class of problems. 900 00:45:20,595 --> 00:45:22,970 It goes nowhere in solving the general class of problems, 901 00:45:22,970 --> 00:45:23,630 that's certainly true. 902 00:45:23,630 --> 00:45:25,963 But there is a large class of problems where we actually 903 00:45:25,963 --> 00:45:28,600 do have a reasonable answer. 904 00:45:28,600 --> 00:45:31,840 Well should the question be actually limited 905 00:45:31,840 --> 00:45:33,370 to parallel programming? 906 00:45:33,370 --> 00:45:37,590 I mean, what about just everyday programming? 907 00:45:37,590 --> 00:45:39,420 One could ask the skeptical question 908 00:45:39,420 --> 00:45:41,910 that despite all that you've taught us about programming 909 00:45:41,910 --> 00:45:46,162 languages, Barbara, JavaScript has emerged 910 00:45:46,162 --> 00:45:48,370 as the most popular programming language in the world 911 00:45:48,370 --> 00:45:52,640 and that's hardly an exemplar of your lessons. 912 00:45:52,640 --> 00:45:55,030 Can that be interpreted as evidence 913 00:45:55,030 --> 00:45:58,528 that programming languages don't really matter that much? 914 00:45:58,528 --> 00:46:00,070 The correct way to look at JavaScript 915 00:46:00,070 --> 00:46:03,670 is it's a machine language. 916 00:46:03,670 --> 00:46:06,460 Well it's a machine language that a lot of lines of code 917 00:46:06,460 --> 00:46:07,750 are written in every year. 918 00:46:07,750 --> 00:46:09,593 Only for relatively small programs. 919 00:46:09,593 --> 00:46:10,510 People want to write-- 920 00:46:10,510 --> 00:46:11,080 It's changing. 921 00:46:11,080 --> 00:46:13,000 People want to write big programs, I don't think so. 922 00:46:13,000 --> 00:46:13,990 People want to write big programs, 923 00:46:13,990 --> 00:46:14,950 they write them in something else 924 00:46:14,950 --> 00:46:16,570 and they compile them into JavaScript 925 00:46:16,570 --> 00:46:18,120 so that the browser will run them. 926 00:46:18,120 --> 00:46:18,880 Yeah. 927 00:46:18,880 --> 00:46:21,460 I mean, it's a sad statement about our field 928 00:46:21,460 --> 00:46:25,182 that a lot of big programs start off with small programs. 929 00:46:25,182 --> 00:46:26,890 And when you're building a small program, 930 00:46:26,890 --> 00:46:29,050 you don't have to pay much attention to methodology 931 00:46:29,050 --> 00:46:31,360 because you can just do it through brute force. 932 00:46:31,360 --> 00:46:32,140 Willpower. 933 00:46:32,140 --> 00:46:33,710 Willpower. 934 00:46:33,710 --> 00:46:34,850 Brute force. 935 00:46:34,850 --> 00:46:37,000 It's a form of willpower, right. 936 00:46:37,000 --> 00:46:39,550 And then, so this is why there's so much 937 00:46:39,550 --> 00:46:42,850 stuff written in languages that are not really all that great. 938 00:46:42,850 --> 00:46:44,433 Because you start off this way, you 939 00:46:44,433 --> 00:46:45,850 don't have to think about it hard. 940 00:46:45,850 --> 00:46:49,232 Then when you get to the big problems, you're in trouble. 941 00:46:49,232 --> 00:46:50,940 But it's, I don't know how to solve this. 942 00:46:50,940 --> 00:46:52,935 Yeah but we're OK, for the reason that I said. 943 00:46:52,935 --> 00:46:54,310 JavaScript is a machine language, 944 00:46:54,310 --> 00:46:57,400 you can write your program in any language you want. 945 00:46:57,400 --> 00:46:57,900 OK. 946 00:46:57,900 --> 00:47:03,020 I have a question addressed to Butler, Barbara, and Corby. 947 00:47:03,020 --> 00:47:04,530 The question is this. 948 00:47:04,530 --> 00:47:07,470 As computation becomes increasingly distributed, 949 00:47:07,470 --> 00:47:09,890 should we rethink the role of the operating system? 950 00:47:09,890 --> 00:47:13,570 951 00:47:13,570 --> 00:47:16,110 So there's a very healthy operating system community that 952 00:47:16,110 --> 00:47:18,540 thinks about this all the time. 953 00:47:18,540 --> 00:47:20,970 My basic belief is that distributed computing 954 00:47:20,970 --> 00:47:22,890 is probably the source of inspiration 955 00:47:22,890 --> 00:47:24,480 for parallel computing. 956 00:47:24,480 --> 00:47:27,150 Distribute computing actually is not in bad shape, 957 00:47:27,150 --> 00:47:31,200 and it is the way that Google does all its work today. 958 00:47:31,200 --> 00:47:33,360 It is the way that in fact, companies 959 00:47:33,360 --> 00:47:35,130 that have lots and lots of processors, 960 00:47:35,130 --> 00:47:37,650 those are parallel machines, in a sense. 961 00:47:37,650 --> 00:47:40,230 It's just that they use a particular memory 962 00:47:40,230 --> 00:47:42,900 model and a particular way of thinking about how computation 963 00:47:42,900 --> 00:47:44,220 is organized. 964 00:47:44,220 --> 00:47:46,020 They run MapReduce. 965 00:47:46,020 --> 00:47:48,840 Some of them run MapReduce, some of them don't. 966 00:47:48,840 --> 00:47:50,280 Most of them do, actually. 967 00:47:50,280 --> 00:47:51,882 If you get down to the systems level, 968 00:47:51,882 --> 00:47:53,340 they're not running MapReduce, they 969 00:47:53,340 --> 00:47:54,750 are implementing MapReduce. 970 00:47:54,750 --> 00:47:56,760 That is undeniably true. 971 00:47:56,760 --> 00:47:58,948 They're running some boring variant of Unix 972 00:47:58,948 --> 00:47:59,990 down at the system level. 973 00:47:59,990 --> 00:48:02,280 Yeah, it's not clear to me that the operating systems 974 00:48:02,280 --> 00:48:03,060 are different. 975 00:48:03,060 --> 00:48:05,690 That the problems that people look at in the operating system 976 00:48:05,690 --> 00:48:07,190 may change a little bit, the way you 977 00:48:07,190 --> 00:48:09,840 do load balancing, your notions of virtualization, 978 00:48:09,840 --> 00:48:11,190 they may evolve a bit. 979 00:48:11,190 --> 00:48:13,230 But it's not clear that they're very 980 00:48:13,230 --> 00:48:15,642 different than what they were. 981 00:48:15,642 --> 00:48:17,350 Not much has changed in operating systems 982 00:48:17,350 --> 00:48:19,423 since the mid '70s. 983 00:48:19,423 --> 00:48:21,340 In my opinion it's not for commercial reasons, 984 00:48:21,340 --> 00:48:23,590 it's because we haven't had any great new ideas. 985 00:48:23,590 --> 00:48:26,400 Aren't there people who argue that the web is now 986 00:48:26,400 --> 00:48:27,870 our operating system? 987 00:48:27,870 --> 00:48:30,940 I have no idea what that means. 988 00:48:30,940 --> 00:48:32,940 Yes, certainly, there are people who argue that, 989 00:48:32,940 --> 00:48:35,430 but I have no idea what it means. 990 00:48:35,430 --> 00:48:35,930 OK. 991 00:48:35,930 --> 00:48:38,550 992 00:48:38,550 --> 00:48:41,880 Here's a question, perhaps for our theorists. 993 00:48:41,880 --> 00:48:44,640 Has there been any progress made in the question of P equals 994 00:48:44,640 --> 00:48:47,610 NP over the last 20 years? 995 00:48:47,610 --> 00:48:51,010 And do people do people still work on this problem? 996 00:48:51,010 --> 00:48:53,580 997 00:48:53,580 --> 00:48:58,140 I think that there are people who still work on this problem, 998 00:48:58,140 --> 00:49:02,220 as evidenced by the claim of solving 999 00:49:02,220 --> 00:49:06,070 P equal to NP or the other way every few years. 1000 00:49:06,070 --> 00:49:12,000 I think that the most recent one appeared with a very high 1001 00:49:12,000 --> 00:49:16,350 publicity about a year ago. 1002 00:49:16,350 --> 00:49:20,020 So I think there are people who still work on it, 1003 00:49:20,020 --> 00:49:26,070 and I think the last one got some-- 1004 00:49:26,070 --> 00:49:28,950 1005 00:49:28,950 --> 00:49:32,130 I think that most of the claims, people just brushed off. 1006 00:49:32,130 --> 00:49:36,200 But somehow the last one got a little bit more esteem. 1007 00:49:36,200 --> 00:49:44,390 1008 00:49:44,390 --> 00:49:51,185 My feeling is that there has not been any real progress of P 1009 00:49:51,185 --> 00:49:52,070 equal to NP. 1010 00:49:52,070 --> 00:49:58,850 1011 00:49:58,850 --> 00:50:01,670 I think that if you want to win a Turing Award 1012 00:50:01,670 --> 00:50:03,470 by working on P equal to NP-- 1013 00:50:03,470 --> 00:50:07,160 Butler, sorry-- I think that it probably is not 1014 00:50:07,160 --> 00:50:09,860 a good idea for a PhD student. 1015 00:50:09,860 --> 00:50:12,060 I don't deny that. 1016 00:50:12,060 --> 00:50:14,750 We have made some progress, but of a negative sort. 1017 00:50:14,750 --> 00:50:17,300 I mean, we do know why certain classes of arguments 1018 00:50:17,300 --> 00:50:18,572 don't work. 1019 00:50:18,572 --> 00:50:20,660 Some of the arguments relativize, 1020 00:50:20,660 --> 00:50:22,580 or there's other issues with them, 1021 00:50:22,580 --> 00:50:27,910 so we're getting more frustrated. 1022 00:50:27,910 --> 00:50:29,770 We're understanding the narrow path 1023 00:50:29,770 --> 00:50:32,350 we have to follow to come up with a proof, maybe. 1024 00:50:32,350 --> 00:50:33,160 OK. 1025 00:50:33,160 --> 00:50:33,880 OK. 1026 00:50:33,880 --> 00:50:36,760 Let me ask you to turn up the gain on your crystal 1027 00:50:36,760 --> 00:50:38,830 ball a lot. 1028 00:50:38,830 --> 00:50:42,460 There will presumably be a celebration like this in 2061 1029 00:50:42,460 --> 00:50:47,050 of MIT'S 200th anniversary. 1030 00:50:47,050 --> 00:50:48,310 Will it be a Turing session? 1031 00:50:48,310 --> 00:50:50,680 Will there be Turing Awards? 1032 00:50:50,680 --> 00:50:53,440 Will it be computer science, will computer science 1033 00:50:53,440 --> 00:50:56,800 have just assimilated into other disciplines like math 1034 00:50:56,800 --> 00:50:58,330 and physics? 1035 00:50:58,330 --> 00:51:00,580 Any ideas? 1036 00:51:00,580 --> 00:51:03,610 Well I could speak up and say I don't expect to be there. 1037 00:51:03,610 --> 00:51:07,990 1038 00:51:07,990 --> 00:51:10,600 Well we will certainly reserve a place for you, nonetheless. 1039 00:51:10,600 --> 00:51:12,340 Thank you. 1040 00:51:12,340 --> 00:51:17,260 Well, I have a feeling that at MIT 200 1041 00:51:17,260 --> 00:51:19,570 there will still be Turing Awards. 1042 00:51:19,570 --> 00:51:21,340 And actually, at that time, I think 1043 00:51:21,340 --> 00:51:23,170 contrary to what you think, I think 1044 00:51:23,170 --> 00:51:28,043 that computer science has absorbed physics and biology 1045 00:51:28,043 --> 00:51:28,969 and everything else. 1046 00:51:28,969 --> 00:51:35,380 1047 00:51:35,380 --> 00:51:36,460 That's a great answer. 1048 00:51:36,460 --> 00:51:36,960 OK. 1049 00:51:36,960 --> 00:51:39,160 The person moderating the panel, Steve, will be a robot. 1050 00:51:39,160 --> 00:51:40,035 It won't be a person. 1051 00:51:40,035 --> 00:51:40,838 OK. 1052 00:51:40,838 --> 00:51:42,380 Well the panelists be robots as well? 1053 00:51:42,380 --> 00:51:44,140 We don't know. 1054 00:51:44,140 --> 00:51:45,500 Intriguing possibility. 1055 00:51:45,500 --> 00:51:46,000 OK. 1056 00:51:46,000 --> 00:51:52,420 At the ACM's 50th anniversary celebration, which was in 1997, 1057 00:51:52,420 --> 00:51:56,530 my then boss Nathan Myhrvold made a prediction 1058 00:51:56,530 --> 00:51:58,300 about what would happen. 1059 00:51:58,300 --> 00:52:00,680 What would be going on 50 years in the future? 1060 00:52:00,680 --> 00:52:02,920 They asked a lot of people to do this. 1061 00:52:02,920 --> 00:52:05,350 I would never have dared to make a prediction about what 1062 00:52:05,350 --> 00:52:07,330 computing is going to be like in 50 years, 1063 00:52:07,330 --> 00:52:08,330 but Nathan is fearless. 1064 00:52:08,330 --> 00:52:10,858 He predicted uploading. 1065 00:52:10,858 --> 00:52:13,150 So uploading means you get to upload your consciousness 1066 00:52:13,150 --> 00:52:14,480 into a computer. 1067 00:52:14,480 --> 00:52:15,730 Why would you want to do that? 1068 00:52:15,730 --> 00:52:18,610 Well, you can be immortal. 1069 00:52:18,610 --> 00:52:19,210 Great. 1070 00:52:19,210 --> 00:52:22,840 And it seems to me, if you're a materialist, 1071 00:52:22,840 --> 00:52:24,160 you can't really rule this out. 1072 00:52:24,160 --> 00:52:26,800 1073 00:52:26,800 --> 00:52:27,680 OK. 1074 00:52:27,680 --> 00:52:28,180 Well. 1075 00:52:28,180 --> 00:52:31,210 1076 00:52:31,210 --> 00:52:35,860 On that profound thought, I'd like 1077 00:52:35,860 --> 00:52:41,350 to close this session by resurrecting an old tradition 1078 00:52:41,350 --> 00:52:44,180 that Mike Dertouzos started many decades ago. 1079 00:52:44,180 --> 00:52:47,560 He hosted the distinguished lecturer series 1080 00:52:47,560 --> 00:52:51,850 of LCS, which is now called the Dertouzos lectures, and made 1081 00:52:51,850 --> 00:52:55,150 a practice of asking each of his distinguished lecturers 1082 00:52:55,150 --> 00:53:00,040 to summarize their life experience into a one sentence 1083 00:53:00,040 --> 00:53:01,820 lesson. 1084 00:53:01,820 --> 00:53:04,330 So I'm going to put each of you on the spot 1085 00:53:04,330 --> 00:53:08,380 and ask you for your sort of one sentence words of wisdom. 1086 00:53:08,380 --> 00:53:10,660 And of course, you're all Turing Award panelists, 1087 00:53:10,660 --> 00:53:13,960 so you have the strong advantage that you 1088 00:53:13,960 --> 00:53:16,480 can say something that's merely inscrutable 1089 00:53:16,480 --> 00:53:18,475 and the audience will interpret it as profound. 1090 00:53:18,475 --> 00:53:21,820 1091 00:53:21,820 --> 00:53:25,030 So Corby, can I ask you to start? 1092 00:53:25,030 --> 00:53:27,810 I'll give it a stab. 1093 00:53:27,810 --> 00:53:32,960 I think if there's any single thing that-- 1094 00:53:32,960 --> 00:53:35,180 a piece of advice one could give, 1095 00:53:35,180 --> 00:53:39,140 it is to follow your enthusiasm, whatever 1096 00:53:39,140 --> 00:53:42,080 that may turn out to be. 1097 00:53:42,080 --> 00:53:46,130 And in particular, take advantage 1098 00:53:46,130 --> 00:53:56,810 of the ambience of a place like MIT, 1099 00:53:56,810 --> 00:54:01,340 where one has to recognize in order to enjoy your life 1100 00:54:01,340 --> 00:54:08,150 you have to consider yourself a lifelong student, 1101 00:54:08,150 --> 00:54:13,250 and you really should take a drink from the fire hose. 1102 00:54:13,250 --> 00:54:14,270 Thank you, Corby. 1103 00:54:14,270 --> 00:54:15,860 Butler? 1104 00:54:15,860 --> 00:54:17,360 I think Corby said it very well, you 1105 00:54:17,360 --> 00:54:20,170 should do something that you really like doing. 1106 00:54:20,170 --> 00:54:23,470 And if you like doing lots of things, 1107 00:54:23,470 --> 00:54:29,440 I suggest that you consider either biology, or chemistry, 1108 00:54:29,440 --> 00:54:35,020 or computing as the hot fields for the next two 1109 00:54:35,020 --> 00:54:36,670 or three decades, at least. 1110 00:54:36,670 --> 00:54:37,480 Good. 1111 00:54:37,480 --> 00:54:38,825 Barbara? 1112 00:54:38,825 --> 00:54:40,450 So I think you should be opportunistic. 1113 00:54:40,450 --> 00:54:42,770 I think opportunism is a good thing. 1114 00:54:42,770 --> 00:54:44,470 And what it means is you look around 1115 00:54:44,470 --> 00:54:47,710 and you see what's moving and what's open 1116 00:54:47,710 --> 00:54:52,060 and then you should focus on what are the important problems 1117 00:54:52,060 --> 00:54:54,350 and avoid doing incremental work. 1118 00:54:54,350 --> 00:54:57,070 And if it requires changing your field, 1119 00:54:57,070 --> 00:55:00,088 then you shouldn't be afraid to do that. 1120 00:55:00,088 --> 00:55:01,430 Ron? 1121 00:55:01,430 --> 00:55:05,905 I guess it's very much in the same sort of spirit. 1122 00:55:05,905 --> 00:55:07,280 The thing I would advise students 1123 00:55:07,280 --> 00:55:10,580 would be to ask questions based on the technology, 1124 00:55:10,580 --> 00:55:14,000 the hot technology of the day, but to ask them in such a way 1125 00:55:14,000 --> 00:55:16,130 and try to derive answers that will 1126 00:55:16,130 --> 00:55:19,920 be interesting a couple of decades from now. 1127 00:55:19,920 --> 00:55:20,580 Good. 1128 00:55:20,580 --> 00:55:21,870 Andy? 1129 00:55:21,870 --> 00:55:24,780 My advice would be, for the students, 1130 00:55:24,780 --> 00:55:27,750 would be to always try to do something 1131 00:55:27,750 --> 00:55:31,290 that is just a little bit beyond your ability. 1132 00:55:31,290 --> 00:55:31,883 Great. 1133 00:55:31,883 --> 00:55:34,050 Well, I'd like to thank our distinguished panelists. 1134 00:55:34,050 --> 00:55:48,530 1135 00:55:48,530 --> 00:55:52,005 We have 4 and 1/2 minutes. 1136 00:55:52,005 --> 00:55:53,630 What would you like to talk more about? 1137 00:55:53,630 --> 00:55:55,978 1138 00:55:55,978 --> 00:55:58,520 This is the first time I've ever seen one of these things cut 1139 00:55:58,520 --> 00:56:01,580 off before its deadline. 1140 00:56:01,580 --> 00:56:02,990 I was going by my watch. 1141 00:56:02,990 --> 00:56:06,080 1142 00:56:06,080 --> 00:56:07,770 Oh, so there's-- 1143 00:56:07,770 --> 00:56:10,880 Other questions? 1144 00:56:10,880 --> 00:56:13,300 Shall we wing it and take a question from the audience? 1145 00:56:13,300 --> 00:56:13,800 Certainly. 1146 00:56:13,800 --> 00:56:14,430 Sure, why not? 1147 00:56:14,430 --> 00:56:14,930 Sure. 1148 00:56:14,930 --> 00:56:15,490 Yeah. 1149 00:56:15,490 --> 00:56:16,240 It's pretty scary. 1150 00:56:16,240 --> 00:56:17,115 A real-time question. 1151 00:56:17,115 --> 00:56:19,370 Yeah. 1152 00:56:19,370 --> 00:56:23,780 On the P equals NP problem, what about proving 1153 00:56:23,780 --> 00:56:29,015 that neither P equals NP nor P not equals NP is provable? 1154 00:56:29,015 --> 00:56:32,192 1155 00:56:32,192 --> 00:56:33,275 I would say it's possible. 1156 00:56:33,275 --> 00:56:38,500 1157 00:56:38,500 --> 00:56:42,200 But you may not be able to know whether that's true or not. 1158 00:56:42,200 --> 00:56:49,000 1159 00:56:49,000 --> 00:56:51,130 Do you think you can entertain another question? 1160 00:56:51,130 --> 00:56:52,000 Sure. 1161 00:56:52,000 --> 00:56:53,440 Stand close to the mic. 1162 00:56:53,440 --> 00:56:55,360 I just-- sorry-- I just wanted to make sure 1163 00:56:55,360 --> 00:56:57,365 that I was allowed to. 1164 00:56:57,365 --> 00:56:58,970 You were talking about the future, 1165 00:56:58,970 --> 00:57:00,910 I was just wondering what you might think. 1166 00:57:00,910 --> 00:57:03,880 One of you said machine learning was 1167 00:57:03,880 --> 00:57:09,010 a very hot topic in the future, and I might have been busy 1168 00:57:09,010 --> 00:57:13,700 and haven't heard the Turing IBM Watson computer. 1169 00:57:13,700 --> 00:57:20,060 And of course, at the feet of humanity as a search engine 1170 00:57:20,060 --> 00:57:22,590 because it can do more than what Google can do. 1171 00:57:22,590 --> 00:57:25,700 It can take care of human language, idiosyncrasies 1172 00:57:25,700 --> 00:57:27,870 and puns, and many other things. 1173 00:57:27,870 --> 00:57:29,840 So I think that with very little changes 1174 00:57:29,840 --> 00:57:31,700 it could be a stronger search engine 1175 00:57:31,700 --> 00:57:34,090 than Google and content search. 1176 00:57:34,090 --> 00:57:36,890 Also that, it only runs at 80 petaFLOPS, 1177 00:57:36,890 --> 00:57:39,920 which is a rather slow speed, because that speed has 1178 00:57:39,920 --> 00:57:45,710 been around for a year or two, maybe a year or so. 1179 00:57:45,710 --> 00:57:49,190 Even Anton chips with DE Shaw, even those specialized, 1180 00:57:49,190 --> 00:57:52,970 will probably be running faster floating point operations 1181 00:57:52,970 --> 00:57:53,690 than that. 1182 00:57:53,690 --> 00:57:56,258 Even though application is not a natural language. 1183 00:57:56,258 --> 00:57:58,550 The other thing I want to ask you about it, if you want 1184 00:57:58,550 --> 00:58:00,842 to comment on it, besides the Watson Computer's machine 1185 00:58:00,842 --> 00:58:03,275 learning success and search engine success, 1186 00:58:03,275 --> 00:58:07,800 is what do you think of Google and YouTube broadcast 1187 00:58:07,800 --> 00:58:10,610 as network like MTV? 1188 00:58:10,610 --> 00:58:12,200 The public doesn't like newspapers, 1189 00:58:12,200 --> 00:58:14,232 the public likes to generate their own news 1190 00:58:14,232 --> 00:58:16,190 because they think the newspapers and broadcast 1191 00:58:16,190 --> 00:58:19,620 news are a little bit corrupt, have their own agenda. 1192 00:58:19,620 --> 00:58:24,140 So if YouTube and broadcast and watch their own news, 1193 00:58:24,140 --> 00:58:25,970 it would be kind of like MTV for the young. 1194 00:58:25,970 --> 00:58:27,845 Because YouTube used to be the young, but now 1195 00:58:27,845 --> 00:58:29,250 it's replaced by Facebook. 1196 00:58:29,250 --> 00:58:32,870 So if it weren't cable TV, it could be the MTV [? change ?] 1197 00:58:32,870 --> 00:58:36,995 for Facebook, which is really YouTube with all the pictures. 1198 00:58:36,995 --> 00:58:39,660 Is that a question? 1199 00:58:39,660 --> 00:58:41,540 There's a lot there in that question. 1200 00:58:41,540 --> 00:58:43,880 I think my piece of advice would be to focus. 1201 00:58:43,880 --> 00:58:44,380 Focus. 1202 00:58:44,380 --> 00:58:46,352 [LAUGHTER] 1203 00:58:46,352 --> 00:58:47,810 Focus and get things narrowed down. 1204 00:58:47,810 --> 00:58:51,040 1205 00:58:51,040 --> 00:58:53,560 Well there is the whole YouTube kind 1206 00:58:53,560 --> 00:58:57,970 of revolution, where the citizenship, the browsers, 1207 00:58:57,970 --> 00:59:02,470 and so on are generating neural content. 1208 00:59:02,470 --> 00:59:04,690 We retract your invitation. 1209 00:59:04,690 --> 00:59:08,990 Sorry, but we are in fact now, officially out of time. 1210 00:59:08,990 --> 00:59:11,790 So, I thank the panelists. 1211 00:59:11,790 --> 00:59:13,000