DAVID MALAN: Hej, verden, dette er CS50Live, og dreng, gør vi har en fantastisk episode for dig i dag. Først et indblik i, hvordan Dropbox virker, så en tæt se på bittesmå hamstere spise bittesmå burritos, og endelig en bag-kulisserne på CS50 nye film, vedholdenhed. Men først, Dropbox.com, hvor vi for nylig rejste i San Francisco, Californien, at mødes med CS50 tidligere hoved undervisning fyr, Thomas Carriero som gav os en rundvisning i Dropbox og præcis, hvad det er at arbejde, og tør sige, bor der. Nu sad vi ikke kun med Thomas mens der, men også med CS50 tidligere hoved undervisning kollega Alex Allain at tale om den underliggende fungerer Dropbox.com og det er distribueret arkitektur. Lad os tage et kig. THOMAS Carriero: Jeg er Thomas Carreiro Jeg er en software ingeniør på Dropbox. ALEX ALLAIN: Jeg er Alex Allain. Jeg er en ingeniør her på Dropbox. THOMAS Carriero: Ja, så jeg var faktisk den første hoved CF til CS50 da David Malan overtog klassen. Jeg var allerede blevet undervist CS50 to semestre med Mike Smith, der var der forudgående professor der. ALEX ALLAIN: Så jeg faktisk ikke tage CS50, men jeg gjorde TF det to gange, en gang som en regelmæssig TF og derefter i min senior år, Jeg var faktisk chef TF af CS50, som var en masse sjov. THOMAS Carriero: Så når David nåede ud til mig om opsætning af Dropbox i CS50 apparatet, Jeg var virkelig begejstret, fordi vi faktisk har en Linux-klient. De fleste af vores brugere anvender enten Windows eller Macintosh-klienter, men Linux, Macintosh og Windows-klienter er alle, faktisk, meget ens. Så hvad vi gjorde er vi pre-installeret Dropbox Linux klient i CS50 apparat, og det kører ligesom alle vores andre Linux-brugere. ALEX ALLAIN: Så måde Dropbox virker er det kører som kunden på mange forskellige operativsystemer og enheder. Den Drobox desktop-klient er en af ​​de mest velkendte, en af ​​de mest interessante. THOMAS Carriero: So Dropbox dybest set tager alle filerne at du lægger i mappe, og det bidder disse filer i fire megabyte bidder. Så vi tager en 100 megabyte PDF-fil, og vi vil luns IT i 25 fire megabyte bidder. Disse klumper krypteres, og så sender vi dem vores blok servere. ALEX ALLAIN: Spærringen servere er opbevaring for blokkene selv, og så hver blok er lagret i blokken server med data og SHA-256 hash af at blokke. Det er en meget grundlæggende kryptering primitive der opsummerer, i en vis forstand, dataene i en meget en unik måde, der er unik for den pågældende data. Du kan uploade hele filen på én gang, men det viser sig, hvis du gør der med virkelig store filer, de tager virkelig lang tid til upload, og hvis du har en fejl, du er ude af lykke og du er nødt til at genstarte den. Hvad vi så gør, er vi fortæller en anden server i vores system, hvad vi kalder meta serveren, metadata-server, hey, det er en fil og det er sammensat af Følgende liste af blokke. Og vi passerer op hashes at identificere de blokke snarere end re upload hele blokken. Meta server, så kontroller med blok-servere, gør sikker på blokkene er der - hvis Det er perfekt, alt er godt. THOMAS Carriero: Når vi ønsker til, dybest set, hente filen fra internettet, lad os sige, vil vi bede meta server først, hey, kan du fortælle mig om hvor denne fil er placeret, og meta server vil sige, åh, ja, denne fil er faktisk 25 fire megabyte bidder, og her er de. Og så vil vi gå til blok server og vi vil faktisk downloade hver af disse stykker, og derefter vi rekonstruere filen derfra, og så vil vi starte overførslen. Ja, så Dropbox tilbud med skala, dybest set, ved meget, meget aggressiv sharding. ALEX ALLAIN: So sharding er, når du tager alle brugere i din opstart eller din virksomhed, og måske brugt de at være på én database, og det virker fint, indtil du ramme et bestemt antal brugere, og virkelig, hvad du ønsker at gøre, er at finde en måde at splitte dem på tværs af to databaser eller måske mere end to - ideelt set, nok, at du kan har hver bruger i verden. Så når du shard, hvad du skal gøre er at finde anden måde at afgøre hvilken database til at gå at der ikke kræver rammer en central bibliotek, eller måske er det en meget hurtig, billig ser op i den centrale bibliotek. THOMAS Carriero: Vi har aldrig har alt er gemt i en database, fordi det er næsten aldrig kommer til at skalere. Så i stedet for, hvad vi gør, er, at vi tager alle af disse oplysninger, alle filerne er alle af metadata og vi vil shard det på tværs af hundredvis eller tusindvis logiske databaser. Det betyder, at når vi har en anmode om en brugers oplysninger, Vi vil først sige, hey, hvilken database denne brugers oplysninger gemt i, og så vil vi dybest set bruge det beslutning om at gå finde denne database, og det er, hvor vi vil lægge alle de filer eller alle metadata om filerne. Så vi bruger en masse af sharding, men sharding er ikke altid nok. Du faktisk nødt til at cache en masse af de fælles anmodninger fordi selvom database forespørgsler kan være dyrt. Så vi også gøre progressiv caching strategier for at sikre, at den mest almindelige anmodninger er ganske let at beregne, og dybest set, der gør det meget hurtigere og gør det arbejde på skalaen. Så det er på et meget højt niveau, slags hvordan Dropbox virker. ALEX ALLAIN: Mit navn er Alex Allain. THOMAS Carriero: Jeg er Thomas Carreiro. ALEX ALLAIN: Og det er CS50. DAVID MALAN: Nu, hvis du nogensinde har spekuleret over, hvor dette citat på CS50 hjemmeside kommer fra, er det faktisk Alex der er den oprindelige forfatter. Nu vi taler om Dropbox, jeg for nylig modtaget denne e-mail fra dem i min indbakke - Hej, David, kan du bemærke, at nogle af dine delte links ikke arbejder, og vi ønskede at nå ud til dig personligt at lade dig vide hvorfor. Jamen hvad er en delt link? Tja, hvis du har brugt Dropbox over blot at gemme din kildekode inde af apparatet, du måske vide, at du kan oprette delte links ved typisk højreklikke på en fil og kopiere url til din udklipsholder. At delt link ser måske lidt noget som dette, men i stedet af ordet hemmelighed, der er faktisk noget mere kryptiske der, som en sekvens af tilfældige bogstaver og tal. Ideen er, at jeg nu kan e-maile eller Gchat denne slags url til en ven, og han eller hun kunne få adgang CS50.txt og downloade det på hans eller hendes computer. Og kun ved at vide, at url, eller med super, super lav sandsynlighed, gætte at url, kunne en anden faktisk adgang til filen. Desværre et selskab kendt som Intralinks nylig lagt ud på deres CollaboristaBlog at der er faktisk et par trusler mod netop denne arbejdsgang. Det viser sig, at hvis du ved et uheld laver en fejl, som jeg helt ærligt, har gjort i fortiden, og pasta en url som en Dropbox delt link, i ikke browserens adresselinje bar, men som afbilledet her, dit søgefelt, at webadresse, selvfølgelig, vil der skal forelægges en søgemaskine som Google. Selvfølgelig er Google ikke kommer til at nødvendigvis erkende, at delte link og så du kommer til at få mere generisk søgning resultater som et link at Dropbox.com selv, og i dette tilfælde, en reklame og i virkeligheden, reklamer potentielt for konkurrenter Dropbox. I virkeligheden, det er hvordan Intralinks bemærket dette - de, Også kørte en AdSense kampagne sammen af ​​søgeord at Dropbox selv kan bruge. Og så hvis vi zoome ind på de nederste resultater her, du vil se, at Inralinks har dette link til deres egen tjeneste. Nu er en af ​​funktionerne i Google og andre søgemaskiner ' reklamekampagner er, at når en bruger som mig klikker på dette link, nu, Jeg kommer til at være at afsløre url at jeg har skrevet i Google i orden at finde disse søgeresultater. Ideen er, at virksomheder vil gerne vide hvordan folk er at finde deres hjemmeside. Selvfølgelig, hvis jeg fandt denne side af resultater ved at indsætte en ellers hemmelig url i Google, Jeg har nu, effektivt fortalt Intralinks og deres web logs præcis, hvad hemmelig url jeg var på besøg, og derved afslører, potentielt indholdet CS50.txt. Nu er der en anden trussel alle sammen - du måske ved, også fra Dropbox delte links, som du typisk kan åbne dem inde i dit eget browser og få vist dem inde af en ramme som dette. Men hvis det eftersyn indeholder et hyperlink, som afbilledet her til Example.com, og du eller en bruger klik at hyperlink, og derved åbne en ny fane eller et vindue med sidens url, hvad du har også lige fortalt på nettet server, i kraft af hvordan HTTP virker, er HTTP henvise adresse hvorfra du kom. Med andre ord, du informeret destinationen hjemmeside at du var tidligere på dette angiveligt hemmelige url. Nu, hvad Intralinks opdaget ved at kigge gennem deres egne logs er, at de fandt ganske lidt af oplysninger, der var sikkert beregnet til at være hemmelig - for Eksempelvis andens pant ansøgning, nogen selvangivelse, og klaser af flere dokumenter, så godt. Nu, hvis du gerne vil lære mere om denne særlige trussel, hovedet til Drop boksens blog på denne webadresse her, og den virkelighed er, at du kan ikke rigtig forsvare sig mod en trussel, hvor folk ligesom mig uheld indsætte hvad skal være hemmelige webadresser på søgemaskinerne. Du og jeg er simpelthen kommer til at nødt til at være lidt mere forsigtig. Men de har arbejdet på genoprette andet spørgsmål, hvorved links, der er indlejret i en Dropbox forhåndsvisning var at afsløre henvise url. Men hovedet til at url for flere detaljer. Men nu, som lovet, et nærmere kig på bittesmå hamstere spise bittesmå burritos. [Musikgengivelse] DAVID MALAN: Nu CS50 hold nylig haft lejlighed at deltage i en 48-timers filmprojekt en international konkurrence hvorunder hold havde faktisk 48 timer alene at lave en film. Fangsten er, at du kun finde ud af, hvad film, du nødt til at foretage meget starte disse for 48 timer. Især på en nylig Fredag ​​aften 7:00 PM, vi på CS50 lært, at vi ville være gøre en, en stumfilm, to, at filmen er nødvendig for at har en karakter ved navn Jeremiah Jones, en lærer, tre, at filmen behov til funktionen en dagbog, dette her, og fire, at vi havde brug for at en eller anden måde omfatte den linje, det er hvad det er endnu men selvfølgelig, vi gjorde en stumfilm. Nu, 26 medlemmer af CS50 hold deltog i denne 48-timers film projekt, blandt dem Colton, Dan, Padraig og Shelley Westover, hvem du måske husker fra film som denne ene her. Nu også involveret, selvfølgelig, var CS50 egen Ramon Galvan. Ramon, velkommen til showet. RAMON GALVAN: Tak for at have mig. DAVID Malan: Og CS50 s ejer Daven Farnham. Nu, Ramon, hvad der var din rolle i filmen? [? RAMON GALVAN:? Flight kode] direktør med Dan, faktisk. DAVID MALAN Og Daven, dig selv? Daven FARNHAM: Jeg var stjernen, så jeg dybest set gjort projektet. Jeg gemte filmen. DAVID MALAN: Du reddede filmen. Daven FARNHAM: jeg gjorde. DAVID MALAN: Nu skal du sige det, men jeg tror, vi har din skærm test for denne film. Hvis vi kunne rulle det klippet her. Daven FARNHAM: Mit navn er Daven Farnham, og dette er CS50. Jeg ønskede at sige CSS. Det er CSS. DAVID MALAN: Nu var din første film? Daven FARNHAM: Øh, nej, måske. DAVID MALAN: Nej, godt, mindst dette gang var det en stumfilm. Daven FARNHAM: Ja. DAVID MALAN: Så 7:00 PM, fandt vi ud de nødvendige ingredienser, og så vi straks dykkede i som en gruppe at regne ud, hvad film, vi faktisk vil gøre. Ønsker du at gå os gennem hvad den aften var ligesom? Daven FARNHAM: Så dybest set vi fik ideen på 7:00, vi dybest set begyndte at brainstorm, så vi alle slags samlet omkring et whiteboard og begyndte at brainstorme ideer, og derefter ved 9:00, forsøgte vi at smide det ud til forfattere, og forfatterne tog den derfra. DAVID MALAN: Og i mellemtiden, Dan og Shelley og jeg faktisk ledes til Target, selvfølgelig, vores favorit butik i nærheden, at hente alle de rekvisitter til filmen vi havde besluttet på, der på det tidspunkt var - Daven FARNHAM: Vi havde besluttet på et paritetisk eventyr film. DAVID MALAN: whic skulle være helt ligesom Indiana Jones. Daven FARNHAM: Ja, så vi havde brug for en tyr piske og vi havde brug for en fedora og kram. DAVID MALAN: Og en meget udsmykkede smykke at han så ville finde ved slutningen af ​​episoden. Selvfølgelig får vi tilbage på midnat eller så fra Target og indse, nope, det er ikke den film, vi laver - psych. Daven FARNHAM: Helt anden film. RAMON GALVAN: Vi havde en film Noir et par timer, derefter havde vi en romantisk komedie i slutningen. DAVID MALAN: Så ved 4:00, havde vi en romantisk komedie, og omkring 05:00, dig og Dan, den anden direktør, dukkede op. RAMON GALVAN: Ja, så fik vi sammen, og vi slags planlagt ud hvor vi wold skyde, hvad der er scener, vi ville skyde først, og derefter omkring 7:00 eller 8:00, vi faktisk gik ud og begyndte at skyde. DAVID MALAN: Tja, hvis du kan holde sig omkring, Vi ville elske at gøre nogle bag-the-scenes ser på, hvordan filmen blev lavet, men jeg tror først, skal vi giver folk verdenspremiere af CS50 film, vedholdenhed. [Musikgengivelse] DAVID MALAN: Gutter, jeg mener - så lad os starte fra toppen. Så den allerførste scene vi alle skudt som en gruppe den morgen fandt sted omkring 8:00 a.m, og vi var faktisk her, Jefferson Hall, som faktisk er en af fysikken auditorier på campus. Og hvad var målet med denne scene? RAMON GALVAN: Så var vi her at starte filmen, Daven som en lærer, en undervisnings-stipendiat, eller undervisningsassistent, noget lignende, og han var virkelig ked af det at han ser dette par gå ud og han ønsker det. Han ønsker at være i et forhold, han bare ikke har det. DAVID MALAN: Og så den næste scene, vi overgangen til rent faktisk at blev ikke skudt i orden. Faktisk er her, du er - Daven FARNHAM: So her, faktisk, vi skød This - dette var en af de sidste scener vi skød, men det faktisk viser sig på begyndelsen af ​​filmen. Og så i denne scene, er det en montage, og så hvad jeg gør er jeg lægger på cologne, Jeg kæmning mit hår. DAVID MALAN: Bruger du cologne? Daven FARNHAM: Uh, Ramons cologne, masser af Köln. DAVID MALAN: Og hvis skjorte? Daven FARNHAM: Uh, Ramon skjorte. DAVID MALAN: Så det var mere end ét take, og skjorten ved udgangen var temmelig - Daven FARNHAM: Ja, jeg tror vi måtte tage tre eller fire tager, så hver take var tre sprøjter, så der var omkring 12 sprøjt i Köln. Så jeg lugtede ligesom cologne for resten af ​​dagen. DAVID MALAN: Nå, i mindste meget hurtigt. Vi omformede udenfor, og i virkeligheden, hvis man ser nøje efter, det er faktisk CS50 s egen Lauren Caraballo. Men hvad var du tænker med denne scene? Daven FARNHAM: Right, så i denne scene, vi prøver at få hendes opmærksomhed. Så jeg går med hende, Jeg peacocking, selvfølgelig. DAVID MALAN: Peacocking? Daven FARNHAM: Åh, du ikke kender? RAMON GALVAN: Uh, skal jeg? Daven FARNHAM: Ja, selvfølgelig, selvfølgelig. Så normal gang, selvfølgelig, er bare normal gang. DAVID MALAN: Så det er normal gang? Daven FARNHAM: Det er normal gang. Peacocking, smide en små hofter derinde. RAMON GALVAN: Det er virkelig alt lige her. Daven FARNHAM: Det er okay her. Det er fra denne qua - Det er alt i hofterne. Og så til allersidst, du er nødt til pop og lås. Det er nøglen til den manøvre - det er nøglen. DAVID MALAN: Pop og lås. Okay, ja, du rent faktisk gjorde en masse fysisk komedie i filmen. Faktisk en af ​​de næste scener var her på Lamont Library, uden for døren. Daven FARNHAM: Ja, de er lige her, så jeg er faktisk forsøger at - Jeg synes, det er en trække døren og jeg skubber, og som scene skrider frem, Jeg skubber og skubber stadigt mere aggressivt. Og jeg tror i sidste ende, nogen faktisk slår mig ud af vejen. DAVID MALAN: Ja, og i Faktisk vidste vi ikke mærke til - indtil redigeringen fase. RAMON GALVAN: Ja, så, hvis vi zoome ind i dette skud, og Dan, kan vi forbedre en lille smule? OK, perfekt. Så du fik at se mig krøb ned omkring til at poppe op og banke Daven i ansigtet med døren. DAVID MALAN: At vi sjovt fundet optagelser få timer før vi måtte sende filmene til deadline. Okay, godt tak begge så meget til sammenføjning og for hovedrollen i en sådan - Daven FARNHAM: Åh, nej tak. RAMON GALVAN: Tak. DAVID MALAN: - en bevægende film. Nå det er det for CS50Live. Tak så meget til vores venner på Dropbox, tak så meget til alle bag kameraet, CS50 egen Ramon Galvan og Daven Farnham. Dette var CS50 og dette var vores favorit scene at det ikke gøre det i filmen. DIREKTØR 1: Skal vi få bilen på vejen? DIREKTØR 2: Det kommer, det er OK. [HORN dytter] Skuespillerinde: Whoa. Åh, gud.