>> [MUSIK SPELA]
NU: Hej, värld.
Detta är CS50LIVE.
Vi har en så bra episod för dig.
VD för YouTube, en bugg i Internet Explorer,
det värsta tv-spel någonsin, och en studieresa till Valve Software.
Men först, en resa till Tokyo, Japan där president Obama nyligen spelat
fotboll med en god vän till mig.
>> [VIDEO SPELA]
-Wow.
Han rör sig.
>> -Jag kan sparka en fotboll också.
Här går jag.
>> -Hej, bra jobb.
>> [END VIDEOAVSPELNING]
David: Hej, värld.
Jag är här med CS50 egen Colton Ogden.
>> COLTON OGDEN: Hej, alla.
>> David: Och vem gör vi har med oss ​​här i dag?
>> COLTON OGDEN: Detta är nu, vår lilla robot kompis från Frankrike.
David: Jag träffade faktiskt NEJ vid sidan av [? Rob Boden?]
när han och jag var i Atlanta, Georgien ett par veckor tillbaka
som ni kanske minns på SIGCSE, Särskilda Intresse
Grupp för datavetenskap utbildning, där bokstavligen gå runt
konferensrummet golvet var den här killen.
Tja som det visar sig, när vi kom tillbaka till campus
Vi upptäckte att professor [OHÖRBAR] av Harvards robotlabb
faktiskt hade en nu här på campus.
Och hon vänligt tillät oss att programmera honom för dig idag.
COLTON OGDEN: Ja, och faktiskt, David, Jag tror nu vill säga hej till dig
Om du vill gå runt bordet här.
>> David: Här?
Okej.
>> NU: Hej, David.
TREVLIGT ATT TRÄFFAS.
>> David: Hej, Nu.
Skaka hans hand?
>> COLTON OGDEN: Shake handen upp och ner.
>> David: OK.
>> COLTON OGDEN: Och sedan han kommer att gå vidare och sitta ner.
Och om du är intresserad, Jag kan faktiskt visa dig
hur jag kunde få honom att göra alla dessa saker också.
>> David: Ja, absolut.
>> COLTON OGDEN: Han är lite off balansera morse.
Han har inte haft sitt kaffe ännu.
David: Så vad är det vi ser?
COLTON OGDEN: Så vi tittar på här är en kärna graf, som nu är
en grafisk programmeringsmiljö, som är mycket lik Scratch
att CS50 använder.
Här ser vi den är inställd upp som ett flödesschema.
Och vi har ett gäng av dessa små byggstenar här.
Nu om vi tar en titt på den här till exempel, det kallas stand up.
Och detta block säger stå upp för Nu, oavsett om han sitter ner
eller vad som helst.
>> Då ser vi att det går in i taktil huvud, som i princip
väntar på en kran på toppen av huvudet som du såg tidigare.
Flytta till organ rör sig i en x-, y-och z riktning till en specifik destination.
Handslaget är en modul som jag skrev, som i princip säger, hej, David.
TREVLIGT ATT TRÄFFAS.
Väntar på ett handslag.
Sitt ner är motsatsen till stå upp.
Han kommer att gå vidare och sitta ner.
Och sedan huvudrörelser är en loop som innebär att han
kommer att röra huvudet i slumpmässiga riktningar.
>> David: Intressant.
Så även om dessa inte ser som pusselbitar från Scratch,
det är egentligen samma idé.
Och du kabeldragning ett program med användning av dessa byggstenar.
>> COLTON OGDEN: Ja, exakt.
>> David: Så du sa att du gjort en av dem, handskakning.
Kan vi zooma in på den?
>> COLTON OGDEN: Visst.
Vi tar en titt här på handskakning.
Och vi får se den är inställd mycket liknar den andra flödesdiagrammet.
Vi börjar med hello blocket, vilket [OHÖRBAR] säger, hej, David.
TREVLIGT ATT TRÄFFAS.
Det här är en loop.
Den säger, upptäcka armrörelse.
Så det kommer i en oändlig loop vänta tills dess arm
har höjts upp och ner.
Och sedan en gång som har hänt, det kommer att gå vidare och göra dessa saker.
Ställ stelhet OK och gå till slut, vilket i princip innebär att skicka honom tillbaka
till sin standardläge.
David: Intressant.
Är du begränsad till endast använder denna grafisk miljö
att programmera honom på det här sättet?
>> COLTON OGDEN: Nej, faktiskt inte.
Om vi ​​går vidare och dubbelklicka någon av dessa byggstenar,
Vi kan se att det finns faktiskt python-kod under huven,
driver var och en av dessa byggstenar.
>> David: Ah, faktiskt.
Så för dem obekanta, python är ett tolkat språk,
mycket i samma anda som PHP, som vi använder i CS50.
Och precis som du kan använda PHP för webbprogrammering,
Du kan även använda den på kommandoraden.
Och som Colton gör här i denna grafiska miljön,
skriva program och sedan sänder den via Wi-Fi -
COLTON OGDEN: Rätt.
David: - till nu.
Skulle du ha några tid att stanna kvar?
>> COLTON OGDEN: Absolut.
>> David: Okej.
Tja, innan Colton kommer tillbaka med oss för lite av en överraskning,
vi nu - få det -? har 60 sekunder av tidigare CS50 studenter audition
att bli undervisning medmänniskor.
[VIDEO SPELA]
-Tack.
Tack, alla, för att vara här.
>> -Hej, Mr Bunny.
>> -Välkommen till denna korta tutorial på -
>> [OHÖRBAR] kul med Twinkies.
-Vänta.
Stopp.
>> -Så nu har vi ett problem.
-Det är inte.
Och jag ska berätta varför.
-En slinga är upprepning, liksom -
>> -Ungefär en svart låda.
>> -OK.
Jag tror att jag får det.
-Okej.
Så nu är jag i en lite svåra.
>> -Det stämmer.
8 bitar gör ett byte.
>> -Du tar en byte och du separera den i bitar av fyra.
>> -Pip, pip, pip, pip, pip.
Pip, pip, pip, pip, pip.
>> -Det verkar alltför komplicerat.
>> -Så låt oss göra det igen.
>> -Om jag förvirra dig, tveka inte att stoppa mig.
>> -Men vänta en sekund.
>> -Nå, låt oss titta tillbaka på bilden och bryta ner saker steg för steg.
>> -Om du kommer ihåg, är minnet delas i bytestora bitar.
>> -Så här har vi det bästa scenariot.
>> -Detta är en avsevärd förbättring jämfört med -
>> -En webbläsare, som Chrome.
>> -Det är alltid nödvändigt att befria någon -
-Folk -
-Du kan köra över.
Och koden kan få något besvärligt.
>> -Och det är allt du behöver.
>> -Boom!
>> David: Nu CS50 egen Dan Coffey och jag nyligen
haft tillfälle att resa ut Mountain View, Kalifornien,
som är där högkvarter Google är.
Och vi hade en chans att chatta med Susan Wojcicki, VD för YouTube.
Det var faktiskt i Susans garage år sedan på 90-talet
att Google själv var startades av Larry och Sergey.
>> Tja, visar det sig att Susan själv faktiskt tog CS50
bara några år innan jag gjorde.
Och jag tycker det är slående så du kommer snart att höra hur
mycket en introduktion till datorn vetenskap så påverkade hennes liv.
Hon vill säga hej.
SUSAN Wojcicki: Hej, värld.
Jag är Susan Wojcicki.
Jag är VD på YouTube.
Och jag tog CS50 när jag var en senior vid Harvard 1990.
>> Jag var faktiskt en historia och litteratur större.
Och min junior sommaren jag insåg att jag kanske
ville lära sig något om datorer.
Och så jag kom tillbaka.
Jag tog CS50.
Det var svårt, men det var det mest fantastiska klass jag tog.
Det förändrade hur jag tänker på allt.
>> Och när jag tog examen från Harvard 1990 åkte jag till Silicon Valley
och jag fick ett jobb.
Och jag har jobbat i tech sedan dess.
Så CS50 förändrade mitt liv.
Jag fortsätter att lära och bygga.
Det gav mig en bra grund.
Och jag fortsätter att lära sig varje dag som de tekniska förändringar.
>> Och jag tycker det är underbart att ni alla tar det
eftersom det är hur världen är kommer att förändras framöver.
Det kommer bara att bli mer och mer möjligheter och innovation.
Digital kommer att påverka vår lever ännu mer än den redan har.
Och det är underbart att ni alla tar CS50.
Så det här är CS50.
>> David: Så om du har varit letar efter en ny anledning
att inte använda en viss webbläsare, här är bra för dig.
Jag fick nyligen - tillsammans med alla
vid Harvard University - detta mail här.
>> "Kära ledamöter av Harvard gemenskapen.
Det amerikanska Department of Homeland Security rekommenderar att alla användare tillfälligt
sluta använda Microsoft Internet Explorer, IE,
på grund av att en kritisk säkerhetsbrist. "
>> Detta dokumenteras faktiskt i Microsoft Security Advisory 2.963.983.
Säkerhetsproblem i Internet Explorer möjliggör fjärrkörning av kod.
Nu vad innebär det och vad är hotet?
Tja, anser att detta diagram här, vilket vi
användning i CS50 att prata om HTTP eller webbtrafik.
Om vi ​​har här en webbsida servern och på den andra sidan
en webbläsare - Internet Explorer i det här fallet - naturligtvis,
en webbläsare när det först begär en webbsida
kan skicka en HDP budskap som denna.
GET index.html använder version 1.1 av det protokoll som kallas HTTP.
>> Nu i detta fall, om en skurk har på något sätt haft tillgång till denna webbserver
och installerat en utnyttja så att säga,
han eller hon skulle kunna övertyga webbservern att returnera det.
Inte bara index.html sig som begärts, men inbäddade inuti
av att filen index.html kunde, naturligtvis vara andra tillgångar.
I synnerhet något liknande exploit.SWF,
en flash-fil som i slutändan drar fördel av den här säkerhets
teknik, hög feng shui, som är ett finare sätt att säga att koden
insidan av att flashfilen sprutar det sk heap insidan av datorns
webbläsare med alla olika bitar av minne som är utformade i slutändan
att skriva över stora bitar av minnet här.
>> Om ni minns det här från vår diskussion i CS50 av högen och stack
och minneshantering mer generellt.
Nu det minne som är faktiskt kastas på högen
är verkligen kallas flash vektorobjekt.
Och detta är något med som ni kanske känner
om du själv hade programmerade Flash innan.
Men en av dessa objekt i synnerhet är känd som ett flashminnesljudobjekt.
>> Och häri ligger en möjlighet eftersom vad detta utnyttjar sedan fortsätter att göra
är fördärva denna bit av minne, detta objekt i minnet,
sådan att den försöker att göra denna hexadecimal adress körbara, och därigenom
försöker lura programmet till slut att utföra vissa skal koden så
att tala, eller skurk kod, det är slutligen lagras på denna adress här,
som injicerades genom att hämta omedvetet just den flash-fil.
>> Nu slutresultatet kan vara oavsett motståndare vill göra med din dator.
Han eller hon kan ta bort dina filer, flytta dina filer, skicka filer,
eller egentligen göra något som du själv kunde göra som ägare till den datorn.
Och det är därför hotet är så skrämmande.
Det gör verkligen någon på Internet vars webbplats du
kan besöka för att exekvera godtycklig program på din dator.
>> Nu tack och lov, Microsoft mycket nyligen släppt en fix för detta
eftersom problemet faktiskt drabbade Internet Explorer 6
hela vägen upp till 11.
Så det har varit med oss ​​under ganska lång tid och har bara nyligen upptäckt.
Så om du har automatiska uppdateringar påslagen, bör du vara OK snart.
Men bara för att vara säker, kan du säkert byta till en annan webbläsare åtminstone
under tiden.
>> Nu visar det sig också att Microsoft mycket generöst
även släppt en fix för Windows XP, en äldre version av Windows som
stöd var faktiskt officiellt avbrytas för bara några veckor sedan,
men detta hot var så dålig att de även rullat ut en fix för detta OS
också.
>> Nu i andra nyheter denna vecka var det.
Atari 2600, en äldre spel konsol som en kusin till mig
hade faktiskt växer upp som Vi brukade spela tv-spel när
vi skulle besöka deras hus.
Nu i alla fall, varför detta var i nyheter var av följande skäl.
På 80-talet, företaget bakom den här enheten, Atari,
beslutat att begrava i en deponi i New Mexico
en hel massa gamla spel och bruksanvisningar
och liknande som skulle annars ha gått osålda.
>> Nu med tiden, nedgrävning av dessa spel blivit lite av en urban myt.
Folk visste inte riktigt säkert om detta verkligen hade hänt även
Men som myt gick, företaget hade till och hällde ett lager av betong
ovanpå allt i deponi för att förhindra barn
från faktiskt prasslande genom den, försöker hitta gratis tv-spel.
Jo, det visar sig att en dokumentär Nu pågår nu under 2014.
Och ett lag av grävmaskiner har försökt att gräva upp sanningen bakom denna historia
om det är sannerligen där.
>> Och gissa vad de hittade?
Tja, inte precis det här kille, men tusentals
kopior av hans spel, som släpptes
sammanfallande med frisättning av den film, E.T. Den utomjordisk.
Så ja, precis under de senaste dagarna dussintals och hundratals om inte tusentals
i slutändan av dessa patroner börjar bli ojordade.
>> Nu varför de begrava sådana en klart övertygande spel?
Tja, visar det sig att E.T. är faktiskt känd
av många vara den värsta tv-spel någonsin.
Delvis därför att de hade så lite tid att utveckla
spelet innan det särskilt julen,
men också för att det var särskilt svårt att spela.
Detta naturligtvis väcker fråga, kan vi se det?
Ja, det kan vi.
Låt oss ta en titt.
[SPEL SPELA]
Nu var det faktiskt inte grafik som folk tog invändning
att eftersom, ja, var det 80-talet och detta var den toppmodern.
I själva verket var detta min barndom här.
Men det som var svårt om detta spel var, en,
du hade en film ET runt skärmen, ser
för de små bildpunkter, vilket representerade Reese Pieces.
Men fångsten är också att om du föll in i de mörkare diamant former,
du skulle falla i en grop som var faktiskt
mycket svårt och jobbigt att ta sig ur.
Så därför begravdes ET.
>> Nu även i öknen i sen var det här i Wyoming.
En nukleär, inte att förväxla med [? kärn,?] ledningscentral.
Och faktum är att om du tittar ner där under betongen
nära denna vita pole, det finns faktiskt en Minuteman III missil,
en nukleär missil, det är faktiskt skyddas av någon teknik som är
inte alls lika moderna som du kan hoppas.
En amerikansk TV-show, 60 Minuter, avslöjade nyligen denna.
[VIDEO SPELA]
-Men utrustningen är gammal.
Detta, till exempel, är en av de datorer som
skulle få en lansering beställer från presidenten.
Den använder disketter.
De riktigt gamla, stora sådana.
Innan du kom hit, du förmodligen hade aldrig sett en?
>> -Jag har aldrig sett en tills Jag kom ner i det här hålet.
>> [END VIDEOAVSPELNING]
>> Nu om du tänker du har sett dessa skivor,
dessa 5 och 1/4-tums skivor från 1980-talet, uh-uh.
Detta är en 8-tums diskett skiva från 1970-talet.
Nu CS50 egen Dan Coffey och jag hade också en möjlighet
att resa till Seattle, Washington nyligen där
Vi besökte våra vänner på Valve.
I själva verket kan du hämta 60 sekunder av mig bär de virtual reality glasögon.
>> Nu hade vi också en möjlighet att chatta med tre av Valve ingenjörer
som talade med oss ​​om vad det är att arbeta på Valve,
men ännu bättre, hur det är vilja utveckla tv-spel.
Låt oss ta en titt.
>> [VIDEO SPELA]
>> [SPEL SPELA]
-Mitt namn är Brian Jacobson.
Jag gjorde min väg till Ventil slags i en något omväg.
Jag var faktiskt inte en dator programmerare på college.
Och jag var van att backa i gymnasiet varelse
kunna göra programmering och få grejer från idé till genomförande
på bara några minuter eller timmar.
Jag njöt av att snabba utvecklingen och se mina idéer komma till liv.
>> -Mitt namn är Yahn Bernier.
Jag har varit här på Valve i över 16 år.
Så jag slutade att skriva bara för kul en nivå redaktör för Quake
heter BSP, baserad på binär space partitione träd.
Det var typ av entree.
Och så småningom Gabe Newell, som var den grundare av Valve, och Mike Harrington
skickade mig ett mail säger programvara utvecklingsingenjör tillfälle.
-Mitt namn är John Cook.
Jag är en programvara ingenjör arbetar på Valve.
Jag fokuserar på våra online-system, skalning och arkitektur.
>> En vän och jag faktiskt på universitetet var
arbetar på ett spel som heter Team Fortress.
Och vi bara gjort spelet, sätta upp det på internet.
Det var ett tillägg till den spel, Quake, på den tiden.
Så det var typ av en modern förlängning av det spelet.
Efter det, vi hamnade komma i kontakt med ventil
och kommer hit.
>> -Jo, för mig grafik klassen var förmodligen den mest tillämpliga kursen
att jag tog på college för säker.
Trigonometri, linjär algebra.
Jag tog en robotteknik kurs som hade en gäng linjär algebra slags bakad
in i det, och det är en av keystone matematiska begrepp för några 3D-grafik.
Det handlar om orientering och göra matematik som att, jag tittar över på dig,
men jag vill sikta där borta.
Och hur gör jag rotera och hur gör jag räkna ut var jag ska flytta eller letar.
Det är allt linjär algebra.
>> -Kärnan i ett första-person shooter är att jag tittar igenom pistolsajter
med mina ögon och syftar på något och trycka av
och jag vill träffa det.
Så du måste designa din teknik för att handskas med latens.
Och så John Carmack gick tillbaka och sa, åh, vad jag behöver göra
är förut på klienten resultera min spelares ingångar,
och bara göra det och rendera från där vi
tror att han kommer att bli och sedan låta servern komma tillbaka och fixa det åt mig.
>> -Så när du funderar på med hjälp av en spelmotor för att göra ett spel,
det finns mycket fler alternativ nu.
>> -En spelmotor är snäll av infrastrukturen
där du gör i spelet.
Det är den sak som ansvarar för teckning om i världen, för att simulera hela världen,
för att spela alla ljud, för att hjälpa ditt spel kod
räkna ut vad fienden AIs kommer att gå göra.
>> -Vanligtvis är hur människor skulle börja de skulle ta en viss mängd av den logiken
och ändra den.
Liksom, OK, nu ska vi bara ändra raketgevär
att göra 200 skada istället att göra 100 skador.
Det är en mycket enkel, liksom, bara ta några befintliga bit av spellogik
och justera den till hur du vill.
>> -Den andra högre skikt brukar kallas spelkoden.
Och spelkoden är oftast den sak som handlar om spelreglerna.
Liksom det faktum att jag har detta vapen
och det fungerar på ett visst sätt.
Eller det faktum att det finns en headcrab monster som
har just dessa beteenden.
Dessa typer av saker är vanligtvis att finna som spelkoden.
>> -Och från det, egentligen, med de typ av bitar och processen med iterationen
du kan gå från något som Quake till något i stil med Half-Life.
>> -Half-Life är en sci-fi, first-person shooter spel.
Det ligger i en dystopisk värld.
Den första Half-Life var satt i denna underjordiskt forskningsutrymme
heter Black Mesa.
Och du spelade en karaktär namngav Gordon Freeman.
Och det var i princip om en utomjordisk invasion
som blev provocerad när ett experiment som gick fel.
>> Och det andra spelet, Half-Life 2, sattes omkring 10 år senare,
och i princip, utomjordingar hade tagit över planeten.
Och nu är du som Gordon Freeman tvungen att i princip rädda
din vän, Alex, som du möter.
Och försök att slå tillbaka utomjordingar och återta planeten.
>> -Visst, projekt som Portal 2, det var bara
ett litet team, fem personer arbetar på en spelidé.
De hittade några saker som de Tanken var intressant,
skulle kunna vara intressant för ett spel.
De expanderade till 20 personer.
De konkretiseras dessa idéer.
Du lade till några fler människor.
>> De är som, OK, och nu vi önskar att sända på tre konsoler.
Vi behöver mycket mer folk.
Liksom alla, kom och titta på det här spelet.
Det är häftigt.
Den behöver bara en massa av arbete för att få gjort.
Så plötsligt har du hälften av företag som arbetar,
du har 120 personer som arbetar på detta spel för att få det gjort.
Självklart är antalet projekt på andra håll avtal,
men alla är super nöjda eftersom de vet
de jobbar på detta sak som är riktigt häftigt.
>> -En av de riktigt stora saker om detta arbete och denna industri i allmänhet
är att saker och ting förändras hela tiden.
Det som du är gör i år kommer
sig vara mycket svårt från sak du gör det nästa år.
Och så håller allt riktigt frisk, faktiskt, och ganska spännande.
Du är hela tiden lära sig nya saker och göra nya typer av saker.
[END VIDEOAVSPELNING]
David: Det är allt för CS50LIVE.
Tack så mycket för detta veckans bidragsgivare.
Tack så mycket till CS50 egen Colton Ogden och teamet bakom kameran.
Detta var CS50.
>> [MUSIK - LOS DEL RIO, "MACARENA"]