1 00:00:00,000 --> 00:00:00,625 >> [Musikgengivelse] 2 00:00:00,625 --> 00:00:11,341 3 00:00:11,341 --> 00:00:12,090 NU: Hej, verden. 4 00:00:12,090 --> 00:00:14,330 Dette er CS50LIVE. 5 00:00:14,330 --> 00:00:17,792 Vi har sådan en god episode for dig. 6 00:00:17,792 --> 00:00:22,110 Den administrerende direktør for YouTube, en fejl i Internet Explorer, 7 00:00:22,110 --> 00:00:26,750 det værste videospil nogensinde, og en ekskursion til Valve Software. 8 00:00:26,750 --> 00:00:33,040 Men først en tur til Tokyo, Japan hvor præsident Obama for nylig spillet 9 00:00:33,040 --> 00:00:36,066 fodbold med en af ​​mine gode venner. 10 00:00:36,066 --> 00:00:37,050 >> [VIDEOAFSPILNING] 11 00:00:37,050 --> 00:00:43,930 12 00:00:43,930 --> 00:00:44,430 -Wow. 13 00:00:44,430 --> 00:00:45,414 Han bevæger sig. 14 00:00:45,414 --> 00:00:47,382 >> -Jeg kan sparke en fodbold også. 15 00:00:47,382 --> 00:00:49,842 Her går jeg. 16 00:00:49,842 --> 00:00:53,286 >> -Hey, godt stykke arbejde. 17 00:00:53,286 --> 00:00:54,687 >> [END VIDEOAFSPILNING] 18 00:00:54,687 --> 00:00:55,520 DAVID: Hej, verden. 19 00:00:55,520 --> 00:00:57,110 Jeg er her med CS50 egen Colton Ogden. 20 00:00:57,110 --> 00:00:58,430 >> COLTON OGDEN: Hej, alle sammen. 21 00:00:58,430 --> 00:00:59,940 >> DAVID: Og hvem der ellers gør vi har med os her i dag? 22 00:00:59,940 --> 00:01:02,606 >> COLTON OGDEN: Dette er nu vores lille robot kammerat fra Frankrig. 23 00:01:02,606 --> 00:01:05,299 DAVID: Så faktisk mødte jeg NO sideløbende [? Rob Boden?] 24 00:01:05,299 --> 00:01:07,590 da han og jeg var i Atlanta, Georgien et par uger tilbage 25 00:01:07,590 --> 00:01:09,890 som du måske husker på SIGCSE, Special Interest 26 00:01:09,890 --> 00:01:12,940 Gruppe for Computer Science Education, hvor bogstaveligt rundt 27 00:01:12,940 --> 00:01:14,919 mødelokalet ordet var denne fyr. 28 00:01:14,919 --> 00:01:16,960 Nå da det viser sig, når vi kom tilbage til campus 29 00:01:16,960 --> 00:01:20,360 opdagede vi, at professor [Uhørligt] af Harvards robotteknologi lab 30 00:01:20,360 --> 00:01:22,220 faktisk havde en Nu her på campus. 31 00:01:22,220 --> 00:01:24,742 Og hun venligt tilladt os at programmere ham til dig i dag. 32 00:01:24,742 --> 00:01:27,950 COLTON OGDEN: Ja, og faktisk, David, Jeg tror nu ønsker at sige hej til dig 33 00:01:27,950 --> 00:01:30,450 hvis du ønsker at gå omkring bordet her. 34 00:01:30,450 --> 00:01:32,815 >> DAVID: Lige her? 35 00:01:32,815 --> 00:01:33,315 Ok. 36 00:01:33,315 --> 00:01:36,060 37 00:01:36,060 --> 00:01:36,560 Ok. 38 00:01:36,560 --> 00:01:39,400 39 00:01:39,400 --> 00:01:40,650 >> NU: Hej, David. 40 00:01:40,650 --> 00:01:42,040 Hyggeligt at møde dig. 41 00:01:42,040 --> 00:01:43,960 >> DAVID: Hej, nu. 42 00:01:43,960 --> 00:01:45,000 Ryst hånden? 43 00:01:45,000 --> 00:01:48,510 >> COLTON Ogden: Shake hånden op og ned. 44 00:01:48,510 --> 00:01:50,310 >> DAVID: OK. 45 00:01:50,310 --> 00:01:52,435 >> COLTON Ogden: Og så han vil gå videre og sidde ned. 46 00:01:52,435 --> 00:01:54,476 Og hvis du er interesseret, Jeg kan faktisk vise dig 47 00:01:54,476 --> 00:01:56,715 hvordan jeg var i stand til at få ham at gøre alle disse ting også. 48 00:01:56,715 --> 00:01:57,200 >> DAVID: Ja, absolut. 49 00:01:57,200 --> 00:01:58,320 >> COLTON Ogden: Han er lidt off balance i morges. 50 00:01:58,320 --> 00:02:00,174 Han har ikke haft sin kaffe endnu. 51 00:02:00,174 --> 00:02:01,840 DAVID: Så hvad er denne vi kigger på? 52 00:02:01,840 --> 00:02:04,680 COLTON Ogden: Så vi kigger på her er en kerne graf, der nu er 53 00:02:04,680 --> 00:02:07,920 et grafisk programmeringsmiljø, som er meget lig Scratch 54 00:02:07,920 --> 00:02:09,317 at CS50 bruger. 55 00:02:09,317 --> 00:02:11,150 Her ser vi det er indstillet op som et flowdiagram. 56 00:02:11,150 --> 00:02:13,370 Og vi har en flok af disse små byggesten her. 57 00:02:13,370 --> 00:02:16,203 Nu, hvis vi tager et kig på denne ene for eksempel, kaldes det stå op. 58 00:02:16,203 --> 00:02:19,190 Og denne blok siger stå op for Nuet, uanset om han sidder ned 59 00:02:19,190 --> 00:02:20,320 eller hvad. 60 00:02:20,320 --> 00:02:22,990 >> Så ser vi det går i taktile hoved, som dybest set 61 00:02:22,990 --> 00:02:26,070 venter et tryk på toppen af hans hoved som du så tidligere. 62 00:02:26,070 --> 00:02:31,190 Flyt til hjælp bevæger sig i en x, y og z retning til en bestemt destination. 63 00:02:31,190 --> 00:02:33,980 Håndtryk er et modul jeg skrev, der dybest set siger, hej, David. 64 00:02:33,980 --> 00:02:34,688 Hyggeligt at møde dig. 65 00:02:34,688 --> 00:02:36,089 Venter et håndtryk. 66 00:02:36,089 --> 00:02:37,630 Sid ned er det modsatte af at stå op. 67 00:02:37,630 --> 00:02:38,796 Han vil gå videre og sidde ned. 68 00:02:38,796 --> 00:02:40,610 Og derefter hovedet bevægelse er en sløjfe, hvorved han 69 00:02:40,610 --> 00:02:42,090 vil bevæge hovedet i tilfældige retninger. 70 00:02:42,090 --> 00:02:42,520 >> DAVID: Interessant. 71 00:02:42,520 --> 00:02:44,890 Så selv om disse ikke ser ligesom puslespilsbrikker fra bunden, 72 00:02:44,890 --> 00:02:45,950 det er virkelig den samme idé. 73 00:02:45,950 --> 00:02:48,210 Og du ledningsføring et program ved hjælp af disse byggesten. 74 00:02:48,210 --> 00:02:49,020 >> COLTON OGDEN: Ja, præcis. 75 00:02:49,020 --> 00:02:50,590 >> DAVID: Så du siger, du har foretaget en af ​​dem, håndtryk. 76 00:02:50,590 --> 00:02:51,990 Kan vi zoome ind på den ene? 77 00:02:51,990 --> 00:02:52,131 >> COLTON Ogden: Sure. 78 00:02:52,131 --> 00:02:53,642 Vi vil tage et kig her på håndtryk. 79 00:02:53,642 --> 00:02:56,350 Og vi vil se det er sat op meget svarende til den anden flowdiagram. 80 00:02:56,350 --> 00:02:58,850 Vi starter med hej blok, som [uhørligt] siger goddag, David. 81 00:02:58,850 --> 00:03:00,030 Hyggeligt at møde dig. 82 00:03:00,030 --> 00:03:01,430 Denne ret her er en løkke. 83 00:03:01,430 --> 00:03:02,940 Den siger, opdage arm bevægelse. 84 00:03:02,940 --> 00:03:05,230 Så det vil i en uendelig loop vente, indtil dets arm 85 00:03:05,230 --> 00:03:06,620 er blevet rejst op og ned. 86 00:03:06,620 --> 00:03:09,370 Og derefter en gang det er sket, det vil gå videre og gøre disse ting. 87 00:03:09,370 --> 00:03:13,280 Indstil stivhed OK og gå til enden, som dybest set betyder sende ham tilbage 88 00:03:13,280 --> 00:03:14,309 til sin udgangsposition. 89 00:03:14,309 --> 00:03:15,100 DAVID: Interessant. 90 00:03:15,100 --> 00:03:17,910 Er du begrænset til kun ved hjælp af denne grafiske miljø 91 00:03:17,910 --> 00:03:19,070 at programmere ham på denne måde? 92 00:03:19,070 --> 00:03:19,820 >> COLTON OGDEN: Faktisk, nej. 93 00:03:19,820 --> 00:03:21,950 Hvis vi går videre og dobbeltklik nogen af ​​disse byggesten 94 00:03:21,950 --> 00:03:24,420 Vi kan se, at der er faktisk python kode under hætten, 95 00:03:24,420 --> 00:03:26,000 kraftoverførsel hver af disse byggesten. 96 00:03:26,000 --> 00:03:26,750 >> DAVID: Ah, ja. 97 00:03:26,750 --> 00:03:29,250 Så for dem bekendt, python er et fortolket sprog, 98 00:03:29,250 --> 00:03:32,240 meget ens i ånd med PHP, som vi bruger i CS50. 99 00:03:32,240 --> 00:03:35,344 Og meget gerne du kan bruge PHP til web programmering, 100 00:03:35,344 --> 00:03:37,010 du kan også bruge det på kommandolinjen. 101 00:03:37,010 --> 00:03:39,426 Og som Colton gør her i denne grafisk miljø, 102 00:03:39,426 --> 00:03:41,674 skrive programmer og derefter sende den via Wi-Fi - 103 00:03:41,674 --> 00:03:42,590 COLTON Ogden: Korrekt. 104 00:03:42,590 --> 00:03:43,310 David: - til nu. 105 00:03:43,310 --> 00:03:44,550 Vil du have nogle tid til at holde sig rundt? 106 00:03:44,550 --> 00:03:45,350 >> COLTON Ogden: Helt sikkert. 107 00:03:45,350 --> 00:03:45,710 >> DAVID: Okay. 108 00:03:45,710 --> 00:03:48,970 Nå, før Colton kommer tilbage med os for en lille smule af en overraskelse, 109 00:03:48,970 --> 00:03:54,470 vi nu - få det -? har 60 sekunder af tidligere CS50 studerende audition 110 00:03:54,470 --> 00:03:55,844 at blive undervise medmennesker. 111 00:03:55,844 --> 00:03:56,510 [VIDEOAFSPILNING] 112 00:03:56,510 --> 00:03:57,411 -Tak. 113 00:03:57,411 --> 00:03:58,910 Tak, alle, for at være her. 114 00:03:58,910 --> 00:04:00,510 >> -Hey, Mr. Bunny. 115 00:04:00,510 --> 00:04:02,120 >> -Velkommen til denne korte tutorial på - 116 00:04:02,120 --> 00:04:03,810 >> [Uhørligt] sjov med Twinkies. 117 00:04:03,810 --> 00:04:04,310 -Vent. 118 00:04:04,310 --> 00:04:05,040 Stop. 119 00:04:05,040 --> 00:04:07,121 >> -Så nu har vi et problem. 120 00:04:07,121 --> 00:04:07,620 -Det er ikke. 121 00:04:07,620 --> 00:04:08,869 Og jeg har tænkt mig at fortælle dig hvorfor. 122 00:04:08,869 --> 00:04:10,860 -En løkke er gentagelser, ligesom - 123 00:04:10,860 --> 00:04:12,970 >> -Sort af en sort boks. 124 00:04:12,970 --> 00:04:13,935 >> -OK. 125 00:04:13,935 --> 00:04:15,160 Jeg tror, ​​jeg får det. 126 00:04:15,160 --> 00:04:15,660 -Okay. 127 00:04:15,660 --> 00:04:17,140 Så nu er jeg i en lidt hårde del. 128 00:04:17,140 --> 00:04:18,800 >> -Det er rigtigt. 129 00:04:18,800 --> 00:04:20,485 8 bits gøre en byte. 130 00:04:20,485 --> 00:04:24,176 >> -Du tager en byte, og du adskille den i stykker af fire. 131 00:04:24,176 --> 00:04:26,423 >> -Bip, bip, bip, bip, bip. 132 00:04:26,423 --> 00:04:28,018 Bip, bip, bip, bip, bip. 133 00:04:28,018 --> 00:04:29,380 >> -Det virker alt for kompliceret. 134 00:04:29,380 --> 00:04:30,460 >> -Så lad os gøre det igen. 135 00:04:30,460 --> 00:04:32,580 >> -Hvis jeg forvirre dig, bedes velkommen til at stoppe mig. 136 00:04:32,580 --> 00:04:33,620 >> -Men vent et sekund. 137 00:04:33,620 --> 00:04:36,940 >> -Nå, lad os se tilbage på slæden og bryde ting ned trin for trin. 138 00:04:36,940 --> 00:04:41,720 >> -Hvis du kan huske, hukommelse er brudt op i byte stykker på størrelse. 139 00:04:41,720 --> 00:04:44,080 >> -Så her har vi i bedste fald. 140 00:04:44,080 --> 00:04:46,290 >> -Dette er en væsentlig forbedring i forhold til - 141 00:04:46,290 --> 00:04:47,715 >> -En webbrowser, ligesom Chrome. 142 00:04:47,715 --> 00:04:49,421 >> -Det er altid nødvendigt at frigøre nogen - 143 00:04:49,421 --> 00:04:49,920 -Folk - 144 00:04:49,920 --> 00:04:50,880 -Du kan køre på tværs. 145 00:04:50,880 --> 00:04:53,460 Og koden kan få lidt besværlig. 146 00:04:53,460 --> 00:04:55,640 >> -Og det er alt hvad du behøver. 147 00:04:55,640 --> 00:04:56,960 >> -Boom! 148 00:04:56,960 --> 00:04:59,140 >> DAVID: Nu CS50 egen Dan Coffey og jeg for nylig 149 00:04:59,140 --> 00:05:01,850 haft mulighed for at rejse ud til Mountain View, Californien, 150 00:05:01,850 --> 00:05:03,740 som er der, hvor hovedkvarter for Google er. 151 00:05:03,740 --> 00:05:07,350 Og vi havde en chance for at chatte med Susan Wojcicki, administrerende direktør for YouTube. 152 00:05:07,350 --> 00:05:10,920 Det var faktisk i Susans garage år siden i 90'erne 153 00:05:10,920 --> 00:05:14,620 at Google selv var startet af Larry og Sergey. 154 00:05:14,620 --> 00:05:17,430 >> Tja, det viser sig, at Susan selv tog faktisk CS50 155 00:05:17,430 --> 00:05:18,950 blot et par år, før jeg gjorde. 156 00:05:18,950 --> 00:05:21,450 Og jeg tror, ​​det er slående som du vil snart høre lige hvordan 157 00:05:21,450 --> 00:05:25,040 meget en introduktion til computer videnskab så påvirket hendes liv. 158 00:05:25,040 --> 00:05:26,892 Hun ville gerne sige hej. 159 00:05:26,892 --> 00:05:28,100 SUSAN Wójcicki: Hej, verden. 160 00:05:28,100 --> 00:05:29,620 Jeg er Susan Wojcicki. 161 00:05:29,620 --> 00:05:31,500 Jeg er den administrerende direktør for YouTube. 162 00:05:31,500 --> 00:05:36,570 Og jeg tog CS50, da jeg var en senior på Harvard i 1990. 163 00:05:36,570 --> 00:05:38,710 >> Jeg var faktisk en historie og litteratur større. 164 00:05:38,710 --> 00:05:44,180 Og min junior sommer I indså, at jeg måske 165 00:05:44,180 --> 00:05:46,450 ønskede at lære noget om computere. 166 00:05:46,450 --> 00:05:48,350 Og så kom jeg tilbage. 167 00:05:48,350 --> 00:05:49,870 Jeg tog CS50. 168 00:05:49,870 --> 00:05:54,340 Det var svært, men det var mest fantastiske klasse jeg tog. 169 00:05:54,340 --> 00:05:57,030 Det ændrede hvordan jeg tænker om alt. 170 00:05:57,030 --> 00:06:03,200 >> Og når jeg dimitterede fra Harvard i 1990, gik jeg til Silicon Valley 171 00:06:03,200 --> 00:06:04,500 og jeg fik et job. 172 00:06:04,500 --> 00:06:07,490 Og jeg har arbejdet i tech lige siden. 173 00:06:07,490 --> 00:06:09,780 Så CS50 ændrede mit liv. 174 00:06:09,780 --> 00:06:12,320 Jeg fortsætter med at lære og bygge. 175 00:06:12,320 --> 00:06:13,870 Det gav mig en stor fundament. 176 00:06:13,870 --> 00:06:17,100 Og jeg fortsætter med at lære hver dag som de teknologiske ændringer. 177 00:06:17,100 --> 00:06:19,660 >> Og jeg tror, ​​det er vidunderligt at I alle tager det 178 00:06:19,660 --> 00:06:22,840 fordi det er, hvordan verden er kommer til at ændre fremadrettet. 179 00:06:22,840 --> 00:06:27,490 Der er bare at blive mere og flere muligheder og innovation. 180 00:06:27,490 --> 00:06:31,010 Digital kommer til at påvirke vores lever endnu mere end det allerede har. 181 00:06:31,010 --> 00:06:33,870 Og det er vidunderligt, at du er alle tager CS50. 182 00:06:33,870 --> 00:06:35,890 Så dette er CS50. 183 00:06:35,890 --> 00:06:38,080 >> DAVID: Så hvis du har været på udkig efter en ny grund 184 00:06:38,080 --> 00:06:41,502 ikke at bruge en bestemt browser, her er en god en for dig. 185 00:06:41,502 --> 00:06:43,210 Jeg modtog for nylig - sammen med alle 186 00:06:43,210 --> 00:06:45,120 ved Harvard University - denne e-mail her. 187 00:06:45,120 --> 00:06:46,910 >> "Kære medlemmer af Harvard Fællesskabet. 188 00:06:46,910 --> 00:06:50,930 Det amerikanske Department of Homeland Security anbefaler, at alle brugere midlertidigt 189 00:06:50,930 --> 00:06:54,350 ophøre med at anvende Microsoft Internet Explorer, IE, 190 00:06:54,350 --> 00:06:56,270 på grund af en kritisk sikkerhedshul. " 191 00:06:56,270 --> 00:07:01,250 >> Dette dokumenteres faktisk i Microsoft Security Advisory 2.963.983. 192 00:07:01,250 --> 00:07:05,242 Sårbarhed i Internet Explorer kan tillade fjernkørsel af programkode. 193 00:07:05,242 --> 00:07:07,200 Nu hvad betyder det og hvad er truslen? 194 00:07:07,200 --> 00:07:08,950 Nå, overveje dette diagram her, hvilket vi 195 00:07:08,950 --> 00:07:12,160 brug i CS50 til at tale om HTTP eller webtrafik. 196 00:07:12,160 --> 00:07:15,140 Hvis vi har her en web serveren og på den anden side 197 00:07:15,140 --> 00:07:17,589 en browser - Internet Explorer i dette tilfælde - selvfølgelig, 198 00:07:17,589 --> 00:07:19,380 en browser, når det først anmoder om en webside 199 00:07:19,380 --> 00:07:21,310 kan sende en HDP budskab som dette. 200 00:07:21,310 --> 00:07:26,470 GET index.html bruger version 1.1 af protokollen er kendt som HTTP. 201 00:07:26,470 --> 00:07:30,820 >> Nu i dette tilfælde, hvis en dårlig fyr har en eller anden måde havde adgang til dette web-server 202 00:07:30,820 --> 00:07:33,990 og installeret på den en udnytte så at sige, 203 00:07:33,990 --> 00:07:36,990 han eller hun kan være i stand til at overbevise web serveren til at returnere dette. 204 00:07:36,990 --> 00:07:41,040 Ikke kun index.html selv som anmodet om, men indlejret i 205 00:07:41,040 --> 00:07:43,720 af denne index.html fil kunne, selvfølgelig være andre aktiver. 206 00:07:43,720 --> 00:07:47,230 Især noget ligesom exploit.SWF, 207 00:07:47,230 --> 00:07:50,620 en Flash-fil, der i sidste ende drager fordel af denne sikkerhed 208 00:07:50,620 --> 00:07:54,940 teknik, heap feng shui, der er en fancy måde at sige, at koden 209 00:07:54,940 --> 00:07:59,940 indersiden af ​​at Flash-fil sprays såkaldte bunke inde i computerens 210 00:07:59,940 --> 00:08:04,090 browser med alle de forskellige bidder af hukommelse, der er udviklet i sidste ende 211 00:08:04,090 --> 00:08:05,810 at overskrive store bidder af hukommelse her. 212 00:08:05,810 --> 00:08:09,150 >> Hvis du husker dette fra vores diskussion i CS50 af bunken og stakken 213 00:08:09,150 --> 00:08:11,070 og hukommelse ledelse mere generelt. 214 00:08:11,070 --> 00:08:14,280 Nu den hukommelse, der er faktisk smidt på bunke 215 00:08:14,280 --> 00:08:16,280 er virkelig kaldes flash vektor objekter. 216 00:08:16,280 --> 00:08:17,870 Og det er noget med som du kan være bekendt 217 00:08:17,870 --> 00:08:19,880 hvis du selv havde programmeret Flash før. 218 00:08:19,880 --> 00:08:24,070 Men en af ​​disse objekter i særdeleshed er kendt som et flash-lyd objekt. 219 00:08:24,070 --> 00:08:28,190 >> Og heri ligger en mulighed, fordi hvad dette udnytte fortsætter derefter med at gøre 220 00:08:28,190 --> 00:08:31,540 er korrupt denne luns af hukommelse, dette objekt i hukommelsen, 221 00:08:31,540 --> 00:08:36,640 sådan, at den forsøger at gøre dette hexadecimal adresse eksekverbare, hvorved 222 00:08:36,640 --> 00:08:40,600 forsøger at narre programmet i sidste ende til udførelse nogle shell kode, så 223 00:08:40,600 --> 00:08:44,560 til at tale, eller dårlig fyr kode, der er sidste ende lagret ved denne adresse her, 224 00:08:44,560 --> 00:08:49,530 som blev injiceret ved hjælp af hente ubevidst at især flash-fil. 225 00:08:49,530 --> 00:08:53,220 >> Nu kan det endelige resultat være, hvad den modstander ønsker at gøre til din computer. 226 00:08:53,220 --> 00:08:56,290 Han eller hun kunne slette dine filer, flytte dine filer, e-mail dine filer, 227 00:08:56,290 --> 00:08:59,960 eller virkelig gøre noget, som du selv kunne gøre som ejeren af ​​denne computer. 228 00:08:59,960 --> 00:09:01,600 Og det er derfor, at truslen er så skræmmende. 229 00:09:01,600 --> 00:09:04,370 Det giver virkelig alle på internet hvis hjemmeside du 230 00:09:04,370 --> 00:09:08,590 kunne besøge for at udføre vilkårlig programmer på din computer. 231 00:09:08,590 --> 00:09:11,550 >> Nu heldigvis, Microsoft meget for nylig udgivet en rettelse til dette 232 00:09:11,550 --> 00:09:14,800 fordi problemet faktisk plagede Internet Explorer 6 233 00:09:14,800 --> 00:09:16,210 hele vejen op gennem 11.. 234 00:09:16,210 --> 00:09:19,530 Så det har været med os i temmelig lang tid og blev først opdaget for nylig. 235 00:09:19,530 --> 00:09:23,120 Så hvis du har automatiske opdateringer tændt, skal du være OK snart. 236 00:09:23,120 --> 00:09:26,340 Men bare for at være sikker, kunne du sikkert skifte til en anden browser på mindst 237 00:09:26,340 --> 00:09:27,300 i mellemtiden. 238 00:09:27,300 --> 00:09:29,650 >> Nu viser det sig også, at Microsoft meget generøst 239 00:09:29,650 --> 00:09:33,640 også udgivet en rettelse til Windows XP, en ældre version af Windows, for hvilke 240 00:09:33,640 --> 00:09:37,040 støtte var faktisk officielt afbrydes blot et par uger siden, 241 00:09:37,040 --> 00:09:40,880 men denne trussel var så slemt, at de også udrullet en rettelse til denne OS 242 00:09:40,880 --> 00:09:41,810 samt. 243 00:09:41,810 --> 00:09:43,400 >> Nu i andre nyheder i denne uge var dette. 244 00:09:43,400 --> 00:09:46,632 Den Atari 2600, en ældre spil konsol, en fætter af mine 245 00:09:46,632 --> 00:09:49,340 havde faktisk vokser op som vi plejede at spille videospil, når 246 00:09:49,340 --> 00:09:50,630 vi ville besøge deres hus. 247 00:09:50,630 --> 00:09:54,420 Nu i alle tilfælde, hvorfor dette var i Nyheden var af følgende grund. 248 00:09:54,420 --> 00:09:57,180 Tilbage i 80'erne, virksomheden bag denne enhed, Atari 249 00:09:57,180 --> 00:09:59,870 besluttet at begrave i en losseplads i New Mexico 250 00:09:59,870 --> 00:10:02,510 en hel bunke af gamle spil og brugsanvisninger 251 00:10:02,510 --> 00:10:05,050 og lignende, der ville ellers gået usolgte. 252 00:10:05,050 --> 00:10:09,320 >> Nu over tid, begravelse af disse spil bliver lidt af en vandrehistorie. 253 00:10:09,320 --> 00:10:12,690 Folk vidste ikke rigtig, for sikker om dette havde faktisk skete selv 254 00:10:12,690 --> 00:10:16,080 dog, som myten gik virksomheden havde selv hældte et lag af beton 255 00:10:16,080 --> 00:10:18,630 på toppen af ​​alt i deponering for at forhindre børn 256 00:10:18,630 --> 00:10:22,150 fra faktisk raslende gennem det, forsøger at finde gratis videospil. 257 00:10:22,150 --> 00:10:26,310 Tja, det viser sig, at en dokumentarfilm er nu i gang nu i 2014. 258 00:10:26,310 --> 00:10:30,900 Og et hold af gravemaskiner har forsøgt at grave op sandheden bag denne historie 259 00:10:30,900 --> 00:10:32,240 hvis det er faktisk der. 260 00:10:32,240 --> 00:10:33,330 >> Og gæt hvad de fandt? 261 00:10:33,330 --> 00:10:35,940 Nå, ikke ligefrem det fyr, men tusinder 262 00:10:35,940 --> 00:10:38,220 kopier af sit spil, som blev udgivet 263 00:10:38,220 --> 00:10:42,000 sammenfaldende med udgivelsen af film, E.T. The Extraterrestrial. 264 00:10:42,000 --> 00:10:47,040 Så ja, bare i de sidste par dage snesevis og hundredvis om ikke tusindvis 265 00:10:47,040 --> 00:10:52,140 i sidste ende af disse patroner er begyndt at blive afdækket. 266 00:10:52,140 --> 00:10:56,280 >> Nu hvorfor gjorde de begrave sådan en klart overbevisende spil? 267 00:10:56,280 --> 00:10:58,570 Tja, det viser sig, at E.T. faktisk siges 268 00:10:58,570 --> 00:11:01,850 af mange for at være den værste videospil nogensinde. 269 00:11:01,850 --> 00:11:04,080 I del, fordi de havde så lidt tid til at udvikle 270 00:11:04,080 --> 00:11:06,340 spillet før der især juletiden, 271 00:11:06,340 --> 00:11:09,240 men også fordi det var særligt svært at spille. 272 00:11:09,240 --> 00:11:11,630 Dette, selvfølgelig, rejser spørgsmål, kan vi se det? 273 00:11:11,630 --> 00:11:12,610 Ja, det kan vi. 274 00:11:12,610 --> 00:11:13,555 Lad os tage et kig. 275 00:11:13,555 --> 00:11:14,388 [VIDEOSPIL AFSPILNING] 276 00:11:14,388 --> 00:11:35,287 277 00:11:35,287 --> 00:11:37,870 Nu var det faktisk ikke grafik, folk tog indvending 278 00:11:37,870 --> 00:11:41,070 til, fordi, ja, det var 80'erne og dette var stade. 279 00:11:41,070 --> 00:11:42,840 Faktisk, det var min barndom her. 280 00:11:42,840 --> 00:11:44,900 Men hvad var svært om dette spil var en, 281 00:11:44,900 --> 00:11:46,920 du havde en film ET rundt skærmen, ser 282 00:11:46,920 --> 00:11:49,820 for de små pixels, hvilket repræsenterede Reese brikker. 283 00:11:49,820 --> 00:11:52,960 Men fangsten er også, at hvis du faldt ind i de mørkere diamant figurer, 284 00:11:52,960 --> 00:11:54,870 du ville falde i en pit, der var faktisk 285 00:11:54,870 --> 00:11:56,890 meget hårdt og besværligt at komme ud af. 286 00:11:56,890 --> 00:11:59,570 Så derfor blev begravet ET. 287 00:11:59,570 --> 00:12:02,740 >> Nu også i ørkenen i sen var dette her i Wyoming. 288 00:12:02,740 --> 00:12:08,010 En nukleare, ikke at forveksle med [? nucular,?] kontrolcenter. 289 00:12:08,010 --> 00:12:10,920 Og i virkeligheden, hvis man ser ned der under betonen 290 00:12:10,920 --> 00:12:14,330 nær denne hvide pol, der er faktisk en Minuteman III missil, 291 00:12:14,330 --> 00:12:18,230 et atommissil, det er faktisk beskyttet af nogle teknologi, der er 292 00:12:18,230 --> 00:12:20,980 ikke nær så moderne som du kunne håbe. 293 00:12:20,980 --> 00:12:24,344 En amerikansk tv-show, 60 Minutter, for nylig afsløret dette. 294 00:12:24,344 --> 00:12:25,010 [VIDEOAFSPILNING] 295 00:12:25,010 --> 00:12:28,210 -Men udstyret er gammel. 296 00:12:28,210 --> 00:12:30,480 Dette er for eksempel en af ​​de computere, 297 00:12:30,480 --> 00:12:33,380 ville modtage en lancering bestille fra præsidenten. 298 00:12:33,380 --> 00:12:35,720 Det bruger disketter. 299 00:12:35,720 --> 00:12:38,000 De virkelig gamle, de store. 300 00:12:38,000 --> 00:12:41,920 Før du kom herned, du sandsynligvis aldrig havde set en? 301 00:12:41,920 --> 00:12:44,170 >> -Jeg havde aldrig tidligere set en indtil Jeg kom ned i dette hul. 302 00:12:44,170 --> 00:12:44,640 >> [END VIDEOAFSPILNING] 303 00:12:44,640 --> 00:12:46,730 >> Nu, hvis du tænker du har set disse diske, 304 00:12:46,730 --> 00:12:49,680 de 5 og 1/4-inch diske fra 1980'erne, uh-uh. 305 00:12:49,680 --> 00:12:53,180 Dette er en 8-tommers diskettedrev disk fra 1970'erne. 306 00:12:53,180 --> 00:12:55,930 Nu CS50 egen Dan Coffey og jeg havde også en mulighed 307 00:12:55,930 --> 00:12:58,117 at rejse til Seattle, Washington for nylig, hvor 308 00:12:58,117 --> 00:12:59,450 vi besøgte vores venner hos Valve. 309 00:12:59,450 --> 00:13:03,870 I virkeligheden, kan du huske 60 sekunder af mig iført de virtual reality briller. 310 00:13:03,870 --> 00:13:07,030 >> Nu havde vi også en mulighed for at chatte med tre af Valves ingeniører 311 00:13:07,030 --> 00:13:09,620 der talte til os om, hvad det er ligesom at arbejde på Valve, 312 00:13:09,620 --> 00:13:13,290 men bedre endnu, hvad det er gerne udvikle videospil. 313 00:13:13,290 --> 00:13:14,315 Lad os tage et kig. 314 00:13:14,315 --> 00:13:14,600 >> [VIDEOAFSPILNING] 315 00:13:14,600 --> 00:13:15,433 >> [VIDEOSPIL AFSPILNING] 316 00:13:15,433 --> 00:13:23,950 317 00:13:23,950 --> 00:13:26,420 -Mit navn er Brian Jacobson. 318 00:13:26,420 --> 00:13:30,420 Jeg gjorde min vej til Valve slags i en lidt omvej. 319 00:13:30,420 --> 00:13:33,710 Jeg var faktisk ikke en computer programmør i college. 320 00:13:33,710 --> 00:13:35,790 Og jeg blev brugt til at bakke i gymnasiet væsen 321 00:13:35,790 --> 00:13:39,300 stand til at gøre programmeringen og få ting fra idé til implementering 322 00:13:39,300 --> 00:13:41,320 på blot et par minutter eller timer. 323 00:13:41,320 --> 00:13:46,930 Jeg nød at hastige udvikling og se mine ideer kommer til livet. 324 00:13:46,930 --> 00:13:48,780 >> -Mit navn er Yahn Bernier. 325 00:13:48,780 --> 00:13:50,740 Jeg har været her hos Valve for over 16 år. 326 00:13:50,740 --> 00:13:54,170 Så jeg endte med at skrive bare for sjov en level editor til Quake 327 00:13:54,170 --> 00:13:57,564 kaldet BSP, baseret på det binære space partitionering træer. 328 00:13:57,564 --> 00:13:58,730 Det var en slags entree. 329 00:13:58,730 --> 00:14:02,780 Og til sidst Gabe Newell, som var den grundlægger af Valve, og Mike Harrington 330 00:14:02,780 --> 00:14:06,254 sendte mig en e-mail siger software udviklingsingeniør lejlighed. 331 00:14:06,254 --> 00:14:07,170 -Mit navn er John Cook. 332 00:14:07,170 --> 00:14:09,380 Jeg er en software ingeniør arbejder hos Valve. 333 00:14:09,380 --> 00:14:14,240 Jeg fokuserer på vores online-systemer, skalering og arkitektur. 334 00:14:14,240 --> 00:14:16,060 >> En ven og jeg faktisk på universitetet var 335 00:14:16,060 --> 00:14:18,660 arbejder på et spil kaldet Team Fortress. 336 00:14:18,660 --> 00:14:22,810 Og vi har lige lavet spillet, sætte det op på internettet. 337 00:14:22,810 --> 00:14:25,130 Det var en tilføjelse til spil, Quake, på det tidspunkt. 338 00:14:25,130 --> 00:14:27,620 Så det var en slags moderne udvidelse af det spil. 339 00:14:27,620 --> 00:14:30,920 Efter at vi endte komme i kontakt med Valve 340 00:14:30,920 --> 00:14:32,200 og kommer over her. 341 00:14:32,200 --> 00:14:36,535 >> -Tja, for mig den grafiske klassen var formentlig den mest anvendelige kursus 342 00:14:36,535 --> 00:14:39,960 at jeg tog i college for sikker. 343 00:14:39,960 --> 00:14:42,940 Trigonometri, lineær algebra. 344 00:14:42,940 --> 00:14:47,140 Jeg tog en robotteknologi kursus, der havde en bundt af lineær algebra slags bagt 345 00:14:47,140 --> 00:14:52,030 ind i det, og det er en af ​​hjørnestenen matematiske begreber til eventuelle 3D-grafik. 346 00:14:52,030 --> 00:14:57,680 Det handler om orientering og gør matematik ligesom, jeg ser over på dig, 347 00:14:57,680 --> 00:14:58,970 men jeg ønsker at sigte derovre. 348 00:14:58,970 --> 00:15:04,600 Og hvordan kan jeg rotere og hvordan kan jeg regne ud, hvor jeg flytter eller leder. 349 00:15:04,600 --> 00:15:07,015 Det er alt lineær algebra. 350 00:15:07,015 --> 00:15:11,380 >> Essensen af ​​en first-person shooter er, at jeg ser gennem pistol sites 351 00:15:11,380 --> 00:15:13,630 med mine øjne og sigte på noget og trykke på aftrækkeren 352 00:15:13,630 --> 00:15:14,670 og jeg ønsker at ramme det. 353 00:15:14,670 --> 00:15:18,810 Så du er nødt til at designe dit teknologi til at beskæftige sig med latenstid. 354 00:15:18,810 --> 00:15:22,020 Og så John Carmack gik tilbage og sagde, åh, hvad jeg skal gøre 355 00:15:22,020 --> 00:15:28,440 er forudsige på klienten resultere min spillerens input, 356 00:15:28,440 --> 00:15:30,336 og bare gøre det, og render, hvorfra vi 357 00:15:30,336 --> 00:15:33,460 tror han kommer til at være, og derefter lade serveren komme tilbage og ordne det for mig. 358 00:15:33,460 --> 00:15:36,470 >> -Så når du tænker ved hjælp af et spil motor til at lave et spil, 359 00:15:36,470 --> 00:15:38,510 der er en masse flere muligheder nu. 360 00:15:38,510 --> 00:15:41,675 >> -Et spil motor er venlig af infrastrukturen 361 00:15:41,675 --> 00:15:42,800 hvor du gøre spillet. 362 00:15:42,800 --> 00:15:46,560 Det er de ting der er ansvarlig for tegning verden, til simulering af verden, 363 00:15:46,560 --> 00:15:50,970 til afspilning af alle de lyde, for at hjælpe dit spil kode 364 00:15:50,970 --> 00:15:53,650 regne ud, hvad fjenden Ægthedsindikatorer kommer til at gå gøre. 365 00:15:53,650 --> 00:15:57,260 >> -Normalt den måde, folk ville starte er de ville tage en vis mængde af denne logik 366 00:15:57,260 --> 00:15:58,020 og ændre det. 367 00:15:58,020 --> 00:16:00,280 Ligesom, OK, lad os nu bare ændre raketkaster 368 00:16:00,280 --> 00:16:04,240 at gøre 200 skader i stedet gøre 100 skader. 369 00:16:04,240 --> 00:16:08,580 Det er en meget enkel, ligesom, bare tage nogle af de eksisterende stykke gameplay logik 370 00:16:08,580 --> 00:16:10,360 og tweak det til, hvordan du kan lide. 371 00:16:10,360 --> 00:16:13,830 >> -Den anden højere lag er normalt kaldes spillets kode. 372 00:16:13,830 --> 00:16:17,230 Og spillets kode er normalt den ting, der handler om spillereglerne. 373 00:16:17,230 --> 00:16:21,156 Ligesom det faktum, at jeg har dette våben 374 00:16:21,156 --> 00:16:22,530 og det virker på en bestemt måde. 375 00:16:22,530 --> 00:16:25,480 Eller det faktum, at der er en headcrab monster, 376 00:16:25,480 --> 00:16:27,130 har disse særlige adfærd. 377 00:16:27,130 --> 00:16:30,800 Disse slags ting er typisk at finde som vildt kode. 378 00:16:30,800 --> 00:16:34,790 >> -Og derfra, virkelig, med dem, der form af stykker og iterationsprocessen, 379 00:16:34,790 --> 00:16:37,600 du kan gå fra noget som Quake til noget som Half-Life. 380 00:16:37,600 --> 00:16:41,810 >> -Half-Life er en sci-fi, first-person shooter spil. 381 00:16:41,810 --> 00:16:45,340 Det er angivet i en dystopisk verden. 382 00:16:45,340 --> 00:16:50,050 Den første Half-Life blev sat i denne underjordiske forskningsanlæg 383 00:16:50,050 --> 00:16:51,100 kaldet Black Mesa. 384 00:16:51,100 --> 00:16:53,940 Og du spillede en karakter opkaldt Gordon Freeman. 385 00:16:53,940 --> 00:16:56,690 Og det var dybest set om en alien invasion 386 00:16:56,690 --> 00:17:00,000 der blev provokeret når et eksperiment gik galt. 387 00:17:00,000 --> 00:17:04,720 >> Og det andet spil, Half-Life 2, blev sat omkring 10 år senere, 388 00:17:04,720 --> 00:17:07,940 og dybest set, udlændinge havde overtaget planeten. 389 00:17:07,940 --> 00:17:12,547 Og nu er du som Gordon Freeman skulle stort set redde 390 00:17:12,547 --> 00:17:13,880 din ven, Alex, hvem du møder. 391 00:17:13,880 --> 00:17:17,960 Og prøv at slå tilbage udlændinge og genvinde planeten. 392 00:17:17,960 --> 00:17:20,660 >> -Bestemt, projekter som Portal 2, det var bare 393 00:17:20,660 --> 00:17:24,742 et lille team, fem personer arbejder på et spil idé. 394 00:17:24,742 --> 00:17:26,950 De fandt nogle ting, de Tanken var interessant, 395 00:17:26,950 --> 00:17:28,283 kunne være interessant for et spil. 396 00:17:28,283 --> 00:17:29,490 De udvidet til 20 personer. 397 00:17:29,490 --> 00:17:31,355 De konkretiseret disse ideer. 398 00:17:31,355 --> 00:17:32,480 Du har tilføjet nogle flere mennesker. 399 00:17:32,480 --> 00:17:35,827 >> De er ligesom, OK, og nu har vi ønsker at sende på tre konsoller. 400 00:17:35,827 --> 00:17:36,910 Vi har brug for mange flere mennesker. 401 00:17:36,910 --> 00:17:38,619 Ligesom alle, kom se på dette spil. 402 00:17:38,619 --> 00:17:39,160 Det er awesome. 403 00:17:39,160 --> 00:17:40,909 Det behøver blot en flok arbejde for at få gjort. 404 00:17:40,909 --> 00:17:43,790 Så pludselig har du halvdelen af ​​virksomheden arbejder, 405 00:17:43,790 --> 00:17:47,100 du har 120 mennesker, der arbejder på dette spil for at få det gjort. 406 00:17:47,100 --> 00:17:51,190 Det er klart, at antallet af projekter andre steder kontrakter, 407 00:17:51,190 --> 00:17:53,354 men alle er super glade, fordi de ved, 408 00:17:53,354 --> 00:17:55,520 de arbejder på dette ting, der er virkelig awesome. 409 00:17:55,520 --> 00:17:58,644 >> -En af de virkelig gode ting ved dette job, og denne industri i almindelighed 410 00:17:58,644 --> 00:18:00,684 er, at tingene ændrer sig hele tiden. 411 00:18:00,684 --> 00:18:02,600 De ting, at du er gør dette år går 412 00:18:02,600 --> 00:18:04,980 at være meget vanskeligt fra ting du gør det næste år. 413 00:18:04,980 --> 00:18:08,520 Og så det holder alt virkelig frisk, faktisk, og temmelig spændende. 414 00:18:08,520 --> 00:18:11,757 Du er hele tiden at lære nyt ting og gør nye slags ting. 415 00:18:11,757 --> 00:18:12,590 [END VIDEOAFSPILNING] 416 00:18:12,590 --> 00:18:13,969 DAVID: Det er det for CS50LIVE. 417 00:18:13,969 --> 00:18:15,760 Tak så meget til denne uges bidragydere. 418 00:18:15,760 --> 00:18:19,710 Tak så meget til CS50 egen Colton Ogden og holdet bag kameraet. 419 00:18:19,710 --> 00:18:21,456 Dette var CS50. 420 00:18:21,456 --> 00:18:23,198 >> [MUSIC - LOS DEL RIO "MACARENA"] 421 00:18:23,198 --> 00:19:18,955