>> [Muziek]
NU: Hallo, wereld.
Dit is CS50LIVE.
We hebben zo'n goede aflevering voor je.
De CEO van YouTube, een bug in Internet Explorer,
de slechtste video game ooit, en een excursie naar Valve Software.
Maar eerst een reis naar Tokio, Japan waar president Obama recent afgespeelde
voetbal met een goede vriend van mij.
>> [VIDEO AFSPELEN]
-Wow.
Hij beweegt.
>> -Ik kan ook schoppen een voetbal.
Ik ga hier.
>> -He, goede baan.
>> [END VIDEO AFSPELEN]
DAVID: Hallo, wereld.
Ik ben hier met CS50 eigen Colton Ogden.
>> COLTON OGDEN: Hallo, iedereen.
>> DAVID: En wie anders doen we bij ons hier vandaag?
>> COLTON OGDEN: Dit is nu onze kleine robot maatje uit Frankrijk.
DAVID: Dus ik echt ontmoet NO naast [? Rob Boden?]
toen hij en ik waren in Atlanta, Georgië een paar weken terug
zoals u zich wellicht herinnert aan SIGCSE, de Special Interest
Groep voor Computer Science Education, waar letterlijk rond te lopen
de conferentie verdieping kamer was deze kerel.
Nou zo blijkt, wanneer we kwamen terug naar de campus
ontdekten we dat professor [Onverstaanbaar] van Harvard robotica lab
had eigenlijk een nu hier op de campus.
En ze waren zo vriendelijk om ons om hem te programmeren voor u vandaag.
COLTON OGDEN: Ja, en eigenlijk, David, Ik denk en wil om hallo te zeggen aan u
als je wilt lopen hier in de buurt van de tafel.
>> DAVID: Right here?
Oke.
>> NU: Hallo, David.
Leuk u te ontmoeten.
>> DAVID: Hallo, Nu.
Zijn hand schudden?
>> COLTON OGDEN: Shake zijn hand op en neer.
>> DAVID: OK.
>> COLTON OGDEN: En dan hij zal gaan zitten.
En als je geïnteresseerd bent, Ik kan je eigenlijk zien
hoe ik was in staat om hem te krijgen om al deze dingen te doen.
>> DAVID: Ja, absoluut.
>> COLTON OGDEN: Hij is een beetje uit balans vanmorgen.
Hij heeft nog niet zijn koffie had.
DAVID: Dus wat is dit we naar kijken?
COLTON OGDEN: Dus we kijken naar Hier is een kern grafiek, die nu
een grafische programmeeromgeving, die is zeer vergelijkbaar met Scratch
dat CS50 gebruikt.
Hier zien we het ingesteld op als een stroomschema.
En we hebben een aantal van deze weinig bouwstenen hier.
Als we nu een kijkje nemen op deze bijvoorbeeld, het heet stand up.
En dit blok zegt op te komen voor het nu, of hij gaat zitten
of wat dan ook.
>> Dan zien we het gaat in tactiele hoofd, die in feite
wacht op een tik op de top van zijn hoofd als je eerder zag.
Ga naar middelen bewegen in een x, y en z richting naar een specifieke bestemming.
Handdruk is een module schreef ik, die in feite zegt: hallo, David.
Leuk u te ontmoeten.
Wacht op een handdruk.
Zitten is het tegenovergestelde van opstaan.
Hij zal gaan zitten.
En dan beweging van het hoofd is een lus waarbij hij
zal zijn hoofd bewegen in willekeurige richtingen.
>> DAVID: Interessant.
Dus ook al zijn deze niet kijken zoals de puzzelstukjes uit Scratch,
het is echt hetzelfde idee.
En je bedrading een programma met deze bouwstenen.
>> COLTON OGDEN: Ja, precies.
>> DAVID: Dus je zei dat je gemaakt een van hen, handdruk.
Kunnen we inzoomen op die ene?
>> COLTON OGDEN: Zeker.
We nemen een kijkje hier op handdruk nemen.
En we zullen zien dat het opzetten van zeer vergelijkbaar met de andere stroomdiagram.
We beginnen met de hello blok, die [onverstaanbaar] zegt: hallo, David.
Leuk u te ontmoeten.
Dit hier is een lus.
Het zegt, op te sporen armbeweging.
Het zal dus in een oneindige lus wachten tot haar arm
is op en neer verhoogd.
En dan eens wat er gebeurd is, het zal gaan en deze dingen doe.
Stel stijfheid OK en ga naar het einde, die in feite betekent terugsturen hem
zijn standaardpositie.
DAVID: Interessant.
Bent u beperkt tot slechts Met deze grafische omgeving
om hem te programmeren op deze manier?
>> COLTON OGDEN: Eigenlijk niet.
Als we verder gaan en dubbelklik een van deze bouwstenen,
kunnen we zien dat er eigenlijk python code onder de motorkap,
voeden van elk van deze bouwstenen.
>> DAVID: Ah, inderdaad.
Dus voor wie niet vertrouwd, python is een geïnterpreteerde taal,
zeer vergelijkbaar in geest PHP, die we gebruiken in CS50.
En net zoals je kunt gebruiken PHP voor web programmeren,
u kunt het ook gebruiken op de commandoregel.
En als Colton wordt hier in deze grafische omgeving,
het schrijven van programma's en vervolgens overgebracht via Wi-Fi -
COLTON OGDEN: Correct.
DAVID: - tot nu.
Zou je een aantal tijd om te blijven hangen?
>> COLTON OGDEN: Absoluut.
>> DAVID: Oke.
Nou, voordat Colton komt terug met ons voor een beetje een verrassing,
we nu - krijgen -? hebt 60 seconden van oud-CS50 studenten auditie
Teaching Fellows te worden.
[VIDEO AFSPELEN]
Bedankt.
Dank u, iedereen, voor uw aanwezigheid hier.
>> -Hey, Mr Bunny.
>> -Welkom op deze korte tutorial op -
>> [Onverstaanbaar] plezier met Twinkies.
-Wacht.
Stoppen.
>> -Dus nu hebben we een probleem.
-Het is niet.
En ik ga je vertellen waarom.
-Een lus is herhaling, zoals -
>> Sorteren van een zwarte doos.
>> -OK.
Ik denk dat ik snap het.
-Oke.
Dus nu ben ik in een iets harde deel.
>> -Dat klopt.
8 bits vormen een byte.
>> -Je neemt een byte en je scheiden in stukjes van vier.
>> -Piep, piep, piep, piep, piep.
Piep, piep, piep, piep, piep.
>> -Het lijkt overdreven ingewikkeld.
>> Dus laten we dit nog een keer doen.
>> -Als ik verwarren u, alstublieft voel je vrij om me te stoppen.
>> -Maar wacht eens even.
>> -Nou, laten we eens kijken terug op de glijbaan en breken dingen naar beneden stap voor stap.
>> -Als u het zich herinnert, het geheugen is opgesplitst in byte-grootte stukken.
>> -Dus hier hebben we het best case scenario.
>> -Dit is een aanzienlijke verbetering ten opzichte van -
>> -Een web browser, zoals Chrome.
>> -Het is altijd nodig om een ​​vrij -
-Mensen -
-U mag tegenkomt.
En de code kan krijgen enigszins omslachtig.
>> -En dat is alles wat je nodig hebt.
>> -Boom!
>> DAVID: Nu CS50 eigen Dan Coffey en ik onlangs
had een kans om te reizen naar Mountain View, Californië,
dat is waar de hoofdkwartier van Google is.
En we een kans om te chatten met gehad Susan Wojcicki, de CEO van YouTube.
Het was eigenlijk in Susan's garage jaar geleden in de jaren '90
dat Google zelf was gestart door Larry en Sergey.
>> Nou, het blijkt dat Susan zich eigenlijk nam CS50
slechts een paar jaar voordat ik deed.
En ik denk dat het opvallend zoals u zult al snel te horen hoe
veel een kennismaking met de computer wetenschap dus beïnvloed haar leven.
Ze wil gedag zeggen.
SUSAN Wojcicki: Hallo, wereld.
Ik ben Susan Wojcicki.
Ik ben de CEO van YouTube.
En ik nam CS50 toen ik een senior op Harvard in 1990.
>> Ik was eigenlijk een geschiedenis en literatuur belangrijke.
En mijn junior zomer I besefte dat ik misschien
wilde iets leren over computers.
En zo kwam ik terug.
Ik nam CS50.
Het was moeilijk, maar het was de meest verbazingwekkende klasse I nam.
Het veranderde hoe ik denk over alles.
>> En toen ik afstudeerde aan Harvard in 1990, ging ik naar Silicon Valley
en ik heb een baan.
En ik heb gewerkt in tech sindsdien.
Dus CS50 mijn leven veranderd.
Ik blijven leren en te bouwen.
Het gaf me een geweldige basis.
En ik ben blijven elke leren dag als de technologie verandert.
>> En ik vind het geweldig dat je al het nemen van het
want dat is hoe de wereld is gaat veranderen voor de toekomst.
Er zal alleen maar meer en zijn meer mogelijkheden en innovatie.
Digitaal gaat invloed hebben op onze leeft nog meer dan het al heeft.
En het is prachtig dat je bent helemaal nemen CS50.
Dus dit is CS50.
>> DAVID: Dus als je bent geweest op zoek naar een nieuwe reden
een bepaalde browser niet te gebruiken, hier is een goeie voor je.
Onlangs ontving ik - samen met iedereen
aan de Harvard University - deze e-mail hier.
>> "Beste leden van de Harvard Gemeenschap.
Het Amerikaanse Department of Homeland Security beveelt aan dat alle gebruikers tijdelijk
het gebruik van stoppen Microsoft Internet Explorer, IE,
te wijten aan een kritisch lek. "
>> Dit is eigenlijk gedocumenteerd Microsoft-beveiligingsadvies 2963983.
Door een beveiligingslek in Internet Explorer kan leiden tot uitvoering van externe code.
Nu, wat betekent dit en wat is de dreiging?
Nou, overweeg dit diagram hier, waar we
gebruiken bij CS50 om te praten over HTTP of webverkeer.
Als we hier een web server en anderzijds
een browser - Internet Explorer in dit geval - natuurlijk
een browser wanneer het eerst vraagt ​​een webpagina
misschien een HDP-bericht als dit te sturen.
GET index.HTML gebruik maakt van versie 1.1 van het protocol, bekend als HTTP.
>> Nu in dit geval, als een bad guy heeft een of andere manier toegang tot deze webserver had
en geïnstalleerd op een benutten om zo te zeggen,
hij of zij zou kunnen overtuigen de webserver om deze terug te keren.
Niet alleen index.HTML zichzelf als gevraagd, maar binnen ingebed
van dat bestand index.html kon, Uiteraard zijn andere activa.
Met name wat zoals exploit.SWF,
een flash-bestand dat uiteindelijk maakt gebruik van deze beveiliging
techniek, hoop feng shui, dat is een mooie manier om te zeggen dat de code
binnenkant van die flash-bestand sprays de zogenaamde heap binnenkant van de computer
browser met verschillende stukjes geheugen die uiteindelijk zijn ontworpen
om grote delen van het geheugen te overschrijven hier.
>> Als u dit herinneren uit onze discussie in CS50 van de hoop en de stapel
en geheugenbeheer meer in het algemeen.
Nu het geheugen dat is eigenlijk op de hoop gegooid
zijn echt wel flash vector objecten.
En dit is iets met die u vertrouwd zou kunnen zijn
als je jezelf had voordat geprogrammeerd Flash.
Maar een van deze objecten name staat bekend als een flash media-sound object.
>> En hierin ligt een kans, omdat wat deze exploit dan verder te doen
corrupt is dit stuk van geheugen, dit object in het geheugen,
zodanig dat het probeert om dit te maken hexadecimaal adres uitvoerbaar, waardoor
proberen om het programma uiteindelijk truc tot het uitvoeren van een aantal shell-code zo
te spreken, of code bad guy's, dat is uiteindelijk opgeslagen op dit adres hier,
die werd geïnjecteerd door middel van het downloaden onbewust dat bepaalde flash-bestand.
>> Nu is het eindresultaat zijn, ongeacht de tegenstander wil doen om uw computer.
Hij of zij kan uw bestanden te verwijderen, verplaatsen van uw bestanden, e-mail uw bestanden,
of echt iets dat je zelf kunt doen zou kunnen doen als de eigenaar van die computer.
En dat is waarom de dreiging is zo eng.
Het laat echt iedereen op de internet wiens website u
zou bezoeken om uit te voeren willekeurige programma's op uw computer.
>> Nu gelukkig, Microsoft zeer onlangs een oplossing voor dit
omdat het probleem daadwerkelijk getroffen Internet Explorer 6
helemaal tot en met 11.
Dus het is bij ons al geruime tijd en werd pas onlangs ontdekt.
Dus als je automatische updates ingeschakeld, moet je snel zijn OK.
Maar gewoon veilig te zijn, kon je zeker overschakelen naar een andere browser tenminste
in de tussentijd.
>> Nu blijkt ook dat Microsoft zeer royaal
bracht ook een fix voor Windows XP, een oudere versie van Windows waarvoor
steun was eigenlijk officieel gestaakt slechts een paar weken geleden,
maar deze dreiging was zo slecht dat ze ook uitgerold een oplossing voor dat OS
ook.
>> Nu in ander nieuws deze week was dit.
De Atari 2600, een oudere spel console die een neef van mij
eigenlijk had opgroeien waarop we gebruikt om videospellen te spelen wanneer
we zouden hun huis te bezoeken.
Nu in ieder geval, waarom dit in de was nieuws was om de volgende reden.
Terug in de jaren '80, het bedrijf achter dit apparaat, Atari,
besloten om te begraven in een stortplaats in New Mexico
een hele hoop oude games en handleidingen
en als dat zou anders hebben onverkochte gegaan.
>> Nu na verloop van tijd, de begrafenis van deze spelletjes uitgegroeid tot een beetje een stedelijke mythe.
Mensen niet echt zeker weten of dit daadwerkelijk gebeurd zelfs
hoewel, als mythe ging, het bedrijf had zelfs goot een laag beton
op de top van alles in de storten om kinderen te voorkomen
van daadwerkelijk geritsel doorheen, proberen om gratis video games.
Nou, het blijkt dat een documentaire is nu aan de gang nu in 2014.
En een team van graafmachines heeft geprobeerd te graven van de waarheid achter dit verhaal
als het er inderdaad.
>> En wat denk je ze gevonden?
Nou, niet precies deze kerel, maar duizenden
exemplaren van zijn spel, die werd uitgebracht
samenvalt met de release van de film, E.T. De Buitenaardse.
Dus inderdaad, maar in de afgelopen dagen tientallen en honderden, zo niet duizenden
uiteindelijk van deze cartridges beginnen te worden opgegraven.
>> Nu waarom hebben ze begraven dergelijke een duidelijk dwingende spel?
Nou, het blijkt dat E.T. is eigenlijk bekend
door velen gezien als de slechtste video game ooit.
Voor een deel, want ze hadden zo weinig tijd om te ontwikkelen
het spel voor dat bijzonder kersttijd,
maar ook omdat het bijzonder moeilijk om te spelen.
Dit, natuurlijk, smeekt de vraag, kunnen we het zien?
Ja, dat kunnen we.
Laten we eens een kijkje nemen.
[Video game spelen]
Nu was eigenlijk de afbeeldingen die mensen namen bezwaar
om omdat inderdaad was de jaren '80 en dit was de stand van de techniek.
Inderdaad, dit was mijn jeugd hier.
Maar wat moeilijk was over dit spel was, een,
u een film ET had rond het scherm, kijken
voor die kleine pixels, die vertegenwoordigd Reese's Pieces.
Maar de vangst is ook dat als je viel in die donkere ruiten,
zou je in een val kuil die was eigenlijk
heel hard en vervelend om uit.
Dus zo werd begraven ET.
>> Nu ook in de woestijn van laat was dit hier in Wyoming.
Een kern, niet te verwarren met [? Kern,?] control center.
En in feite, als je kijkt naar beneden er onder het beton
de buurt van dit witte paal, er is eigenlijk een Minuteman III raket,
een nucleaire raket, dat is eigenlijk beschermd door een technologie die
lang niet zo modern als je zou hopen.
Een Amerikaanse tv-show, 60 Minuten, onlangs onthuld dit.
[VIDEO AFSPELEN]
-Maar de apparatuur is oud.
Dit, bijvoorbeeld, is een van de computers
zou een lancering ontvangen bestellen bij de president.
Het maakt gebruik van diskettes.
De echt oude, grote.
Voordat je hier beneden, je waarschijnlijk had nog nooit een gezien?
>> -Ik zou nooit een gezien tot Ik heb in dit gat.
>> [END VIDEO AFSPELEN]
>> Nu als je denkt u hebt deze schijven gezien,
die 5 en 1/4-inch schijven uit de jaren 1980, uh-uh.
Dit is een 8-inch floppy schijf uit de jaren 1970.
Nu CS50 eigen Dan Coffey en ik had ook een kans
te reizen naar Seattle, Washington onlangs waar
bezochten we onze vrienden bij Valve.
In feite kan je 60 seconden van mij herinneren het dragen van die virtual reality bril.
>> Nu hadden we ook een gelegenheid om chatten met drie ingenieurs Valve's
die naar ons sprak over wat het is om te werken bij Valve,
maar beter nog, hoe het is graag video games te ontwikkelen.
Laten we eens een kijkje nemen.
>> [VIDEO AFSPELEN]
>> [Video game spelen]
-Mijn naam is Brian Jacobson.
Ik maakte mijn weg naar Valve soort in een enigszins omweg.
Ik was niet echt een computer programmeur op de universiteit.
En ik werd gebruikt om een ​​back- op de middelbare school wezen
in staat om de programmering te doen en spullen van idee tot implementatie
in slechts een paar minuten of uren.
Ik heb genoten van dat snelle tempo van ontwikkeling en het zien van mijn ideeën tot leven komen.
>> -Mijn naam is Yahn Bernier.
Ik ben hier al bij Valve meer dan 16 jaar.
Dus ik belandde net voor het schrijven van plezier een level editor voor Quake
riep BSP, op basis van binaire ruimte partitioneren bomen.
Dat was een soort van het voorgerecht.
En uiteindelijk Gabe Newell, die de was oprichter van Valve, en Mike Harrington
stuurde me een email te zeggen software development engineer kans.
-Mijn naam is John Cook.
Ik ben een software engineer werken bij klep.
Ik focus op onze online systemen, scaling, en architectuur.
>> Een vriend en ik eigenlijk in universiteit waren
werkt aan een spel genaamd Team Fortress.
En we gewoon het spel gemaakt, zet het op internet.
Het was een aanvulling op de spel, Quake, tegelijkertijd.
Dus het was een soort van moderne uitbreiding van dat spel.
Daarna belandden we in contact komen met Valve
en komen hier voorbij.
>> -Nou, voor mij de graphics klas was waarschijnlijk de meest toepasselijke cursus
die ik op de universiteit zeker.
Trigonometrie, lineaire algebra.
Ik nam een ​​robotica cursus die een had bos van lineaire algebra soort gebakken
erin, en dat is een van de sluitsteen wiskundige concepten voor een 3D-graphics.
Het draait allemaal om oriëntatie en het doen van de wiskunde van zoals, ik ben op zoek dan naar jou,
maar ik wil daar richten.
En hoe kan ik draaien en hoe kan ik erachter te komen waar ik ga verhuizen of op zoek bent.
Dat is alles wat lineaire algebra.
>> -De essentie van een first-person shooter is dat ik kijk door het pistool plaatsen
met mijn ogen en gericht op iets en haal de trekker
en ik wil dat raken.
Dus je moet het ontwerp van uw technologie te behandelen latentie.
En dus John Carmack ging terug en zei, oh, wat ik moet doen
is te voorspellen op de client de resulteren ingangen van mijn speler,
en dat te doen en maken van waar we
denk dat hij het gaat worden en dan laten de server terug te komen en te repareren voor mij.
>> -Dus als je denkt over het gebruik van een game-engine om een ​​spel te maken,
Er is nu veel meer opties.
>> -Een game-engine is een soort van de infrastructuur
waarin je het spel te maken.
Het is het ding verantwoordelijk voor tekenen de wereld, de wereld simuleren
voor het afspelen van alle geluiden, voor het helpen van je spel code
erachter te komen wat de vijand AIs gaat om te gaan doen.
>> -Meestal is de manier waarop mensen zouden beginnen is zouden ze een bepaalde hoeveelheid van die logica te nemen
en te wijzigen.
Zoals, OK, laten we nu gewoon veranderen de raketwerper
200 schade doen in plaats van het doen van 100 schade.
Het is een heel eenvoudig, zoals, neem sommige bestaande stukje gameplay logica
en tweak het hoe je wilt.
>> -De andere hogere laag wordt meestal aangeduid met spel-code.
En het spel code is meestal de wat dat is alles over de spelregels.
Net als het feit dat ik dit bijzondere wapen
en het werkt op een bepaalde manier.
Of het feit dat er een headcrab monster dat
heeft deze specifieke gedragingen.
Dat soort dingen zijn meestal te vinden als spel code.
>> -En van daar, echt, met die soort stukken en het proces van iteratie,
je kan gaan van iets als Quake om iets als Half-Life.
>> Half-Life is een sci-fi, first-person shooter game.
Het speelt zich af in een dystopische wereld.
De eerste Half-Life werd in deze ondergrondse onderzoeksfaciliteit
genaamd Black Mesa.
En je een personage gespeeld genaamd Gordon Freeman.
En het was eigenlijk over een buitenaardse invasie
die werd uitgelokt wanneer een experiment ging het mis.
>> En de tweede game, Half-Life 2, werd ongeveer 10 jaar later ingesteld,
en eigenlijk, de aliens had overgenomen van de planeet.
En nu heb je als Gordon Freeman moest principe redden
je vriend, Alex, wie je tegenkomt.
En proberen terug te winnen van de vreemdelingen en het vrijmaken van de planeet.
>> -Zeker, projecten zoals Portal 2, het was gewoon
een klein team, vijf mensen werkt aan een spel idee.
Ze vond een aantal dingen die ze gedachte waren interessant,
interessant zou kunnen zijn voor een spel.
Ze uitgebreid tot 20 personen.
Ze uitgewerkt die ideeën.
Je nog wat meer mensen.
>> Ze zijn als, OK, en nu zijn we wilt verzenden op drie consoles.
We hebben veel meer mensen.
Net als iedereen, kom kijken naar dit spel.
Het is geweldig.
Het moet gewoon een stelletje van het werk gedaan te krijgen.
Dus opeens heb je de helft van het bedrijf werken,
je hebt 120 mensen die werken op dit spel om het gedaan te krijgen.
Uiteraard is het aantal projecten elders contracten,
maar iedereen is super gelukkig omdat ze weten
ze werken aan deze ding dat is echt geweldig.
>> -Een van de echt grote dingen over deze baan en deze industrie in het algemeen
is dat de dingen veranderen de hele tijd.
Het ding dat je bent doet dit jaar gaat
zeer moeilijk van de te wat je het volgend jaar doen.
En zo blijft alles echt vers, eigenlijk, en behoorlijk spannend.
Je bent voortdurend leren van nieuwe dingen en doen nieuwe soorten dingen.
[END VIDEO AFSPELEN]
DAVID: Dat is het voor CS50LIVE.
Heel erg bedankt voor deze medewerkers week.
Hartelijk dank aan de eigen Colton CS50's Ogden en het team achter de camera.
Dit was CS50.
>> [MUZIEK - LOS DEL RIO, "MACARENA"]