[Speel van musiek] NOU: Hello, world. Dit is CS50LIVE. Ons het so 'n goeie episode vir jou. Die hoof uitvoerende beampte van YouTube, 'n fout in Internet Explorer, die ergste wedstryd ooit video, en 'n uitstappie na Valve sagteware. Maar eers 'n reis na Tokio, Japan waar President Obama het onlangs gespeel sokker met 'n goeie vriend van my. [Video speel] -Wow. Hy beweeg. -Ek kan 'n sokkerbal te skop. Hier gaan ek. Hey, goeie werk. [Einde video speel] Dawid Hello, world. Ek is hier saam met CS50 se eie Colton Ogden. COLTON OGDEN: Hallo, almal. Dawid, en wie anders wat ons doen het met ons vandag hier? COLTON OGDEN: Dit is nou ons bietjie robot makker uit Frankryk. Dawid So ek eintlik met GEEN saam [? Rob Boden?] toe ek en hy was in Atlanta, Georgia 'n paar weke terug As jy kan onthou op SIGCSE, die Special Interest Groep vir Rekenaarwetenskap Onderwys, waar letterlik rond te loop die konferensie kamer vloer was hierdie man. Sowel as dit blyk, wanneer Ons kom terug na die kampus ons ontdek dat Professor [Onhoorbaar] van Harvard se robotika laboratorium eintlik 'n Nou hier op die kampus. En sy is vriendelik ons ​​toegelaat om hom te program vir jou vandag. COLTON OGDEN: Ja, en eintlik, David, Ek dink nou wil hallo sê jy As jy wil om te loop om die tafel hier. Dawid Right hier? Alle regte. Alle regte. NOU: Hallo, David. Nice om jou te ontmoet. Dawid Hallo, Nou. Skud sy hand? COLTON OGDEN: Skud sy hand op en af. Dawid OK. COLTON OGDEN: En dan hy sal voort te gaan en sit. En as jy belangstel, Ek kan eintlik jou wys hoe ek in staat was om hom te kry al hierdie dinge te doen nie. Dawid Ja, absoluut. COLTON OGDEN: Hy is 'n bietjie balans af vanoggend. Hy het nie sy koffie gehad nie. Dawid So, wat is dit wat ons is op soek na? COLTON OGDEN: So ons is op soek na hier is 'n kern grafiek, wat nou 'n grafiese ontwikkeling omgewing, Dit is baie soortgelyk aan Scratch dat CS50 gebruik. Hier sien ons dit stel soos 'n vloeidiagram. En ons het 'n klomp van hierdie bietjie boustene hier. Nou as ons neem 'n blik op hierdie een byvoorbeeld, is dit genoem opstaan. En hierdie blok sê opstaan ​​vir die Nou, of hy sit of wat ook al. Dan sien ons dit gaan in tasbare kop, wat basies wag vir 'n kraan op die top van sy kop soos jy vroeër gesien het. Skuif na middel beweeg in 'n x, y, en z rigting aan 'n spesifieke bestemming. Handdruk is 'n module wat ek geskryf het, wat basies sê, hallo, David. Nice om jou te ontmoet. Wag vir 'n handdruk. Sit is die teenoorgestelde van opstaan. Hy sal voort te gaan en sit. En dan kop beweging is 'n lus waardeur hy sal sy kop in willekeurige rigtings. Dawid interessante. So selfs al is dit nie kyk nie soos die stukke van die legkaart van nuuts af, dit is regtig dieselfde idee. En jy 'n program bedrading die gebruik van hierdie boustene. COLTON OGDEN: Ja, presies. Dawid So jy sê jy het een van hulle, handdruk. Kan ons zoom in op daardie een? COLTON OGDEN: Natuurlik. Ons sal 'n blik hier by handdruk. En ons sal sien dit is die opstel van baie soortgelyk aan die ander vloei diagram. Ons begin met die hallo blok, wat [onhoorbaar] sê, hallo, David. Nice om jou te ontmoet. Hierdie reg hier is 'n lus. Dit sê, op te spoor arm beweging. So sal dit in 'n oneindige lus wag totdat sy arm is op en af ​​grootgemaak. En dan sodra dit gebeur het, dit sal voortgaan en hierdie dinge doen. Stel styfheid OK en gaan aan die einde, wat basies beteken stuur hom terug na sy verstek posisie. Dawid interessante. Is jy beperk tot die gebruik van hierdie grafiese omgewing hom om die program op hierdie manier? COLTON OGDEN: Eintlik nie. As ons gaan voort en dubbel kliek enige van hierdie boustene, kan ons sien dat daar is eintlik python-kode onder die enjinkap, brandstof elk van hierdie boustene. Dawid Ag, inderdaad. So vir diegene wat nie vertroud, python is 'n geïnterpreteer taal, baie soortgelyk in die gees te PHP, wat ons gebruik in CS50. En net soos wat jy kan gebruik PHP vir die web ontwikkeling, jy kan ook gebruik dit by die opdrag lyn. En as Colton hier doen in hierdie grafiese omgewing, programme te skryf en dan stuur dit via Wi-Fi - COLTON OGDEN: Korrekte. Dawid - tot nou toe. Wil jy 'n paar tyd om aan te bly? COLTON OGDEN: Beslis. Dawid Alle regte. Wel, voordat Colton kom terug met ons vir 'n bietjie van 'n verrassing, ons het nou - kry dit - het 60 sekondes van die voormalige CS50 studente oudisies te word onderrig metgeselle. [Video speel] -Dankie. Dankie, almal, vir die feit dat hier. Hey, Mr Bunny. -Welkom by hierdie kort handleiding oor - [Onhoorbaar] pret met Twinkies. -Wag. Stop. -So nou het ons 'n probleem. -Dit is nie. En ek gaan om jou te vertel hoekom. -A lus is herhaling, soos - -Soort van 'n swart boks. -OK. Ek dink ek kry dit. -Alle regte. So nou is ek in 'n effens moeilike deel. -Dit is reg. 8 stukkies maak 'n greep. -Jy neem 'n greep en jy skei dit in stukke van vier. -Beep, beep, beep, beep, beep. Beep, beep, beep, beep, beep. -Dit blyk té ingewikkeld. -So kom ons doen dit weer. -As ek verwar jy, asseblief voel vry om my te stop. -Maar wag 'n sekonde. Wel, laat ons kyk terug op die skyfie en breek dinge af stap vir stap. -As jy onthou, geheue opgebreek in byte-grootte stukke. -So hier het ons die beste geval. -Dit is 'n aansienlike verbetering oor - -A webblaaier, soos Chrome. -Dit is altyd nodig is om enige te bevry - -Mense - -Jy kan oor loop. En die kode kan kry ietwat omslagtig. -En dit is al wat jy nodig het. -Boom! Dawid Nou CS50 se eie Dan Coffey en ek het onlangs het 'n geleentheid om uit te reis te Mountain View, Kalifornië, en dit is waar die hoofkwartier van Google is. En ons het 'n kans om te gesels met Susan Susan, die hoof uitvoerende beampte van YouTube. Dit was eintlik in Susan se garage jaar gelede in die '90 Google self was begin deur Larry en Sergey. Wel, dit blyk dat Susan haarself eintlik CS50 het net 'n paar jaar voor ek gedoen het. En ek dink dit is opvallend as jy sal gou hoor net hoe 'n bekendstelling aan die rekenaar Wetenskap haar lewe so beïnvloed. Sy wil graag hallo sê. Susan Susan: Hello, world. Ek is Susan Susan. Ek is die hoof uitvoerende beampte van YouTube. En ek het CS50 toe ek 'n senior by Harvard in 1990. Ek was eintlik 'n geskiedenis en letterkunde groot. En my junior somer het ek besef dat miskien is ek wou iets te leer oor rekenaars. En so het ek teruggekom. Ek het CS50. Dit was moeilik, maar dit was die mees ongelooflike klas I het. Dit verander hoe ek dink oor alles. En wanneer ek gegradueer van Harvard in 1990, het ek na Silicon Valley en ek het 'n werk. En ek het gewerk in tegnologie sedertdien. So CS50 het my lewe verander. Ek gaan voort om te leer en te bou. Dit het my 'n groot stigting. En ek is die voortsetting van elke te leer dag as die tegnologie verander. En ek dink dit is wonderlik dat jy al neem dit want dit is hoe die wêreld is gaan vorentoe te verander. Daar is net gaan meer en te wees meer geleentheid en innovasie. Digitale gaan beïnvloed ons woon nog meer as wat dit reeds het. En dit is wonderlik dat jy al neem CS50. So dit is CS50. Dawid So as jy het al op soek na 'n nuwe rede nie 'n sekere leser te gebruik, hier is 'n goeie een vir jou. Ek het onlangs ontvang - saam met almal by Harvard Universiteit - hierdie e-pos hier. "Liewe Lede van die Harvard Gemeenskap. Die Amerikaanse Departement van Binnelandse Veiligheid beveel aan dat alle gebruikers tydelik die gebruik staak Microsoft Internet Explorer, IE, te danke aan 'n kritiese sekuriteit fout. " Dit is eintlik gedokumenteer in Microsoft Security Advisory 2963983. Kwesbaarheid in Internet Explorer kan lei tot uitvoering van eksterne kode toelaat. Nou wat beteken dit en wat is die bedreiging? Wel, oorweeg dit diagram hier, wat ons gebruik in CS50 om te praat oor HTTP of web verkeer. As ons hier het 'n web bediener en aan die ander kant 'n leser - Internet Explorer in hierdie geval - van die kursus, 'n leser wanneer dit die eerste versoek om 'n webblad dalk 'n HDP boodskap soos hierdie. KRY index.html met die nuwe weergawe 1.1 van die protokol bekend as HTTP. Nou in hierdie geval, as 'n slegte man het een of ander manier toegang tot hierdie web bediener het en geïnstalleer op dit 'n ontgin om so te praat, hy of sy dalk in staat wees om te oortuig die web bediener van hierdie om terug te keer. Nie net index.html homself as versoek, maar ingebed binne van daardie index.html lêer kon, natuurlik wees om ander bates. In die besonder, iets soos exploit.SWF, 'n flits lêer wat uiteindelik neem voordeel van hierdie sekuriteit tegniek, hoop feng shui, wat 'n fancy manier om te sê dat die kode binnekant van die flits lêer toe die sogenaamde hoop binnekant van die rekenaar leser met al die verskillende dele van geheue wat uiteindelik ontwerp is Groot stukke van die geheue te vervang hier. As jy onthou dit van ons gesprek in CS50 van die hoop en die stapel en geheue bestuur meer in die algemeen. Nou is die geheue wat eintlik gegooi op die hoop werklik genoem flits vektor voorwerpe. En dit is iets wat met wat jy vertroud kan wees As jy jouself moes geprogrammeer Flash voor. Maar een van die voorwerpe in die besonder staan ​​bekend as 'n flits media klank voorwerp. En hierin lê 'n geleentheid omdat wat hierdie ontgin dan voortgaan om te doen korrup hierdie stuk geheue, hierdie voorwerp in die geheue, sodanig dat dit probeer om dit te maak heksadesimale adres uitvoerbare, en daardeur probeer om die program om uiteindelik mislei om die uitvoering van 'n dop kode, sodat om te praat, of slegte ou se kode, wat uiteindelik gestoor by hierdie adres hier wat deur middel van die aflaai ingespuit is onwetend dat veral flits lêer. Nou is die eindresultaat kan wees, ongeag die teenstander wil jou rekenaar te doen. Hy of sy kan jou lêers verwyder, beweeg jou lêers, e-pos jou lêers, of regtig iets wat jy self doen kon doen as die eienaar van die rekenaar. En dit is hoekom die bedreiging is so skrikwekkend. Dit laat werklik almal op die internet se webwerf jou kan besoek om uit te voer arbitrêre programme op jou rekenaar. Nou gelukkig, Microsoft baie het onlangs 'n oplossing vir hierdie vrygelaat want die probleem eintlik verdrukte Internet Explorer 6 al die pad deur 11. So dit is al met ons vir 'n geruime tyd en is eers onlangs ontdek. So as jy 'n outomatiese updates aangeskakel is, moet jy gou OK wees. Maar net om veilig te wees, kan jy sekerlik oorskakel na 'n ander leser ten minste in die tussentyd. Nou blyk dit ook dat Microsoft baie ruim ook vrygestel van 'n oplossing vir Windows XP, 'n ouer weergawe van Windows waarvoor ondersteuning was eintlik amptelik gestaak het net 'n paar weke gelede, maar hierdie bedreiging was so erg dat hulle ook uitgerol 'n oplossing vir daardie OS sowel. Nou in ander nuus van die week was dit. Die Atari 2600, 'n ouer spel konsole dat 'n neef van my eintlik het grootgeword op wat ons gebruik video speletjies te speel wanneer Ons sal hul huis besoek. Nou in elk geval, hoekom dit in die nuus was vir die volgende rede. Terug in die 80's, het die maatskappy agter hierdie toestel, Atari, besluit om te begrawe in 'n stortingsterrein in New Mexico 'n hele klomp van die ou speletjies en handleidings en die soos wat dit wil anders het gegaan onverkoopte. Nou met verloop van tyd, die begrafnis van hierdie games 'n bietjie van 'n stedelike mite. Mense het nie regtig weet vir seker of dit werklik gebeur het, selfs al is, as mite het, het die maatskappy het selfs gooi 'n laag van beton op die top van alles wat in die stortingsterrein kinders om te verhoed dat vanaf eintlik geritsel deur dit, probeer om gratis video speletjies te vind. Wel, dit blyk dat 'n dokumentêre is nou aan die gang is nou in 2014. En 'n span van graafmachines het probeer te grawe om die waarheid agter hierdie storie As dit is inderdaad daar. En raai wat hulle gevind het! Wel, nie presies man, maar duisende kopieë van sy spel, wat vrygestel is samevallende met die vrystelling van die movie, E.T. Die Buiteaardse. So inderdaad, net in die afgelope paar dae dosyne en honderde, indien nie duisende uiteindelik van hierdie patrone besig is om te opgegrawe word. Nou hoekom het hulle begrawe sodanige 'n duidelik dwingende spel? Wel, dit blyk dat E.T. is eintlik beweerde deur baie van die ergste video game ooit wees. In deel, want hulle het so min tyd om te ontwikkel die spel voor daardie veral Kersseisoen, maar ook omdat dit veral moeilik om te speel. Dit, natuurlik, lei tot die vraag, kan ons dit sien? Ja, ons kan. Kom ons neem 'n blik. [VIDEO Spel] Nou was dit nie eintlik die beelde wat mense het beswaar te, want inderdaad, dit was die 80's en dit was die toestand van die kuns. Trouens, dit was my kinderjare hier. Maar wat moeilik was oor hierdie wedstryd was een, jy het 'n fliek ET rondom die skerm, soek Vir diegene bietjie pixels, wat verteenwoordig Reese se stukke. Maar die catch is ook om as jy val in die donker diamant vorms, jy sal val in 'n put wat eintlik baie hard en vervelige om te kry uit. So dus is ET begrawe. Nou ook in die woestyn laat was hierdie hier in Wyoming. 'N kern, nie met verwar [? nucular,?] beheer sentrum. En in werklikheid, as jy kyk af daar onder die beton naby die wit paal, daar is eintlik 'n Minuteman III raket, 'n kern missiel, wat eintlik beskerm deur 'n tegnologie wat nie naastenby so modern as wat jy kan hoop. 'N Amerikaanse TV-show, 60 Minute, het onlangs onthul. [Video speel] -Maar die toerusting is oud. Dit, byvoorbeeld, is een van die rekenaars wat sou 'n bekendstelling ontvang bestel van die president. Dit maak gebruik van sagteskywe. Die baie ou, grotes. Voordat jy het hier af, het jy waarskynlik nog nooit een gesien? -I'd nooit een gesien tot Ek het in hierdie gat. [Einde video speel] Nou as jy dink jy het gesien dat hierdie skywe, diegene 5 en 1/4-inch skywe van die 1980's, uh-uh. Hierdie is 'n 8-duim floppy skyf van die 1970's. Nou CS50 se eie Dan Coffey en ek het ook 'n geleentheid gehad om te reis na Seattle, Washington het onlangs waar ons vriende besoek aan die klep. In werklikheid is, kan jy 60 sekondes van my onthou dra die virtuele realiteit bril. Nou het ons ook 'n geleentheid gehad om gesels met drie van die klep se ingenieurs wat met ons gepraat het oor wat dit is soos om te werk aan Valve, maar nog beter, wat dit is soos video speletjies te ontwikkel. Kom ons neem 'n blik. [Video speel] [VIDEO Spel] -My naam is Brian Jacobson. Ek het my pad na Valve soort in 'n effens ompad. Ek was nie eintlik 'n rekenaar programmeerder in die kollege. En ek was gebruik om terug te in die hoërskool wese kan ontwikkeling te doen en dinge van idee tot uitvoering in net 'n paar minute of ure. Ek het dit geniet dat 'n vinnige tempo van ontwikkeling en sien my idees tot lewe kom. -My naam is Yahn Bernier. Ek is hier op Valve vir meer as 16 jaar. So beland ek skryf net vir pret 'n vlak redakteur vir Quake genoem BSP, gebaseer op binêre ruimte skeiding bome. Dit was soort van die entree. En uiteindelik Gabe Newell, wat die stigter van die klep, en Mike Harrington gestuur vir my 'n e-pos gesê sagteware ontwikkeling ingenieur geleentheid. -My naam is John Cook. Ek is 'n sagteware-ingenieur werk by die klep. Ek fokus op ons aanlyn-stelsels, skaal, en argitektuur. 'N vriend en ek eintlik in die universiteit was werk op 'n spel genaamd Team Fortress. En ons het net het die spel, sit dit op die internet. Dit was 'n toevoeging tot die spel, Quake, in die tyd. So dit was soort van 'n moderne uitbreiding van die spel. Daarna het ons geëindig om in kontak met Valve en kom hier verby. Wel, vir my is die grafiese klas was waarskynlik die mees toepaslike kursus dat ek het in die kollege vir seker. Trigonometrie, lineêre algebra. Ek het 'n robotika kursus wat 'n klomp van lineêre algebra soort gebakte in dit, en dit is een van die hoeksteen wiskunde konsepte vir enige 3D-grafika. Dit gaan alles oor geaardheid en doen die wiskunde van soos, ek is op soek na meer as by jou, maar ek wil daar te streef. En hoe kan ek draai en hoe kan ek uit te vind waar ek beweeg of soek. Dit is al lineêre algebra. -Die essensie van 'n eerste persoon skieter is dat ek kyk deur die geweer webwerwe met my oë en gerig is op iets en die sneller trek en ek wil om dit te tref. So jy het om te ontwerp jou tegnologie om te gaan met latency. En so John Carmack gaan terug en gesê: Ag, wat ek nodig het om te doen word voorspel op die kliënt die lei my speler se insette, en net doen en lewer van waar ons dink hy gaan wees en dan laat die bediener terug te kom en dit regmaak vir my. -So wanneer jy dink oor gebruik van 'n spel enjin 'n wedstryd te maak, daar is 'n baie meer opsies nou. -A wedstryd enjin is 'n soort van die infrastruktuur waarin jy die spel. Dit is die ding wat verantwoordelik is vir die tekening die wêreld, vir die wêreld te simuleer, vir die speel van al die klanke, om te help om jou spel kode uit te vind wat die vyand AIs gaan om te gaan doen. -Gewoonlik is die manier waarop mense sou begin, is hulle wil 'n bedrag van daardie logika neem en dit verander. Soos, OK, nou laat ons net verander die vuurpyllanseerder 200 skade aan te doen in plaas doen 100 skade. Dit is 'n baie eenvoudige, soos, net neem sommige bestaande stuk van die spel logika en aanpas om dit te hoe jy wil. -Die ander hoër vlak laag is gewoonlik genoem spel code. En die spel-kode is gewoonlik die ding wat gaan alles oor die spel reëls. Soos die feit dat ek ' hierdie spesifieke wapen en dit werk in 'n bepaalde manier. Of die feit dat daar 'n headcrab monster wat het hierdie spesifieke gedrag. Hierdie soort van dinge is tipies te vind as spel code. -En van daar, regtig, met dié soort stukke en proses van herhaling, jy kan gaan van iets soos Quake na iets soos Half-Life. -Half-Life is 'n sci-fi, eerste-person shooter game. Dit is in 'n somber wêreld. Die eerste Half-Life is gestig in hierdie ondergrondse navorsing fasiliteit genoem Swart Mesa. En jy 'n karakter gespeel vernoem Gordon Freeman. En dit was basies oor 'n vreemdeling inval wat uitgelok toe 'n eksperiment verkeerd geloop het. En die tweede wedstryd, Half-Life 2, is ongeveer 10 jaar later stel, en basies, die vreemdelinge oor die planeet geneem het. En nou is jy as Gordon Freeman het basies te red Jou vriend, Alex, wat jy ontmoet. En probeer om terug te wen die vreemdelinge en herwin die planeet. -Sekerlik, projekte soos Portal 2, dit was net 'n klein span, vyf mense werk op 'n spel idee. Hulle het 'n paar dinge wat hulle gedagte was interessant, kan interessant wees vir 'n wedstryd. Hulle uitgebrei tot 20 mense. Hulle vleis uit daardie idees. Jy 'n paar meer mense bygevoeg. Hulle is soos, OK, en nou is ons wil stuur op drie consoles. Ons moet 'n baie meer mense. Soos almal, kom kyk na die spel. Dit is awesome. Dit moet net 'n klomp van werk gedoen te kry. So skielik het jy die helfte van die maatskappy werk, jy het 120 mense werk op die spel om dit te doen. Dit is duidelik dat die aantal projekte elders kontrakte, maar almal is super gelukkig, want hulle weet hulle werk op hierdie ding wat is regtig awesome. -Een van die baie groot dinge oor hierdie werk en die bedryf in die algemeen is dat dinge al die tyd verander. Die ding wat jy doen hierdie jaar gaan baie moeilik wees om uit die ding wat jy die volgende jaar te doen. En so hou dit alles werklik vars, eintlik, en mooi opwindend. Jy is voortdurend nuwe leer dinge en doen nuwe soorte van dinge. [Einde video speel] Dawid Dit is dit vir CS50LIVE. Baie dankie aan hierdie week se bydraers. Baie dankie aan CS50 se eie Colton Ogden en die span agter die kamera. Dit was CS50. [MUSIEK - LOS DEL RIO, "Macarena"]