1 00:00:00,000 --> 00:00:00,625 >> [Muziek] 2 00:00:00,625 --> 00:00:11,341 3 00:00:11,341 --> 00:00:12,090 NU: Hallo, wereld. 4 00:00:12,090 --> 00:00:14,330 Dit is CS50LIVE. 5 00:00:14,330 --> 00:00:17,792 We hebben zo'n goede aflevering voor je. 6 00:00:17,792 --> 00:00:22,110 De CEO van YouTube, een bug in Internet Explorer, 7 00:00:22,110 --> 00:00:26,750 de slechtste video game ooit, en een excursie naar Valve Software. 8 00:00:26,750 --> 00:00:33,040 Maar eerst een reis naar Tokio, Japan waar president Obama recent afgespeelde 9 00:00:33,040 --> 00:00:36,066 voetbal met een goede vriend van mij. 10 00:00:36,066 --> 00:00:37,050 >> [VIDEO AFSPELEN] 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 Hij beweegt. 14 00:00:45,414 --> 00:00:47,382 >> -Ik kan ook schoppen een voetbal. 15 00:00:47,382 --> 00:00:49,842 Ik ga hier. 16 00:00:49,842 --> 00:00:53,286 >> -He, goede baan. 17 00:00:53,286 --> 00:00:54,687 >> [END VIDEO AFSPELEN] 18 00:00:54,687 --> 00:00:55,520 DAVID: Hallo, wereld. 19 00:00:55,520 --> 00:00:57,110 Ik ben hier met CS50 eigen Colton Ogden. 20 00:00:57,110 --> 00:00:58,430 >> COLTON OGDEN: Hallo, iedereen. 21 00:00:58,430 --> 00:00:59,940 >> DAVID: En wie anders doen we bij ons hier vandaag? 22 00:00:59,940 --> 00:01:02,606 >> COLTON OGDEN: Dit is nu onze kleine robot maatje uit Frankrijk. 23 00:01:02,606 --> 00:01:05,299 DAVID: Dus ik echt ontmoet NO naast [? Rob Boden?] 24 00:01:05,299 --> 00:01:07,590 toen hij en ik waren in Atlanta, Georgië een paar weken terug 25 00:01:07,590 --> 00:01:09,890 zoals u zich wellicht herinnert aan SIGCSE, de Special Interest 26 00:01:09,890 --> 00:01:12,940 Groep voor Computer Science Education, waar letterlijk rond te lopen 27 00:01:12,940 --> 00:01:14,919 de conferentie verdieping kamer was deze kerel. 28 00:01:14,919 --> 00:01:16,960 Nou zo blijkt, wanneer we kwamen terug naar de campus 29 00:01:16,960 --> 00:01:20,360 ontdekten we dat professor [Onverstaanbaar] van Harvard robotica lab 30 00:01:20,360 --> 00:01:22,220 had eigenlijk een nu hier op de campus. 31 00:01:22,220 --> 00:01:24,742 En ze waren zo vriendelijk om ons om hem te programmeren voor u vandaag. 32 00:01:24,742 --> 00:01:27,950 COLTON OGDEN: Ja, en eigenlijk, David, Ik denk en wil om hallo te zeggen aan u 33 00:01:27,950 --> 00:01:30,450 als je wilt lopen hier in de buurt van de tafel. 34 00:01:30,450 --> 00:01:32,815 >> DAVID: Right here? 35 00:01:32,815 --> 00:01:33,315 Oke. 36 00:01:33,315 --> 00:01:36,060 37 00:01:36,060 --> 00:01:36,560 Oke. 38 00:01:36,560 --> 00:01:39,400 39 00:01:39,400 --> 00:01:40,650 >> NU: Hallo, David. 40 00:01:40,650 --> 00:01:42,040 Leuk u te ontmoeten. 41 00:01:42,040 --> 00:01:43,960 >> DAVID: Hallo, Nu. 42 00:01:43,960 --> 00:01:45,000 Zijn hand schudden? 43 00:01:45,000 --> 00:01:48,510 >> COLTON OGDEN: Shake zijn hand op en neer. 44 00:01:48,510 --> 00:01:50,310 >> DAVID: OK. 45 00:01:50,310 --> 00:01:52,435 >> COLTON OGDEN: En dan hij zal gaan zitten. 46 00:01:52,435 --> 00:01:54,476 En als je geïnteresseerd bent, Ik kan je eigenlijk zien 47 00:01:54,476 --> 00:01:56,715 hoe ik was in staat om hem te krijgen om al deze dingen te doen. 48 00:01:56,715 --> 00:01:57,200 >> DAVID: Ja, absoluut. 49 00:01:57,200 --> 00:01:58,320 >> COLTON OGDEN: Hij is een beetje uit balans vanmorgen. 50 00:01:58,320 --> 00:02:00,174 Hij heeft nog niet zijn koffie had. 51 00:02:00,174 --> 00:02:01,840 DAVID: Dus wat is dit we naar kijken? 52 00:02:01,840 --> 00:02:04,680 COLTON OGDEN: Dus we kijken naar Hier is een kern grafiek, die nu 53 00:02:04,680 --> 00:02:07,920 een grafische programmeeromgeving, die is zeer vergelijkbaar met Scratch 54 00:02:07,920 --> 00:02:09,317 dat CS50 gebruikt. 55 00:02:09,317 --> 00:02:11,150 Hier zien we het ingesteld op als een stroomschema. 56 00:02:11,150 --> 00:02:13,370 En we hebben een aantal van deze weinig bouwstenen hier. 57 00:02:13,370 --> 00:02:16,203 Als we nu een kijkje nemen op deze bijvoorbeeld, het heet stand up. 58 00:02:16,203 --> 00:02:19,190 En dit blok zegt op te komen voor het nu, of hij gaat zitten 59 00:02:19,190 --> 00:02:20,320 of wat dan ook. 60 00:02:20,320 --> 00:02:22,990 >> Dan zien we het gaat in tactiele hoofd, die in feite 61 00:02:22,990 --> 00:02:26,070 wacht op een tik op de top van zijn hoofd als je eerder zag. 62 00:02:26,070 --> 00:02:31,190 Ga naar middelen bewegen in een x, y en z richting naar een specifieke bestemming. 63 00:02:31,190 --> 00:02:33,980 Handdruk is een module schreef ik, die in feite zegt: hallo, David. 64 00:02:33,980 --> 00:02:34,688 Leuk u te ontmoeten. 65 00:02:34,688 --> 00:02:36,089 Wacht op een handdruk. 66 00:02:36,089 --> 00:02:37,630 Zitten is het tegenovergestelde van opstaan. 67 00:02:37,630 --> 00:02:38,796 Hij zal gaan zitten. 68 00:02:38,796 --> 00:02:40,610 En dan beweging van het hoofd is een lus waarbij hij 69 00:02:40,610 --> 00:02:42,090 zal zijn hoofd bewegen in willekeurige richtingen. 70 00:02:42,090 --> 00:02:42,520 >> DAVID: Interessant. 71 00:02:42,520 --> 00:02:44,890 Dus ook al zijn deze niet kijken zoals de puzzelstukjes uit Scratch, 72 00:02:44,890 --> 00:02:45,950 het is echt hetzelfde idee. 73 00:02:45,950 --> 00:02:48,210 En je bedrading een programma met deze bouwstenen. 74 00:02:48,210 --> 00:02:49,020 >> COLTON OGDEN: Ja, precies. 75 00:02:49,020 --> 00:02:50,590 >> DAVID: Dus je zei dat je gemaakt een van hen, handdruk. 76 00:02:50,590 --> 00:02:51,990 Kunnen we inzoomen op die ene? 77 00:02:51,990 --> 00:02:52,131 >> COLTON OGDEN: Zeker. 78 00:02:52,131 --> 00:02:53,642 We nemen een kijkje hier op handdruk nemen. 79 00:02:53,642 --> 00:02:56,350 En we zullen zien dat het opzetten van zeer vergelijkbaar met de andere stroomdiagram. 80 00:02:56,350 --> 00:02:58,850 We beginnen met de hello blok, die [onverstaanbaar] zegt: hallo, David. 81 00:02:58,850 --> 00:03:00,030 Leuk u te ontmoeten. 82 00:03:00,030 --> 00:03:01,430 Dit hier is een lus. 83 00:03:01,430 --> 00:03:02,940 Het zegt, op te sporen armbeweging. 84 00:03:02,940 --> 00:03:05,230 Het zal dus in een oneindige lus wachten tot haar arm 85 00:03:05,230 --> 00:03:06,620 is op en neer verhoogd. 86 00:03:06,620 --> 00:03:09,370 En dan eens wat er gebeurd is, het zal gaan en deze dingen doe. 87 00:03:09,370 --> 00:03:13,280 Stel stijfheid OK en ga naar het einde, die in feite betekent terugsturen hem 88 00:03:13,280 --> 00:03:14,309 zijn standaardpositie. 89 00:03:14,309 --> 00:03:15,100 DAVID: Interessant. 90 00:03:15,100 --> 00:03:17,910 Bent u beperkt tot slechts Met deze grafische omgeving 91 00:03:17,910 --> 00:03:19,070 om hem te programmeren op deze manier? 92 00:03:19,070 --> 00:03:19,820 >> COLTON OGDEN: Eigenlijk niet. 93 00:03:19,820 --> 00:03:21,950 Als we verder gaan en dubbelklik een van deze bouwstenen, 94 00:03:21,950 --> 00:03:24,420 kunnen we zien dat er eigenlijk python code onder de motorkap, 95 00:03:24,420 --> 00:03:26,000 voeden van elk van deze bouwstenen. 96 00:03:26,000 --> 00:03:26,750 >> DAVID: Ah, inderdaad. 97 00:03:26,750 --> 00:03:29,250 Dus voor wie niet vertrouwd, python is een geïnterpreteerde taal, 98 00:03:29,250 --> 00:03:32,240 zeer vergelijkbaar in geest PHP, die we gebruiken in CS50. 99 00:03:32,240 --> 00:03:35,344 En net zoals je kunt gebruiken PHP voor web programmeren, 100 00:03:35,344 --> 00:03:37,010 u kunt het ook gebruiken op de commandoregel. 101 00:03:37,010 --> 00:03:39,426 En als Colton wordt hier in deze grafische omgeving, 102 00:03:39,426 --> 00:03:41,674 het schrijven van programma's en vervolgens overgebracht via Wi-Fi - 103 00:03:41,674 --> 00:03:42,590 COLTON OGDEN: Correct. 104 00:03:42,590 --> 00:03:43,310 DAVID: - tot nu. 105 00:03:43,310 --> 00:03:44,550 Zou je een aantal tijd om te blijven hangen? 106 00:03:44,550 --> 00:03:45,350 >> COLTON OGDEN: Absoluut. 107 00:03:45,350 --> 00:03:45,710 >> DAVID: Oke. 108 00:03:45,710 --> 00:03:48,970 Nou, voordat Colton komt terug met ons voor een beetje een verrassing, 109 00:03:48,970 --> 00:03:54,470 we nu - krijgen -? hebt 60 seconden van oud-CS50 studenten auditie 110 00:03:54,470 --> 00:03:55,844 Teaching Fellows te worden. 111 00:03:55,844 --> 00:03:56,510 [VIDEO AFSPELEN] 112 00:03:56,510 --> 00:03:57,411 Bedankt. 113 00:03:57,411 --> 00:03:58,910 Dank u, iedereen, voor uw aanwezigheid hier. 114 00:03:58,910 --> 00:04:00,510 >> -Hey, Mr Bunny. 115 00:04:00,510 --> 00:04:02,120 >> -Welkom op deze korte tutorial op - 116 00:04:02,120 --> 00:04:03,810 >> [Onverstaanbaar] plezier met Twinkies. 117 00:04:03,810 --> 00:04:04,310 -Wacht. 118 00:04:04,310 --> 00:04:05,040 Stoppen. 119 00:04:05,040 --> 00:04:07,121 >> -Dus nu hebben we een probleem. 120 00:04:07,121 --> 00:04:07,620 -Het is niet. 121 00:04:07,620 --> 00:04:08,869 En ik ga je vertellen waarom. 122 00:04:08,869 --> 00:04:10,860 -Een lus is herhaling, zoals - 123 00:04:10,860 --> 00:04:12,970 >> Sorteren van een zwarte doos. 124 00:04:12,970 --> 00:04:13,935 >> -OK. 125 00:04:13,935 --> 00:04:15,160 Ik denk dat ik snap het. 126 00:04:15,160 --> 00:04:15,660 -Oke. 127 00:04:15,660 --> 00:04:17,140 Dus nu ben ik in een iets harde deel. 128 00:04:17,140 --> 00:04:18,800 >> -Dat klopt. 129 00:04:18,800 --> 00:04:20,485 8 bits vormen een byte. 130 00:04:20,485 --> 00:04:24,176 >> -Je neemt een byte en je scheiden in stukjes van vier. 131 00:04:24,176 --> 00:04:26,423 >> -Piep, piep, piep, piep, piep. 132 00:04:26,423 --> 00:04:28,018 Piep, piep, piep, piep, piep. 133 00:04:28,018 --> 00:04:29,380 >> -Het lijkt overdreven ingewikkeld. 134 00:04:29,380 --> 00:04:30,460 >> Dus laten we dit nog een keer doen. 135 00:04:30,460 --> 00:04:32,580 >> -Als ik verwarren u, alstublieft voel je vrij om me te stoppen. 136 00:04:32,580 --> 00:04:33,620 >> -Maar wacht eens even. 137 00:04:33,620 --> 00:04:36,940 >> -Nou, laten we eens kijken terug op de glijbaan en breken dingen naar beneden stap voor stap. 138 00:04:36,940 --> 00:04:41,720 >> -Als u het zich herinnert, het geheugen is opgesplitst in byte-grootte stukken. 139 00:04:41,720 --> 00:04:44,080 >> -Dus hier hebben we het best case scenario. 140 00:04:44,080 --> 00:04:46,290 >> -Dit is een aanzienlijke verbetering ten opzichte van - 141 00:04:46,290 --> 00:04:47,715 >> -Een web browser, zoals Chrome. 142 00:04:47,715 --> 00:04:49,421 >> -Het is altijd nodig om een ​​vrij - 143 00:04:49,421 --> 00:04:49,920 -Mensen - 144 00:04:49,920 --> 00:04:50,880 -U mag tegenkomt. 145 00:04:50,880 --> 00:04:53,460 En de code kan krijgen enigszins omslachtig. 146 00:04:53,460 --> 00:04:55,640 >> -En dat is alles wat je nodig hebt. 147 00:04:55,640 --> 00:04:56,960 >> -Boom! 148 00:04:56,960 --> 00:04:59,140 >> DAVID: Nu CS50 eigen Dan Coffey en ik onlangs 149 00:04:59,140 --> 00:05:01,850 had een kans om te reizen naar Mountain View, Californië, 150 00:05:01,850 --> 00:05:03,740 dat is waar de hoofdkwartier van Google is. 151 00:05:03,740 --> 00:05:07,350 En we een kans om te chatten met gehad Susan Wojcicki, de CEO van YouTube. 152 00:05:07,350 --> 00:05:10,920 Het was eigenlijk in Susan's garage jaar geleden in de jaren '90 153 00:05:10,920 --> 00:05:14,620 dat Google zelf was gestart door Larry en Sergey. 154 00:05:14,620 --> 00:05:17,430 >> Nou, het blijkt dat Susan zich eigenlijk nam CS50 155 00:05:17,430 --> 00:05:18,950 slechts een paar jaar voordat ik deed. 156 00:05:18,950 --> 00:05:21,450 En ik denk dat het opvallend zoals u zult al snel te horen hoe 157 00:05:21,450 --> 00:05:25,040 veel een kennismaking met de computer wetenschap dus beïnvloed haar leven. 158 00:05:25,040 --> 00:05:26,892 Ze wil gedag zeggen. 159 00:05:26,892 --> 00:05:28,100 SUSAN Wojcicki: Hallo, wereld. 160 00:05:28,100 --> 00:05:29,620 Ik ben Susan Wojcicki. 161 00:05:29,620 --> 00:05:31,500 Ik ben de CEO van YouTube. 162 00:05:31,500 --> 00:05:36,570 En ik nam CS50 toen ik een senior op Harvard in 1990. 163 00:05:36,570 --> 00:05:38,710 >> Ik was eigenlijk een geschiedenis en literatuur belangrijke. 164 00:05:38,710 --> 00:05:44,180 En mijn junior zomer I besefte dat ik misschien 165 00:05:44,180 --> 00:05:46,450 wilde iets leren over computers. 166 00:05:46,450 --> 00:05:48,350 En zo kwam ik terug. 167 00:05:48,350 --> 00:05:49,870 Ik nam CS50. 168 00:05:49,870 --> 00:05:54,340 Het was moeilijk, maar het was de meest verbazingwekkende klasse I nam. 169 00:05:54,340 --> 00:05:57,030 Het veranderde hoe ik denk over alles. 170 00:05:57,030 --> 00:06:03,200 >> En toen ik afstudeerde aan Harvard in 1990, ging ik naar Silicon Valley 171 00:06:03,200 --> 00:06:04,500 en ik heb een baan. 172 00:06:04,500 --> 00:06:07,490 En ik heb gewerkt in tech sindsdien. 173 00:06:07,490 --> 00:06:09,780 Dus CS50 mijn leven veranderd. 174 00:06:09,780 --> 00:06:12,320 Ik blijven leren en te bouwen. 175 00:06:12,320 --> 00:06:13,870 Het gaf me een geweldige basis. 176 00:06:13,870 --> 00:06:17,100 En ik ben blijven elke leren dag als de technologie verandert. 177 00:06:17,100 --> 00:06:19,660 >> En ik vind het geweldig dat je al het nemen van het 178 00:06:19,660 --> 00:06:22,840 want dat is hoe de wereld is gaat veranderen voor de toekomst. 179 00:06:22,840 --> 00:06:27,490 Er zal alleen maar meer en zijn meer mogelijkheden en innovatie. 180 00:06:27,490 --> 00:06:31,010 Digitaal gaat invloed hebben op onze leeft nog meer dan het al heeft. 181 00:06:31,010 --> 00:06:33,870 En het is prachtig dat je bent helemaal nemen CS50. 182 00:06:33,870 --> 00:06:35,890 Dus dit is CS50. 183 00:06:35,890 --> 00:06:38,080 >> DAVID: Dus als je bent geweest op zoek naar een nieuwe reden 184 00:06:38,080 --> 00:06:41,502 een bepaalde browser niet te gebruiken, hier is een goeie voor je. 185 00:06:41,502 --> 00:06:43,210 Onlangs ontving ik - samen met iedereen 186 00:06:43,210 --> 00:06:45,120 aan de Harvard University - deze e-mail hier. 187 00:06:45,120 --> 00:06:46,910 >> "Beste leden van de Harvard Gemeenschap. 188 00:06:46,910 --> 00:06:50,930 Het Amerikaanse Department of Homeland Security beveelt aan dat alle gebruikers tijdelijk 189 00:06:50,930 --> 00:06:54,350 het gebruik van stoppen Microsoft Internet Explorer, IE, 190 00:06:54,350 --> 00:06:56,270 te wijten aan een kritisch lek. " 191 00:06:56,270 --> 00:07:01,250 >> Dit is eigenlijk gedocumenteerd Microsoft-beveiligingsadvies 2963983. 192 00:07:01,250 --> 00:07:05,242 Door een beveiligingslek in Internet Explorer kan leiden tot uitvoering van externe code. 193 00:07:05,242 --> 00:07:07,200 Nu, wat betekent dit en wat is de dreiging? 194 00:07:07,200 --> 00:07:08,950 Nou, overweeg dit diagram hier, waar we 195 00:07:08,950 --> 00:07:12,160 gebruiken bij CS50 om te praten over HTTP of webverkeer. 196 00:07:12,160 --> 00:07:15,140 Als we hier een web server en anderzijds 197 00:07:15,140 --> 00:07:17,589 een browser - Internet Explorer in dit geval - natuurlijk 198 00:07:17,589 --> 00:07:19,380 een browser wanneer het eerst vraagt ​​een webpagina 199 00:07:19,380 --> 00:07:21,310 misschien een HDP-bericht als dit te sturen. 200 00:07:21,310 --> 00:07:26,470 GET index.HTML gebruik maakt van versie 1.1 van het protocol, bekend als HTTP. 201 00:07:26,470 --> 00:07:30,820 >> Nu in dit geval, als een bad guy heeft een of andere manier toegang tot deze webserver had 202 00:07:30,820 --> 00:07:33,990 en geïnstalleerd op een benutten om zo te zeggen, 203 00:07:33,990 --> 00:07:36,990 hij of zij zou kunnen overtuigen de webserver om deze terug te keren. 204 00:07:36,990 --> 00:07:41,040 Niet alleen index.HTML zichzelf als gevraagd, maar binnen ingebed 205 00:07:41,040 --> 00:07:43,720 van dat bestand index.html kon, Uiteraard zijn andere activa. 206 00:07:43,720 --> 00:07:47,230 Met name wat zoals exploit.SWF, 207 00:07:47,230 --> 00:07:50,620 een flash-bestand dat uiteindelijk maakt gebruik van deze beveiliging 208 00:07:50,620 --> 00:07:54,940 techniek, hoop feng shui, dat is een mooie manier om te zeggen dat de code 209 00:07:54,940 --> 00:07:59,940 binnenkant van die flash-bestand sprays de zogenaamde heap binnenkant van de computer 210 00:07:59,940 --> 00:08:04,090 browser met verschillende stukjes geheugen die uiteindelijk zijn ontworpen 211 00:08:04,090 --> 00:08:05,810 om grote delen van het geheugen te overschrijven hier. 212 00:08:05,810 --> 00:08:09,150 >> Als u dit herinneren uit onze discussie in CS50 van de hoop en de stapel 213 00:08:09,150 --> 00:08:11,070 en geheugenbeheer meer in het algemeen. 214 00:08:11,070 --> 00:08:14,280 Nu het geheugen dat is eigenlijk op de hoop gegooid 215 00:08:14,280 --> 00:08:16,280 zijn echt wel flash vector objecten. 216 00:08:16,280 --> 00:08:17,870 En dit is iets met die u vertrouwd zou kunnen zijn 217 00:08:17,870 --> 00:08:19,880 als je jezelf had voordat geprogrammeerd Flash. 218 00:08:19,880 --> 00:08:24,070 Maar een van deze objecten name staat bekend als een flash media-sound object. 219 00:08:24,070 --> 00:08:28,190 >> En hierin ligt een kans, omdat wat deze exploit dan verder te doen 220 00:08:28,190 --> 00:08:31,540 corrupt is dit stuk van geheugen, dit object in het geheugen, 221 00:08:31,540 --> 00:08:36,640 zodanig dat het probeert om dit te maken hexadecimaal adres uitvoerbaar, waardoor 222 00:08:36,640 --> 00:08:40,600 proberen om het programma uiteindelijk truc tot het uitvoeren van een aantal shell-code zo 223 00:08:40,600 --> 00:08:44,560 te spreken, of code bad guy's, dat is uiteindelijk opgeslagen op dit adres hier, 224 00:08:44,560 --> 00:08:49,530 die werd geïnjecteerd door middel van het downloaden onbewust dat bepaalde flash-bestand. 225 00:08:49,530 --> 00:08:53,220 >> Nu is het eindresultaat zijn, ongeacht de tegenstander wil doen om uw computer. 226 00:08:53,220 --> 00:08:56,290 Hij of zij kan uw bestanden te verwijderen, verplaatsen van uw bestanden, e-mail uw bestanden, 227 00:08:56,290 --> 00:08:59,960 of echt iets dat je zelf kunt doen zou kunnen doen als de eigenaar van die computer. 228 00:08:59,960 --> 00:09:01,600 En dat is waarom de dreiging is zo eng. 229 00:09:01,600 --> 00:09:04,370 Het laat echt iedereen op de internet wiens website u 230 00:09:04,370 --> 00:09:08,590 zou bezoeken om uit te voeren willekeurige programma's op uw computer. 231 00:09:08,590 --> 00:09:11,550 >> Nu gelukkig, Microsoft zeer onlangs een oplossing voor dit 232 00:09:11,550 --> 00:09:14,800 omdat het probleem daadwerkelijk getroffen Internet Explorer 6 233 00:09:14,800 --> 00:09:16,210 helemaal tot en met 11. 234 00:09:16,210 --> 00:09:19,530 Dus het is bij ons al geruime tijd en werd pas onlangs ontdekt. 235 00:09:19,530 --> 00:09:23,120 Dus als je automatische updates ingeschakeld, moet je snel zijn OK. 236 00:09:23,120 --> 00:09:26,340 Maar gewoon veilig te zijn, kon je zeker overschakelen naar een andere browser tenminste 237 00:09:26,340 --> 00:09:27,300 in de tussentijd. 238 00:09:27,300 --> 00:09:29,650 >> Nu blijkt ook dat Microsoft zeer royaal 239 00:09:29,650 --> 00:09:33,640 bracht ook een fix voor Windows XP, een oudere versie van Windows waarvoor 240 00:09:33,640 --> 00:09:37,040 steun was eigenlijk officieel gestaakt slechts een paar weken geleden, 241 00:09:37,040 --> 00:09:40,880 maar deze dreiging was zo slecht dat ze ook uitgerold een oplossing voor dat OS 242 00:09:40,880 --> 00:09:41,810 ook. 243 00:09:41,810 --> 00:09:43,400 >> Nu in ander nieuws deze week was dit. 244 00:09:43,400 --> 00:09:46,632 De Atari 2600, een oudere spel console die een neef van mij 245 00:09:46,632 --> 00:09:49,340 eigenlijk had opgroeien waarop we gebruikt om videospellen te spelen wanneer 246 00:09:49,340 --> 00:09:50,630 we zouden hun huis te bezoeken. 247 00:09:50,630 --> 00:09:54,420 Nu in ieder geval, waarom dit in de was nieuws was om de volgende reden. 248 00:09:54,420 --> 00:09:57,180 Terug in de jaren '80, het bedrijf achter dit apparaat, Atari, 249 00:09:57,180 --> 00:09:59,870 besloten om te begraven in een stortplaats in New Mexico 250 00:09:59,870 --> 00:10:02,510 een hele hoop oude games en handleidingen 251 00:10:02,510 --> 00:10:05,050 en als dat zou anders hebben onverkochte gegaan. 252 00:10:05,050 --> 00:10:09,320 >> Nu na verloop van tijd, de begrafenis van deze spelletjes uitgegroeid tot een beetje een stedelijke mythe. 253 00:10:09,320 --> 00:10:12,690 Mensen niet echt zeker weten of dit daadwerkelijk gebeurd zelfs 254 00:10:12,690 --> 00:10:16,080 hoewel, als mythe ging, het bedrijf had zelfs goot een laag beton 255 00:10:16,080 --> 00:10:18,630 op de top van alles in de storten om kinderen te voorkomen 256 00:10:18,630 --> 00:10:22,150 van daadwerkelijk geritsel doorheen, proberen om gratis video games. 257 00:10:22,150 --> 00:10:26,310 Nou, het blijkt dat een documentaire is nu aan de gang nu in 2014. 258 00:10:26,310 --> 00:10:30,900 En een team van graafmachines heeft geprobeerd te graven van de waarheid achter dit verhaal 259 00:10:30,900 --> 00:10:32,240 als het er inderdaad. 260 00:10:32,240 --> 00:10:33,330 >> En wat denk je ze gevonden? 261 00:10:33,330 --> 00:10:35,940 Nou, niet precies deze kerel, maar duizenden 262 00:10:35,940 --> 00:10:38,220 exemplaren van zijn spel, die werd uitgebracht 263 00:10:38,220 --> 00:10:42,000 samenvalt met de release van de film, E.T. De Buitenaardse. 264 00:10:42,000 --> 00:10:47,040 Dus inderdaad, maar in de afgelopen dagen tientallen en honderden, zo niet duizenden 265 00:10:47,040 --> 00:10:52,140 uiteindelijk van deze cartridges beginnen te worden opgegraven. 266 00:10:52,140 --> 00:10:56,280 >> Nu waarom hebben ze begraven dergelijke een duidelijk dwingende spel? 267 00:10:56,280 --> 00:10:58,570 Nou, het blijkt dat E.T. is eigenlijk bekend 268 00:10:58,570 --> 00:11:01,850 door velen gezien als de slechtste video game ooit. 269 00:11:01,850 --> 00:11:04,080 Voor een deel, want ze hadden zo weinig tijd om te ontwikkelen 270 00:11:04,080 --> 00:11:06,340 het spel voor dat bijzonder kersttijd, 271 00:11:06,340 --> 00:11:09,240 maar ook omdat het bijzonder moeilijk om te spelen. 272 00:11:09,240 --> 00:11:11,630 Dit, natuurlijk, smeekt de vraag, kunnen we het zien? 273 00:11:11,630 --> 00:11:12,610 Ja, dat kunnen we. 274 00:11:12,610 --> 00:11:13,555 Laten we eens een kijkje nemen. 275 00:11:13,555 --> 00:11:14,388 [Video game spelen] 276 00:11:14,388 --> 00:11:35,287 277 00:11:35,287 --> 00:11:37,870 Nu was eigenlijk de afbeeldingen die mensen namen bezwaar 278 00:11:37,870 --> 00:11:41,070 om omdat inderdaad was de jaren '80 en dit was de stand van de techniek. 279 00:11:41,070 --> 00:11:42,840 Inderdaad, dit was mijn jeugd hier. 280 00:11:42,840 --> 00:11:44,900 Maar wat moeilijk was over dit spel was, een, 281 00:11:44,900 --> 00:11:46,920 u een film ET had rond het scherm, kijken 282 00:11:46,920 --> 00:11:49,820 voor die kleine pixels, die vertegenwoordigd Reese's Pieces. 283 00:11:49,820 --> 00:11:52,960 Maar de vangst is ook dat als je viel in die donkere ruiten, 284 00:11:52,960 --> 00:11:54,870 zou je in een val kuil die was eigenlijk 285 00:11:54,870 --> 00:11:56,890 heel hard en vervelend om uit. 286 00:11:56,890 --> 00:11:59,570 Dus zo werd begraven ET. 287 00:11:59,570 --> 00:12:02,740 >> Nu ook in de woestijn van laat was dit hier in Wyoming. 288 00:12:02,740 --> 00:12:08,010 Een kern, niet te verwarren met [? Kern,?] control center. 289 00:12:08,010 --> 00:12:10,920 En in feite, als je kijkt naar beneden er onder het beton 290 00:12:10,920 --> 00:12:14,330 de buurt van dit witte paal, er is eigenlijk een Minuteman III raket, 291 00:12:14,330 --> 00:12:18,230 een nucleaire raket, dat is eigenlijk beschermd door een technologie die 292 00:12:18,230 --> 00:12:20,980 lang niet zo modern als je zou hopen. 293 00:12:20,980 --> 00:12:24,344 Een Amerikaanse tv-show, 60 Minuten, onlangs onthuld dit. 294 00:12:24,344 --> 00:12:25,010 [VIDEO AFSPELEN] 295 00:12:25,010 --> 00:12:28,210 -Maar de apparatuur is oud. 296 00:12:28,210 --> 00:12:30,480 Dit, bijvoorbeeld, is een van de computers 297 00:12:30,480 --> 00:12:33,380 zou een lancering ontvangen bestellen bij de president. 298 00:12:33,380 --> 00:12:35,720 Het maakt gebruik van diskettes. 299 00:12:35,720 --> 00:12:38,000 De echt oude, grote. 300 00:12:38,000 --> 00:12:41,920 Voordat je hier beneden, je waarschijnlijk had nog nooit een gezien? 301 00:12:41,920 --> 00:12:44,170 >> -Ik zou nooit een gezien tot Ik heb in dit gat. 302 00:12:44,170 --> 00:12:44,640 >> [END VIDEO AFSPELEN] 303 00:12:44,640 --> 00:12:46,730 >> Nu als je denkt u hebt deze schijven gezien, 304 00:12:46,730 --> 00:12:49,680 die 5 en 1/4-inch schijven uit de jaren 1980, uh-uh. 305 00:12:49,680 --> 00:12:53,180 Dit is een 8-inch floppy schijf uit de jaren 1970. 306 00:12:53,180 --> 00:12:55,930 Nu CS50 eigen Dan Coffey en ik had ook een kans 307 00:12:55,930 --> 00:12:58,117 te reizen naar Seattle, Washington onlangs waar 308 00:12:58,117 --> 00:12:59,450 bezochten we onze vrienden bij Valve. 309 00:12:59,450 --> 00:13:03,870 In feite kan je 60 seconden van mij herinneren het dragen van die virtual reality bril. 310 00:13:03,870 --> 00:13:07,030 >> Nu hadden we ook een gelegenheid om chatten met drie ingenieurs Valve's 311 00:13:07,030 --> 00:13:09,620 die naar ons sprak over wat het is om te werken bij Valve, 312 00:13:09,620 --> 00:13:13,290 maar beter nog, hoe het is graag video games te ontwikkelen. 313 00:13:13,290 --> 00:13:14,315 Laten we eens een kijkje nemen. 314 00:13:14,315 --> 00:13:14,600 >> [VIDEO AFSPELEN] 315 00:13:14,600 --> 00:13:15,433 >> [Video game spelen] 316 00:13:15,433 --> 00:13:23,950 317 00:13:23,950 --> 00:13:26,420 -Mijn naam is Brian Jacobson. 318 00:13:26,420 --> 00:13:30,420 Ik maakte mijn weg naar Valve soort in een enigszins omweg. 319 00:13:30,420 --> 00:13:33,710 Ik was niet echt een computer programmeur op de universiteit. 320 00:13:33,710 --> 00:13:35,790 En ik werd gebruikt om een ​​back- op de middelbare school wezen 321 00:13:35,790 --> 00:13:39,300 in staat om de programmering te doen en spullen van idee tot implementatie 322 00:13:39,300 --> 00:13:41,320 in slechts een paar minuten of uren. 323 00:13:41,320 --> 00:13:46,930 Ik heb genoten van dat snelle tempo van ontwikkeling en het zien van mijn ideeën tot leven komen. 324 00:13:46,930 --> 00:13:48,780 >> -Mijn naam is Yahn Bernier. 325 00:13:48,780 --> 00:13:50,740 Ik ben hier al bij Valve meer dan 16 jaar. 326 00:13:50,740 --> 00:13:54,170 Dus ik belandde net voor het schrijven van plezier een level editor voor Quake 327 00:13:54,170 --> 00:13:57,564 riep BSP, op basis van binaire ruimte partitioneren bomen. 328 00:13:57,564 --> 00:13:58,730 Dat was een soort van het voorgerecht. 329 00:13:58,730 --> 00:14:02,780 En uiteindelijk Gabe Newell, die de was oprichter van Valve, en Mike Harrington 330 00:14:02,780 --> 00:14:06,254 stuurde me een email te zeggen software development engineer kans. 331 00:14:06,254 --> 00:14:07,170 -Mijn naam is John Cook. 332 00:14:07,170 --> 00:14:09,380 Ik ben een software engineer werken bij klep. 333 00:14:09,380 --> 00:14:14,240 Ik focus op onze online systemen, scaling, en architectuur. 334 00:14:14,240 --> 00:14:16,060 >> Een vriend en ik eigenlijk in universiteit waren 335 00:14:16,060 --> 00:14:18,660 werkt aan een spel genaamd Team Fortress. 336 00:14:18,660 --> 00:14:22,810 En we gewoon het spel gemaakt, zet het op internet. 337 00:14:22,810 --> 00:14:25,130 Het was een aanvulling op de spel, Quake, tegelijkertijd. 338 00:14:25,130 --> 00:14:27,620 Dus het was een soort van moderne uitbreiding van dat spel. 339 00:14:27,620 --> 00:14:30,920 Daarna belandden we in contact komen met Valve 340 00:14:30,920 --> 00:14:32,200 en komen hier voorbij. 341 00:14:32,200 --> 00:14:36,535 >> -Nou, voor mij de graphics klas was waarschijnlijk de meest toepasselijke cursus 342 00:14:36,535 --> 00:14:39,960 die ik op de universiteit zeker. 343 00:14:39,960 --> 00:14:42,940 Trigonometrie, lineaire algebra. 344 00:14:42,940 --> 00:14:47,140 Ik nam een ​​robotica cursus die een had bos van lineaire algebra soort gebakken 345 00:14:47,140 --> 00:14:52,030 erin, en dat is een van de sluitsteen wiskundige concepten voor een 3D-graphics. 346 00:14:52,030 --> 00:14:57,680 Het draait allemaal om oriëntatie en het doen van de wiskunde van zoals, ik ben op zoek dan naar jou, 347 00:14:57,680 --> 00:14:58,970 maar ik wil daar richten. 348 00:14:58,970 --> 00:15:04,600 En hoe kan ik draaien en hoe kan ik erachter te komen waar ik ga verhuizen of op zoek bent. 349 00:15:04,600 --> 00:15:07,015 Dat is alles wat lineaire algebra. 350 00:15:07,015 --> 00:15:11,380 >> -De essentie van een first-person shooter is dat ik kijk door het pistool plaatsen 351 00:15:11,380 --> 00:15:13,630 met mijn ogen en gericht op iets en haal de trekker 352 00:15:13,630 --> 00:15:14,670 en ik wil dat raken. 353 00:15:14,670 --> 00:15:18,810 Dus je moet het ontwerp van uw technologie te behandelen latentie. 354 00:15:18,810 --> 00:15:22,020 En dus John Carmack ging terug en zei, oh, wat ik moet doen 355 00:15:22,020 --> 00:15:28,440 is te voorspellen op de client de resulteren ingangen van mijn speler, 356 00:15:28,440 --> 00:15:30,336 en dat te doen en maken van waar we 357 00:15:30,336 --> 00:15:33,460 denk dat hij het gaat worden en dan laten de server terug te komen en te repareren voor mij. 358 00:15:33,460 --> 00:15:36,470 >> -Dus als je denkt over het gebruik van een game-engine om een ​​spel te maken, 359 00:15:36,470 --> 00:15:38,510 Er is nu veel meer opties. 360 00:15:38,510 --> 00:15:41,675 >> -Een game-engine is een soort van de infrastructuur 361 00:15:41,675 --> 00:15:42,800 waarin je het spel te maken. 362 00:15:42,800 --> 00:15:46,560 Het is het ding verantwoordelijk voor tekenen de wereld, de wereld simuleren 363 00:15:46,560 --> 00:15:50,970 voor het afspelen van alle geluiden, voor het helpen van je spel code 364 00:15:50,970 --> 00:15:53,650 erachter te komen wat de vijand AIs gaat om te gaan doen. 365 00:15:53,650 --> 00:15:57,260 >> -Meestal is de manier waarop mensen zouden beginnen is zouden ze een bepaalde hoeveelheid van die logica te nemen 366 00:15:57,260 --> 00:15:58,020 en te wijzigen. 367 00:15:58,020 --> 00:16:00,280 Zoals, OK, laten we nu gewoon veranderen de raketwerper 368 00:16:00,280 --> 00:16:04,240 200 schade doen in plaats van het doen van 100 schade. 369 00:16:04,240 --> 00:16:08,580 Het is een heel eenvoudig, zoals, neem sommige bestaande stukje gameplay logica 370 00:16:08,580 --> 00:16:10,360 en tweak het hoe je wilt. 371 00:16:10,360 --> 00:16:13,830 >> -De andere hogere laag wordt meestal aangeduid met spel-code. 372 00:16:13,830 --> 00:16:17,230 En het spel code is meestal de wat dat is alles over de spelregels. 373 00:16:17,230 --> 00:16:21,156 Net als het feit dat ik dit bijzondere wapen 374 00:16:21,156 --> 00:16:22,530 en het werkt op een bepaalde manier. 375 00:16:22,530 --> 00:16:25,480 Of het feit dat er een headcrab monster dat 376 00:16:25,480 --> 00:16:27,130 heeft deze specifieke gedragingen. 377 00:16:27,130 --> 00:16:30,800 Dat soort dingen zijn meestal te vinden als spel code. 378 00:16:30,800 --> 00:16:34,790 >> -En van daar, echt, met die soort stukken en het proces van iteratie, 379 00:16:34,790 --> 00:16:37,600 je kan gaan van iets als Quake om iets als Half-Life. 380 00:16:37,600 --> 00:16:41,810 >> Half-Life is een sci-fi, first-person shooter game. 381 00:16:41,810 --> 00:16:45,340 Het speelt zich af in een dystopische wereld. 382 00:16:45,340 --> 00:16:50,050 De eerste Half-Life werd in deze ondergrondse onderzoeksfaciliteit 383 00:16:50,050 --> 00:16:51,100 genaamd Black Mesa. 384 00:16:51,100 --> 00:16:53,940 En je een personage gespeeld genaamd Gordon Freeman. 385 00:16:53,940 --> 00:16:56,690 En het was eigenlijk over een buitenaardse invasie 386 00:16:56,690 --> 00:17:00,000 die werd uitgelokt wanneer een experiment ging het mis. 387 00:17:00,000 --> 00:17:04,720 >> En de tweede game, Half-Life 2, werd ongeveer 10 jaar later ingesteld, 388 00:17:04,720 --> 00:17:07,940 en eigenlijk, de aliens had overgenomen van de planeet. 389 00:17:07,940 --> 00:17:12,547 En nu heb je als Gordon Freeman moest principe redden 390 00:17:12,547 --> 00:17:13,880 je vriend, Alex, wie je tegenkomt. 391 00:17:13,880 --> 00:17:17,960 En proberen terug te winnen van de vreemdelingen en het vrijmaken van de planeet. 392 00:17:17,960 --> 00:17:20,660 >> -Zeker, projecten zoals Portal 2, het was gewoon 393 00:17:20,660 --> 00:17:24,742 een klein team, vijf mensen werkt aan een spel idee. 394 00:17:24,742 --> 00:17:26,950 Ze vond een aantal dingen die ze gedachte waren interessant, 395 00:17:26,950 --> 00:17:28,283 interessant zou kunnen zijn voor een spel. 396 00:17:28,283 --> 00:17:29,490 Ze uitgebreid tot 20 personen. 397 00:17:29,490 --> 00:17:31,355 Ze uitgewerkt die ideeën. 398 00:17:31,355 --> 00:17:32,480 Je nog wat meer mensen. 399 00:17:32,480 --> 00:17:35,827 >> Ze zijn als, OK, en nu zijn we wilt verzenden op drie consoles. 400 00:17:35,827 --> 00:17:36,910 We hebben veel meer mensen. 401 00:17:36,910 --> 00:17:38,619 Net als iedereen, kom kijken naar dit spel. 402 00:17:38,619 --> 00:17:39,160 Het is geweldig. 403 00:17:39,160 --> 00:17:40,909 Het moet gewoon een stelletje van het werk gedaan te krijgen. 404 00:17:40,909 --> 00:17:43,790 Dus opeens heb je de helft van het bedrijf werken, 405 00:17:43,790 --> 00:17:47,100 je hebt 120 mensen die werken op dit spel om het gedaan te krijgen. 406 00:17:47,100 --> 00:17:51,190 Uiteraard is het aantal projecten elders contracten, 407 00:17:51,190 --> 00:17:53,354 maar iedereen is super gelukkig omdat ze weten 408 00:17:53,354 --> 00:17:55,520 ze werken aan deze ding dat is echt geweldig. 409 00:17:55,520 --> 00:17:58,644 >> -Een van de echt grote dingen over deze baan en deze industrie in het algemeen 410 00:17:58,644 --> 00:18:00,684 is dat de dingen veranderen de hele tijd. 411 00:18:00,684 --> 00:18:02,600 Het ding dat je bent doet dit jaar gaat 412 00:18:02,600 --> 00:18:04,980 zeer moeilijk van de te wat je het volgend jaar doen. 413 00:18:04,980 --> 00:18:08,520 En zo blijft alles echt vers, eigenlijk, en behoorlijk spannend. 414 00:18:08,520 --> 00:18:11,757 Je bent voortdurend leren van nieuwe dingen en doen nieuwe soorten dingen. 415 00:18:11,757 --> 00:18:12,590 [END VIDEO AFSPELEN] 416 00:18:12,590 --> 00:18:13,969 DAVID: Dat is het voor CS50LIVE. 417 00:18:13,969 --> 00:18:15,760 Heel erg bedankt voor deze medewerkers week. 418 00:18:15,760 --> 00:18:19,710 Hartelijk dank aan de eigen Colton CS50's Ogden en het team achter de camera. 419 00:18:19,710 --> 00:18:21,456 Dit was CS50. 420 00:18:21,456 --> 00:18:23,198 >> [MUZIEK - LOS DEL RIO, "MACARENA"] 421 00:18:23,198 --> 00:19:18,955