911, noodgeval?
911, wat is uw noodgeval?
Op 9 april 2014 werkte het alarmnummer plotseling niet meer...
...voor miljoenen mensen in de VS.
Het was meer dan 6 uur buiten werking.
Meer dan 6000 noodoproepen kwamen niet door.
Het probleem werd herleid naar een computer in een centrale...
...in Englewood, Colorado.
Het was een simpele codeerfout.
De codeurs hadden een limiet ingesteld voor het aantal oproepen.
Ze dachten dat die limiet nooit bereikt zou worden.
Maar die avond in 2014 gebeurde dat wel.
De computer volgde de instructies. Hij stopte met oproepen doorverbinden.
Het probleem was niet de computer, en er stond geen fout in de code.
Het lag aan de codering...
...het proces waarmee mensen communiceren met computers.
Met zoveel macht heb je een grote ethische verantwoordelijkheid.
Je moet het doen. Er is niets dat dat kan vervangen.
Net zoals de bouwers van een stad bepalen hoe we ons leven daarin leven...
...bepalen codeurs hoe we online leven, en dat is hoe we tegenwoordig leven.
Niet alleen als we online gaan, maar ook als we een noodoproep doen...
...naar de dokter gaan...
...of een auto instappen:
Overal krijgen we te maken met code.
Toch weet slechts een derde procent van ons hoe ze code moeten schrijven.
Voor de meeste mensen is het een compleet mysterie.
Maar dat hoeft niet.
Hoe werkt coderen nou echt?
En wat voor nieuwe wereld bouwen we ermee?
EEN NETFLIX ORIGINAL-DOCUMENTAIREREEKS
De computer.
Een ingenieuze verzameling...
...elektronische hardware gecreëerd door de mens.
We hebben wel de machines om de problemen op te lossen..
...maar we hebben geen adequate beschrijvingen.
Als iemand 'coderen' zegt, denk je dat het moeilijk is.
Je moet niet vergeten dat alles wat je op een computer gebruikt...
...door een mens gecreëerd is.
Als je me vroeg wat het belang van coderen is, zou ik zeggen:
'We leven op deze fysieke wereld en zo'n 50 jaar geleden...
...begon 'n groepje mensen een andere planeet te bouwen...
...die niet fysiek was. Een virtuele wereld.'
Kijk op straat maar eens naar alle mensen die naar hun telefoon staren.
Zij zijn in die andere wereld.
Dat is wat code is. De bouwstenen van die andere wereld.
Dit weefgetouw is de voorouder van alle computers en smartphones.
Hij werd in 1804 uitgevonden, en de grote innovatie was deze kaarten.
De gaten lieten sommige pinnen door, en andere niet.
Met duizenden gaten in honderden kaarten...
...konden wevers complexere patronen dan ooit maken.
Rijkversierde sjaals werden populair in Europa.
De ontwerpen waren zo verfijnd dat ze eruitzagen als tekeningen...
...zoals deze van de uitvinder van 't weefgetouw.
Voorheen moesten individuele draden gekozen worden door trekjongens.
De wiskunde gebeurde ook handmatig, door zogenaamde 'computers'.
Dat waren toen nog mensen.
De beste machines om daarbij te helpen kenden maar één type wiskunde...
...zoals het telraam voor optellen en aftrekken.
De wiskundige Charles Babbage wilde een machine...
...die elk probleem kon oplossen dat je koos...
...of eigenlijk, programmeerde.
Hij bedacht een machine genaamd 'de analytische motor'.
Zijn idee zou hem onsterfelijk maken.
Computers werden voor 't eerst uitgevonden door Babbage...
...een hele excentrieke Britse uitvinder.
Babbage had een inspiratiebron.
Er hing een kopie van deze afbeelding in zijn huis.
Babbages machine had, net als Jacquards weefgetouw...
...fysieke delen: hardware.
En net als bij het weefgetouw kon je die instructies geven...
...door middel van kaarten met gaten.
De gaten lieten pinnen door...
...en waar geen gaten waren werden pinnen tegengehouden.
Dat ontketende een reeks mechanische berekeningen.
De kaarten met de gaten erin waren de software.
Babbage maakte zijn machine nooit af...
...maar een jonge vrouw die met hem werkte zag dat het potentieel ervan...
...verder ging dan wiskunde.
Ada Byron, de barones van Lovelace, schreef:
'De grenzen van de rekenkunde werden overschreden zodra het idee...
...van de kaarten ontstaan was.'
Net als Jacquard zag ze in dat de gaten niet alleen voor nummers konden staan...
...maar ook voor patronen, muziek...
...of complete zinnen.
Het is een soort morse.
Daarin wordt elke letter weergegeven als een combinatie van twee signalen:
...of...
Het is binair.
Met die twee piepen kunnen we alles zeggen...
...zoals deze noodoproep uitgezonden door de Titanic in 1912.
'SOS' is geen afkorting van iets.
Het is alleen heel simpel om in Morse te sturen.
Je kunt net zo goed iedere letter weergeven...
...als een combinatie van nullen en eenen.
Komt dat bekend voor?
Dit is binaire code.
Daarmee overbruggen we de kloof tussen machines en menselijke taal.
Elke een of nul is een binair getal, of 'bit'.
Dit zijn de atomen van de informatica.
Jij noemt ze waarschijnlijk anders: acht bits is één byte.
Dus die foto op je computer die 1,1 megabytes groot is?
Dat is acht miljoen achthonderdduizend enen en nullen.
Zoals de punten en strepen van morse een manier zijn om ... en ... te schrijven...
...schrijven we met de enen en nullen van binaire code...
...wat er gebeurt in een computer:
...lading, of geen lading.
Dit is een simpel elektrisch circuit.
Een moderne computer bestaat uit miljoenen van zulke circuits.
In een elektrisch circuit is dit een bit.
Is de lamp uit? Nul.
Aan? Een.
Computer begrijpen alleen elektriciteit, dus alles wat codeurs met ze doen...
...is eigenlijk een serie aan- en uitschakelingen.
Het werkt omdat de aan- en uitschakelingen in de juiste volgorde...
...logica kunnen weergeven.
Logica is eigenlijk een voorspelbare reeks feiten of gebeurtenissen...
...zoals deze en deze schakelaar sluiten om de bellen te laten rinkelen.
Computermensen noemen dit een EN-circuit.
Ook wel een logische poort genoemd.
Eens zien of het lukt zonder 'n gat in de tafel te branden.
In een EN-poort moeten beide circuits gesloten zijn wil de lamp branden.
Er zijn ook OF-poorten...
...waarin de lamp brandt als slechts één circuit gesloten is.
Je kunt ook zeggen:
'Als een van de circuits gesloten is, dan doe je de lamp aan.'
Zo'n 'als...dan'-opdracht heet een algoritme.
Dat woord veroorzaakt tegenwoordig veel verwarring.
We hebben eerder gezien hoe algoritmes op hol sloegen.
Hoe z'n algoritmes werken is voor velen een mysterie.
Wat is een algoritme überhaupt?
Een algoritme is eigenlijk een serie instructies.
Stel: je loopt naar de winkel. Je kunt eerst linksaf en dan rechtsaf.
Of je kunt eerst rechtsaf en dan linksaf.
Je kunt ook vier keer linksaf, om het park heen, een snelweg over,
...en dan vier keer rechtsaf.
Net zoals je verschillende routes naar dezelfde plek kunt nemen...
...kun je bij coderen problemen met verschillende algoritmes oplossen.
Het doel is om de elegantste en efficiëntste te vinden.
Mooie code valt niet in herhaling. Het is elegant en krachtig.
Computer die algoritmes volgden deden wat we hen opdroegen, maar veel sneller...
...wat mensen veel meer macht gaf.
Toen wetenschappers de eerste waterstofbom ontwikkelden...
...gebruikten ze voornamelijk menselijke computers.
Maar toen gingen ze deze inzetten.
De ENIAC-computer voerde 6 weken lang thermonucleaire berekeningen uit.
De resultaten droegen direct hier aan bij.
De eerste succesvolle test, in 1952...
...van een bom die vele malen krachtiger was dan de atoombommen...
...die op Hiroshima en Nagasaki gegooid waren.
Coderen vergrootte het vermogen van mensen om te doen wat ze kozen te doen.
Maar in de jaren 40 was het nog veel werk.
Programma's schrijven in nullen en enen is een gigantisch karwei.
Mensen wilden meer van de macht die coderen gaf...
...maar het moest makkelijker worden.
Sindsdien is het doel van coderen om code dichter bij mensentaal te brengen...
...door uit te vinden wat bijna alle codeurs nu gebruiken: programmeertalen.
Vergeleken met enen en nullen zijn programmeertalen nogal abstract.
Abstractie is een lastig woord.
Abstractere talen bestaan nog steeds uit enen en nullen...
...maar we kunnen die nu beter organiseren.
Denk maar in biologische termen.
Mensen zijn enorm complex...
...maar 99% van onze lichamen bestaat uit slechts zes elementen.
Daaruit kun je grote moleculen vormen.
Om van moleculen naar simpele levensvormen te gaan is een flinke sprong.
En mensen hebben hersenen die zo geavanceerd zijn...
...dat het moeilijk te geloven is dat ze uit hetzelfde bestaan.
Computers lijken daarop, maar zijn veel simpeler.
Dat is het goede nieuws.
Bij coderen draait het erom dat dit kader omhoog beweegt, weg van binaire code...
...en dat we simpelere en krachtigere manieren van coderen vinden...
...zonder ons bezig te hoeven houden met binaire codes en logische poorten.
Zo kunnen codeurs de producten maken die we allemaal kennen.
De eerste stap om daar te komen was...
...assembleertaal, wat veel makkelijker te lezen en schrijven is.
Daarbij geef je als instructie in plaats van 0-1-0-0-0-1-1-1...
...bijvoorbeeld het woord ADD, en laat je een programma, de assembler...
...de letters A-D-D vertalen...
...naar de juiste reeks nullen en enen.
Op dit niveau is binaire code geordend in letters en nummers...
...net zoals atomen geordend zijn in moleculen.
Maar coderen in assembleertalen was nog steeds niet echt makkelijk...
...omdat al deze computers een andere assembleertaal gebruikten.
Een programma voor de ene computer werkte niet voor de andere.
Al gauw bedachten mensen dat ze met de computer wilden communiceren...
...in alledaagse termen.
We hebben programmeertalen gebouwd met behulp van assembleertalen...
...en daaruit weer andere programmeertalen.
Je hebt vast van ze gehoord.
LISP. -BASIC.
Java. -C++.
Python 3. -HTML 5.
PEARL, PHP, een beetje C...
Net zoals gesproken talen manieren zijn om ideeën over te brengen aan anderen...
...zijn programmeertalen manieren om ideeën over te brengen aan computers.
Er zijn meerdere programmeertalen...
...omdat de verschillende programmeertalen in verschillende behoeften voorzien.
Kijk naar deze twee.
Deze, COBOL, werd eind jaren 50 gecreëerd...
...om coderen makkelijker te maken voor bedrijven.
Het lijkt veel op Engels, alleen eindigt iedere conversatie...
...met 'STOP RUN'.
Deze, CPL, werd ontwikkeld in de jaren 60 en bevat meer wetenschappelijke code.
Het is net als biologische evolutie.
Naarmate organismen complexer worden...
...ontwikkelen ze eigenschappen die aangepast zijn aan hun omgeving.
Het is ook een kwestie van smaak.
Mensen hebben voorkeuren voor bepaalde programmeertalen.
Bijvoorbeeld: de taal C++.
Elon Musk is geen fan.
Jij zou er een kunnen verzinnen.
Dit is een complexe programmeertaal geheel opgebouwd uit het woord MOO.
Serieus. Het heet COW.
Deze is opgebouwd uit filmquotes van Arnold Schwarzenegger.
Telkens als ik denk: oké, nu hebben we het wel gehad...
...verzint iemand weer een nieuwe taal die al gauw een groep aanhangers heeft.
Dus ik zie voorlopig geen einde komen aan de uitvinding van nieuwe talen.
Al deze talen zijn nog steeds gebaseerd op logica.
Een codeur bij Netflix kan bijvoorbeeld zeggen:
'Als er langer dan twee uur gekeken is, laat dan dit zien.'
Voordat code onze levens massaal ging beïnvloeden...
...moesten we massaal computers gaan gebruiken.
Daarvoor moesten computers gebruiksvriendelijker worden...
...en daar was nog een sprong voor nodig.
Die begon hier, in een demo gegeven door Doug Engelbart in 1968.
Zometeen zien we het effect op 't scherm...
...en hoe het vlekje de bewegingen van de muis volgt.
Tegenwoordig programmeert niemand meer door opdrachten op te schrijven...
...op een stuk papier en dan aan iemand te geven die ze intypt.
Je zit achter een scherm en hebt een graphical user interface.
Die noemen we nu GUI's. Daarmee kun je coderen zonder te typen.
Of je kunt code makkelijker gebruiken.
Meestal werk je in 'n programmeeromgeving...
...van het type dat Alan en zijn compagnons begin jaren 70 zo mooi creëerden...
...in het Xerox Palo Alto-onderzoekscentrum.
Alan. Deze Alan.
Ik zie hem als de vader van de personal computer...
...want hij was de eerste die die visie echt verwoordde.
En eerlijk gezegd dacht ik toen dat het science fiction was.
Om grote dingen voor elkaar te krijgen is meestal een hele gemeenschap nodig.
En Xerox PARC was wat dat betreft fantastisch.
Het was echt magisch.
Dankzij de GUI konden miljoenen mensen...
...computers gebruiken op een manier die natuurlijk voor ze was.
Toen Xerox GUI's in 1979 op de markt bracht...
...lieten ze zien hoe code het dagelijkse leven kon veranderen.
U komt op kantoor, en een Xerox-machine toont uw post op een scherm.
Binnenkort zullen Xerox-systemen u helpen uw waardevolste kapitaal te beheren:
...informatie.
Mensen zoals ik en veel mensen in deze onderzoeksgemeenschap...
...wilden de wereld verbeteren.
Ze hadden een idee dat verband hield met human augmentation.
Iets dat interactie met ons zou hebben...
...met gewone mensen, en ons in staat zou stellen...
...meer te doen dan we voorheen konden.
En dat is precies wat het deed.
GUI's waren een grote sprong naar boven.
En toen kwam de volgende innovatie, een die de wereld veranderde.
Een nieuwe manier om alles wat we met code konden maken te verspreiden.
Op tv begonnen mensen te voorspellen wat toegang tot zoveel code zou doen.
Stel u voor dat u 's ochtends bij het ontbijt...
...uw pc aanzet om de krant te lezen.
Stel je een wereld voor waarin elk woord ooit geschreven, elk schilderij...
...en elke film ooit gemaakt meteen te zien was bij je thuis.
We staan aan de vooravond van iets heel opwindends en heel engs.
Het is maar een instrument, toch? -Nee.
De meest impactvolle software van nu maakt gebruik van al deze innovaties.
Eén student gebruikte een complexe programmeertaal...
...PHP, om iets te maken dat via het internet gedeeld werd...
...en op computers met GUI's gebruikt werd.
In 2004 beschreef hij het in zijn eerste tv-interview.
Het is een online adresboek dat studenten via hun sociale netwerken verbindt.
Er zijn nu 100.000 gebruikers. Wie weet waar we heen gaan.
We gingen naar maandelijks ruim 2 miljard gebruikers van Facebook.
Codeurs beïnvloeden nu de levens van miljarden mensen.
Hoe ze werken, winkelen, eten, daten en ontspannen.
Wat doe je nu? Je kijkt naar mij via een Netflix-webbrowser.
Netflix zelf bestaat uit code, en wordt weergegeven in een browser...
...die uit code bestaat...
...die gebruikt wordt op een computer die ontworpen is met behulp van code.
En zo gaat het eindeloos door.
Het is alsof je de architect bent van een museum...
...waar miljoenen mensen aan denken en waar ze iedere dag doorheen lopen.
Coderen is onvergelijkbaar. Het voelt als pure creatie.
Je hebt een idee hoe iets moet werken...
...en dan ga je voor een computer zitten en probeert dat te verwezenlijken.
Daar komt veel verantwoordelijkheid bij kijken.
We hebben snelheidslimieten in het verkeer.
Niet harder dan 100 km per uur.
Prima.
Maar wat als je een auto had en de computer zei:
'Deze auto gaat niet harder dan 100 km per uur.'
Dat is hele andere gedragsregulering.
Door onze keuzes te reguleren heeft code vaak...
...meer invloed op wat we doen dan de wet ooit zal hebben.
Dat kan weleens goed nieuws zijn.
Jaarlijks vinden er zo'n zes miljoen auto-ongelukken plaats in de VS...
...en volgens onderzoek wordt 94% daarvan veroorzaakt door de bestuurder.
Ontwikkelingen in coderen kunnen miljoenen levens redden.
Maar ze kunnen levens ook op nieuwe manieren bedreigen.
Ik heb hypertrofische obstructieve cardiomyopathie...
...wat de medische term is voor het feit dat ik een groot hart heb.
Mijn hart is letterlijk groot.
Ongeveer 3 keer zo groot als een normaal hart.
Ik ontdekte dit toen ik 30 was.
Mijn risico op plotseling overlijden voor m'n 40ste was erg groot.
De arts zei: 'Dat is geen probleem, je kunt gewoon een ICD nemen.'
Zo'n ICD wordt bestuurd door code.
Een paar jaar geleden was ik zwanger, en toen kreeg ik hartkloppingen.
Ongeveer een kwart van alle vrouwen heeft weleens hartkloppingen.
Maar de ICD dacht dat ik in gevaar was en gaf me een schok.
ICD-ontwikkelaars willen echt niet zwangere vrouwen schokken toedienen.
Dat is het laatste wat ze willen.
Ze hebben er gewoon niet aan gedacht.
Er moeten enorm veel beslissingen genomen worden...
...en de programmeurs zijn degenen die die beslissingen nemen.
En het is onvermijdelijk...
...dat er een combinatie van omstandigheden komt die zij niet voorzien hebben.
Dus wat we mensen proberen te leren wanneer we ze leren programmeren...
...is hoe je na moet denken over al die verschillende voorwaarden.
Hoe je grondig kunt zijn...
...zonder dat je door de bomen het bos niet meer ziet.
Dat wordt steeds belangrijker...
...want we zijn begonnen met een nieuwe manier van coderen.
In het traditionele coderen schrijf je instructies voor een computer.
Maar inmiddels kunnen we computers een hoeveelheid inputs en outputs geven...
...en ze hun eigen instructies laten schrijven.
Je geeft de computer dan een heleboel voorbeelden...
...en zegt bijvoorbeeld 'Dit is een feest, dit is een feest'.
Dan toon je andere dingen.
Een tandartspraktijk: geen feest. Een klaslokaal: geen feest.
De computer kijkt hiernaar en probeert een classificatiesysteem te bouwen.
Dat heet machine learning.
Als iemand kunstmatige intelligentie zegt...
...bedoelen ze dat.
Dat is een heel andere soort abstractie en manier om dingen te doen...
...want het past niet echt bij de manier waarop we normaal zoiets opbouwen.
We noemen ze machine learning-algoritmes omdat de computer...
...zijn eigen instructies creëert.
Uiteindelijk worden die natuurlijk ook omgezet in minuscule instructies.
Google Translate bestond ooit uit meer dan 1 miljoen regels code.
Dat betekent dat mensen 1 miljoen instructies geschreven hadden.
Nu bestaat het uit zo'n 500 regels code en werkt 't op basis van machine learning.
Stel je voor dat er op je feestfoto's toevallig geen zwarte mensen staan.
Dan kan de computer besluiten dat op een feest...
...alleen witte en Aziatische mensen komen.
Programmeurs zijn vooral witte en Aziatische mannen.
We moeten de diversiteit in de ontwerpruimte echt vergroten.
Met meer levenservaring stel je betere vragen.
Maar als je je machine learning-systeem data geeft...
...die bijvoorbeeld afkomstig zijn van een racistisch strafrechtsysteem...
...ook al zouden je programmeurs niet misstaan in een Beneton reclame...
...dus allerlei rassen, gezichten en maatschappelijke achtergronden...
...dan nog leert het systeem van de data.
Als mensen dat niet corrigeren...
...zullen data van vroeger zorgen dat fouten van vroeger herhaald worden.
Het verhaal van coderen gaat over ambitie en creativiteit.
De lancering van de Falcon 9-raket.
We hebben iets ongelooflijks gezien.
Een zwart gat.
We bouwen een nieuwe wereld...
...met steeds meer intuïtieve tools die meer mensen kunnen gebruiken...
...om te zorgen dat die wereld beter is.
We zijn bezig geweest om computers toegankelijker te maken...
...voor een grotere groep mensen.
We zijn er al 50 jaar getuige van hoe deze revolutie zich ontvouwt.
Daarom is het opwindend om nu te leven.
Het is belangrijk te onthouden dat alles op je computer...
...gecreëerd is door een mens.
Jij kunt zo iemand worden. Het is belangrijk dat je zo iemand wordt.
Dan kun je de wereld fundamenteel veranderen.
Er is een wereld die steeds meer bepaald gaat worden door machine learning, data...
...en traditioneel coderen.
En wij als maatschappij moeten zeggen:
'We hebben nu deze krachtige technologie...
...die geweldig kan zijn, maar dat gaat niet vanzelf.'
Ondertiteld door: Claudia Boshouwers