SoColton's invitedmeheretodaytotalkabout a citysandbox, whichisoneofthecity's Webbasedapplications.
Anditcomplimentswhat's known a CS 50 i d e.
Withwhichmanyfolksareprobablyfamiliar, whichis a morefeaturefullWebbased I.
D orintegrateddevelopmentenvironment.
Nice.
And I meantraditionallyinthepast, frommymemory, wehadtodothingslikeinstallVMwhereevenbeforethatwehaveseen 50 appliance.
Yeah, backintheday.
Soreally, backinthedaywhen I firststartedteachingCS 50 andeventookCS 50 manyyearsago, wewouldallhaveusernamesandpasswordsononeofHarvard's owncentralservers, andtheyserve a rain, UNIXorclinicsorsomesimilaroperatingsystems.
Andevenbeforewait 20 yearsagoandwhateveryonewoulddointheclassisconnectedviatelnet, whichisreallyoldschoolprogramorprotocolormorerecently, bysshhsecure, shelledbyencryptiontoHarvardServer, whereeveryonehad a homedirectorylike a folderwheretheycouldputfilesandtheyhadaccesstocompilerslikeGCC, yourclangand G B andothersuchtools.
Butfastforwardtomorerecentyears.
Weactuallymovedoffofthatenvironmentto a virtualmachine, asyousay, usingBMwearorparallelsorothersoftwarewherestudentsstartedrunningontheirownMacsorPCs.
Soit's a nice, secureenvironmentintheoryforprograms, I saidthisisgreatbecauseit's justrightintheWebbrowsereyeonanycomputer, a chromebook, evensomethingwithminimalresources.
Youprobablywant a terminalwindow, andinfactyouhavetohave a terminalwindowdoanythingusefulwithit, andwepresumethatyoualsowant a texteditorwithtabsyoucanactuallycreateorinnitfiles.
What's thisthingcalledanexwindow?
Yes.
OnLinuxorUNIXbasedsystems, youcanhave a graphicaluserinterfacesorguYs, eventhoughyoumightbemorefamiliarnowadays, with a commandlineinterfacetothosesystems.
X Windowsisthesoftwarethatyoucanrunonsuchanoperatingsysteminordertoaddgraphicalsupport.
Essentially a pieceofserversoftwarethatjustsitstherewaitingandlisteningforclientstoconnecttoit, soistodisplaytheirinterfaces.
Wecanmimicthisinthebrowser.
It's a littleslow, andit's good, really, forveryslowlyinteractiveprograms, buttonsandmenus, butnotforanimation.
Wewantedtomakeiteasierforourteachingfellowsorteachingassistantswhohelpedmeandpulledhimwiththecoursetobeabletojustquicklydodemonstrationsinclassanddoitin a uniformenvironment.
Butherewehavereallythefirstofthosetwo, and I mean, we'vebeenusedthisonstream a coupletimeswherewewanttojustreallyfastgetsomeone's codeandjusttweakit a littlebitortestsomethingout.
Justyesterdayinthecodereviews, theyhaveaskedthiswayformetopullup a programmingenvironment, Mistress, doyouseeinthesandbox?
And a couplepeople, bytheway, aresayingthatthey'reimpressedwithhairdressingup.
Sohaveignitesaysthatyoudressuplike a realprofessional, forsure.
Butit's reallyjust a coincidence, becauselatelyinthemorningshavebeenteaching a courseatHarvardBusinessSchool, whichisfortheMBAstudentsthereforRich.
I dressup a littlemorefancy, takethefunoutofit.
I mean, I dressedupjustrecalled, Allright, whydon't weWhydon't wefireoneup?
I'm curioustoseewhattheylooklikeifyou'd liketoplayalongathomeandyou'reatsandbox, etc.
Somorethan a day, maybelessthan a month, we'regoingtoseewhattheusagepatternsareexactlylike, sortoffigurethisoutaswegotoreallydecidewhatthebestusecasesfornowwe'resayingtemporary, whichyoushouldassumeismaybe a month, giveortake.
If a teachingfellowwe'reteachingassistantisinthefrontoftheroomdeMaling, someprogram, andhereshewantstheirstudentstostartplayingwiththecodeormaybefindsomebuginthecodeorfixsomebuginthecodetheycouldjustshareorwriteontheblackboardorwhiteboardthatyouarewellandleteveryoneget a copyofit.
Let's go.
11.
YangYang, 77 Y M.
C M BennyandHeadHunter.
Thankyouverymuchforthefollowsaswell.
Umandoh, I guessyoumighthavetouchedonthisbutfattydealMacisasking, wasthedifferencebetweenthe I T.
E andthesandbox.
So, Sister, thesandboxis a lighterweightversionofCS 50.
Ideadoesnothave a thebuggeritdoesnothavebuiltinchatfunctionality.
Itdoesn't have a collaborationinrealtime, butitdoeshavetheabilitytosharesandboxesbymakingcopiesoffandpresumablybecauseit's somuchmorelighterweight.
Isit a moreperformanceandeasiertospinupinstances?
It's fastertostart.
Itprobablytakeslivesto 10 seconds.
Whereisthe I D?
Maytake 5 to 60 secondsbecauseit's a longertermenvironmentsthatyourfilesorpersistedonopportunity, andsometimestheyevenshutyourinstancedown a littlebit.
TheyhavetosortofrefiringStan.
Shehatedthatcantaketimeindeed, tosavetimeandcostsontheCloud M.
ForeignJewsaskingisinteractive i d.
Onthecards, which I'm notentirelysurewhatthatisasking.
Justkeepinmindthatit's a newtool, andit's evolvingonagain.
Theenvironmentalmeanttobetemporary.
Yousee, it's withthe I V E.
Ifyouwant a guaranteethatthestudentsworkpersistsdayafterdayafterdayafterdayandthenbackignites, askingthesamequestionthat I justaskedandthensendSotouched.
Three.
Hewasasking, Howlongarethecopystoredon?
AndyousaidthatThat's kindof a variablelengthoftime.
Andthisatthemomentisbydesignthatwecouldperhapstrytomakethat a littleeasier, thegoalbeingthatwedon't reallyexpectstudentstocreatinghierarchiesoffilesandfoldersbecauseagain, theseweremeanttobequickanddirtyenvironmentswherethere's reallynonotionof a filesystem.
There's just a collectionoffilesthatyouwerecurrentlyusing, however, underneaththehood, andyoucanseethisifyouhoveroverthefiles.
That's technicallyin a foldercalledslashrootslashsandboxslashhellodot C, andwecanactuallyseethishere.
Andsohowmuchof a Lennoxenvironmentarewegettingthroughthecenter?
Thisis a completeinstallationof a bunchof 18.4 YoucanseethisifwedoCatFCissue, whichis a filethatshowsus a littlesomethingabouttheunderlyingsystem.
Youwanttoseethecolonel.
Youcanseethataswell.
RunningfullfledgedLennoxhereandunderneaththehoodisusingcontainers, whichis a technologysimilarspirittovirtualmachines, but a littlelighterweightandcloudbasedinthiscase.
ButyoucanseeinthisfileCS 50 dotageAllofthecommandsthatwewerehaveruninadvanceforyouontopof a defaultinstallationof a bundu.
Soessentiallyourfriendsthatnextoptecharesimplywhilecreatingthesecontainersrunning a bunchofandthey'rerunningthisscriptforusthaninstallsadditionalsoftware.
Andsothisiswhathappened.
Mostrecently, wehad a goprologandHaskellandadjustedtheseaandpikeonPHPandRubyandjobandsoforth.
Soifyou'recurioustogothroughthatfilecalledCS 50 dot h, youcouldjustseeallofthelinenscommandsthatwerunforyouinadvancebeforeyouevenhavetoaccessthesandboxinordertoensurethatyouhavealloftheprogramsandfilesthatwewouldwantyouas a studentorteachertoehaveavailabletoyou.
Andifyouknow a commandorfunctionthatyouwanttolearnmoreinformationabout, youcanplaymaninthenameofthatprogramandyou'llseeanoldschoolsorblackandwhiteusermanualforthatprogram, sincehehasdoesn't seeanybodyhave a rapperforthemanpages.
WasthatwasthatindevelopmentProject?
DowehavesomethingcalledreferencedotCS 50 dotnet, whichisonlyforstandardseelibraries, butthispresentsthesameinformationin a slightlymoregraphicalwayup.
L hearthat's readonlythatyoucancopyandpasteyourstudentsinanemailoranymechanismlikethat, andyou'llseethatembeddedinthehttpparametersisthecommand.
Youwanteverysandboxtorunautomatically.
Youcouldjustautomatethisprocessaswell.
That's cool.
I actuallydidn't realizethisisthefutureofthesandboxpriortothestream.
Thankyou.
Thisthispart I didthat I like.
I likethat.
That's reallycool.
Andyoucouldseesomeotherinformation.
Themeansbywhichwe'regetting a texteditorisbecausewehave a windowequalseditorparameterandwindowequalsterminalmeanswe'regetting a terminalwindowaswell, andyoucangoonestepfurther.
Supposethatyouwanttocreate a sandbox, thatitdoesn't useLouis, forinstance.
Butmaybeyoujustwanttoteachstudentsaboutinteractivepython, andthereforeyoudon't wantthemtoevensee a linenshellbashshell, sotospeak.
Youget a newsandboxthrowingawaydeliberatelytheone I previouslyhad, andnowyou'llsee I onlyhave a terminalwindowinsteadofthetexteditorontopandtheterminalwindow.
Uh, this'lllevelofcustomizeabilityalmost, um, lendsitselfverynicelytowardstheideaofthelabs, which, oh, what a niceteaser.
It's aboutjust a littlebit.
Letmejustmakesurethatwe'reallcaughtup.
I knowthetuxmanwassayingStop.
I couldn't lovethesandboxthatmuch.
Sohe's a He's a fanofthefeaturesaswell.
Imjustmonitoralltheotherplatformswereonwhich I thinkwe'reallcaughtuponcommentsoncethreecomputersintheroommonitordifferentchannelstoday, allthequestionsyouknow, thisisgreat.
HavingthemallonTwitchprimarilymakes a littlebiteasier, butsomefolksaredefinitelytiminginonYouTube, whichiscool, but I thinkwe'reallcaughtupawful.
R L withtheworldandyougivepeopleviewonLeeaccess, theonlywayyou'llfindthatisbyknowingtheURLorinYouTubeyou'veeveruploadedanunlistedvideoonLeebyknowingthetheparametercananyoneelseaccessthatvideoiseffectivelythesamewaythatwewill, notthesameexactwaywedoit, butsimilarandspirithowwehashedpasswordsandthingslikethattopreventpeoplefromguessingthem?
ButBentleyisjust a loteasiertowriteandnotalwaystoreadaswefoundourselves, buttoatleastwritedownwhenyouwanttoshareitwithsomeoneelse.
Soonewe'reactuallyusingbitplease, ap I becausewearenotcertainlymanuallygoingincopyingandpastingtheselongyouearl's intimatelybit l wisewebsite.
We'reusingtheir p r togeneratethat.
Andifyourecallwhen I loggedinwell, ifyourecallwhenyouloggedin, youwereprobablypromptedtousegethubon, youhadauthorizedtheappevenwe'reusinggethubs a p i foractuallyauthenticatingusers.
Sowhydon't wetake a quicklookatthose?
Yeah, let's dothat.
Andthenalsothankstoamateur a i d.
EtienneFrostiesiumforthefollows.
And I thinkmaybe a couplepeoplehadquestions.
Babakwasasking r Z z showofficialavailableinthecity.
Solook, I don't knowaboutfish.
I'veneveractuallyusedthat Z She?
UhNope, notatthemoment.
Butsendus a featureofrequestsandwecantrytoaddthat.
JustemailassistantmintsatCS 5900 I gaveyou.
I don't knowaboutfish, so I'm gonnaguessthecommander's fish, notthere, butwedon't thinkitwouldbeanyway.
Andthenthesoshakewasasking, Dowehave a GPyouaccess?
Notnecessarily.
I don't actuallyknowwhatcontainersairbeingwhattypesofcontainersarebeingusedunderneaththehood.
Mostlikelynotcheap.
Youusageinthecloudwouldtypicallybemoreexpensive.
Andthisismeanttobe a verylightweight, inexpensivemechanism.
So I thinkthat's veryunlikely.
Thecaserightnowwiththeunderlyingcloudservice, I thinkwemighthavesomeaspiringbitQuinnminorsinourchat.
And I mean, thisisthesortofmotivationbehindSeeissuedhisownmashuppieces, right?
Yeah, indeed.
Sobusy 50 mashupforthatpiece.
ThatwasallabouttakingGooglemapsandGoogleNewsandbuildingsomethingofyourownontopof a kindofanillustrationofdon't reinventthewheelleveragewiththeworkthatotherpeoplehave.
Oh, yeah, I mean, thiswouldhavetakenus a yearorMaur, probablytobuildeverysinglecomponent.
And I thinktheothermotivationforthatisnotjust a safetime, butnoneofuswantstosignupforgetanotherdarnlikeusernameandpasswordonanotherwebsite.
If I'vealreadygot a getofaccount, maybejustletmeusethat.
If I'vegot a GoogleaccountofFacebookaccount, letmeusethat.
Andsothat's whyyousee a lotofwebsitesofferingthirdpartyLogginsanditsinvesting a lotoftrustinthelargecompanieswhosurelyhavethoughtthrough a lotofthesecornercasesandhave, youknow, a lotofinvestmentinthesecurityoftheirwebsites.
Well, especiallywhenitcomesto F adversariesouttheresortofpeoplewithwaytoomuchfreetimethatair, tryingtomisuseyourserviceisgetHub, unfortunately, probablygets a lotofpeopletryingtocreatefakeaccountsallthetimeordenialofserviceattacksandsuch, andthatcouldbecomesomethingwe'revulnerableto.
SototheextentthatwecanleanonourfriendsatgetHuboranythirdpartyservicetodothathardthinkingis a goodthingsthatwecouldeachfocusonwhatwe'rehopefullyallgoodat.
That's him, forinstance, thatifyou'reuncomfortablethatthat's finecreated a dedicatedandcount a differentaccountthatdoesn't useyourownnamelikemineisdeMalin.
I probablyshouldn't usethatif I wanttostayprivate.
Butyoucancreateanotheraccountsothattheyknowthat a differentuserisaccessingCS 50 sandbox.
Butnotnecessarilythatitisyou.
Thankstothecarny.
Now, Bish K M F d m 12 androckforthefollow.
Um, havocwasaskingIsthisbuggyFacebook?
ThirdpartyappbreaksFacebook.
I don't knowwhatthatmeans, buteyesthisbuggyNo, thisisnot.