911, nødetaten?
911, hva kan vi hjelpe med?
911, hva...
9. april 2014 stoppet plutselig 911-tjenesten
for millioner av mennesker over hele USA.
Tjenesten var nede i seks timer.
Flere enn 6 000 nødsamtaler kom ikke gjennom.
Myndighetene sporet problemet til en datamaskin
i et anlegg for samtaleruting i Englewood i Colorado.
Det var en feil i koden.
De som var ansvarlige for koden
valgte å legge inn en øvre grense for samtaler den kunne logge,
en grense koderne ikke trodde maskinen ville nå.
Men den kvelden i 2014 gjorde den det.
Datamaskinen fulgte instruksjonene.
Den nådde grensen og sluttet å rute samtaler.
Problemer var ikke datamaskinen,
og det var ikke en bug i koden.
Det var koden,
prosessen folk bruker for å kommunisere med datamaskiner.
Denne typen makt fører et etisk ansvar med seg.
Det kan ikke sammenlignes eller byttes ut med noe.
Som en byplanlegger bestemmer hvordan du lever i byen,
bestemmer koder hvordan vi lever på nett.
Ikke bare når vi er på nettet,
men når vi kontakter nødetater,
går til leger...
...eller kjører bil.
Vi er tett på koder hver dag.
Men kun en tredjedel av én prosent av oss kan skrive det.
For den største majoriteten er det en svart boks.
Men det behøver ikke være det. Så hvordan fungerer koding?
Og hva slags ny verden bygger vi med den?
EN ORIGINAL-DOKUMENTARSERIE FRA NETFLIX
Datamaskinen.
En genial sammenkobling av elektronikk
ble skapt av mennesket.
Det er ikke det at vi mangler maskiner for å løse problemer,
vi mangler gode beskrivelser for hvordan vi løser dem.
Når noen sier koding, tenker man at det er vanskelig.
Det er viktig å huske på at alt i datamaskinen
ble laget av et menneske.
La oss si et romvesen spør: "Hva er viktig med koding?"
Da sier jeg:
"Vi bor på en fysisk planet og for omtrent 50 år siden
begynte noen få folk å bygge enda en planet.
Men ikke fysisk. En virtuell planet.
Se rundt deg på gaten, ser du alle som går
med hodet bøyd over telefonen sin?
De er i den andre verdenen.
Det er det koding er. Det er byggeklossene til den verdenen.
Veven er forfaderen til hver datamaskin og smarttelefon
på jorden.
Den ble funnet opp i 1804,
og den store innovasjonen var disse kortene.
Hullene i hvert kort tillot visse nåler å slippe gjennom.
Med tusener av hull på hundrevis av kort
kunne veverne lage mer komplekse mønster enn før.
Detaljerte sjal ble svært populære i Europa.
Mønstrene kunne være så intrikate at de så ut som tegninger,
som dette av vevens oppfinner.
Før disse vevene kom, måtte hver tråd velges for hånd
av hjelpere.
Matte ble også gjort for hånd
av såkalte "computere".
De første computerne var mennesker.
Og de beste maskinene vi hadde kunne bare løse ett problem,
som kulerammen for pluss og minus.
Den britiske matematikeren Charles Babbage ville ha en maskin
som kunne løse ethvert matematisk problem
man programmerte den for.
Han foreslo en maskin han kalte "Den analytiske motoren".
Ideen hans ville gi ham en plass i historien.
Datamaskinen ble først oppfunnet av Babbage,
en veldig eksentrisk britisk oppfinner.
Babbage visste hvordan det ville fungere.
Han hadde en kopi av dette bildet i huset sitt.
Babbages analytiske motor hadde i likhet med veven
fysiske deler: maskinvare.
Og som veven
kunne man gi maskinvaren instruksjoner i form av hullkort.
Hullene slapp nåler gjennom
og fraværet av nåler tvang de andre nålene bakover,
det satte i gang mekaniske kalkuleringer.
Hullkortene er programvare.
Babbage fullførte aldri sin analytiske motor,
men en ung kvinnelig kollega så at dens potensiale
strakk seg forbi matte.
Ada Byron, grevinne av Lovelace, skrev:
"Begrensningene til aritmetikk ble brutt i det øyeblikket
ideen om kortene kom til."
Hun så det Jacquard så:
Hullene kunne representere mer enn tall.
De kunne være mønster, musikk...
...eller hele setninger.
Du kan tenke på det som morse.
Hver bokstav i morsealfabetet uttrykkes med kun to signaler:
...eller...
Det er binært.
Med disse to lydene kan vi si hva som helst,
som dette nødsignalet som ble sent fra Titanic i 1912.
"SOS" står ikke for noe.
Det er bare veldig enkelt å sende det i morse.
Hver bokstav kan uttrykkes som en kombinasjon av nuller og ettall.
Ser det kjent ut?
Dette er binærkode.
Det er sånn vi knytter maskiner og språk sammen.
Hvert ettall eller null er et binært siffer, eller "bit".
Dette er atomene i moderne datateknikk.
Du kjenner dem kanskje ved et annet navn: Åtte bits er en byte.
Du vet det bildet på maskinen din som er på 1,1 megabyte?
Det er åtte millioner åtte hundre tusen ettall og nuller.
Som morsekodens prikker og streker er en måte å skrive... og... på,
er binærkodens ettall og nuller en måte å skrive ned
det som skjer i en datamaskin:
på eller av.
Dette er en enkel elektrisk krets.
Tenk deg at millioner av disse fungerer sammen.
Det er dagens datamaskin.
I en krets er dette en bit.
Er lyset av? Null.
På? Én.
Datamaskiner forstår kun elektrisitet,
så alt kodere gjør med datamaskiner
er i bunn og grunn å gi dem serier med av-og-på kommandoer.
Det fungerer fordi når det settes riktig sammen
representerer de logikk.
Logikk er en forutsigbar serie av fakta eller handlinger,
som å stenge denne bryteren...
...og denne for å ringe bjellen.
Datafolk kaller dette en logisk krets.
Eller en logisk port.
Får unngå å brenne hull i bordet.
I en OG-port må begge kretsene være lukket for at lyset slås på.
I ELLER-porter slås lyset på om bare én krets er lukket.
Vi kan si det sånn:
Om en av kretsene er lukket, skru på lyset.
Denne typen "hvis så"-setninger er en algoritme.
I dagens popkultur forårsaker ordet algoritme forvirring.
Vi har sett at algoritmer har flydd av skaftet før.
For de fleste er algoritmer et mysterium.
Hva pokker er en algoritme?
Men en algoritme er egentlig bare retningsangivelser.
Tenk at du går til butikken.
Du kan gå til venstre og så ta til høyre.
Eller du kan gå til høyre og så venstre.
Eller du kan gå fire ganger til venstre, løpe rundt parken, krysse veien
og så tar du fire ganger til høyre.
Akkurat som at ulike veier fører til det samme målet,
kan flere algoritmer løse det samme problemet.
Målet er å finne den mest elegante og effektive.
Vakker programmering er ikke repeterende. Det er elegant. Det er kraftig.
Algoritmene gjør bare det vi ber dem om, men mye raskere,
og det har gjort oss mye mektigere.
Da forskere først begynte å utvikle hydrogenbomben
brukte de menneskelige computere.
Men så brukte de denne:
ENIAC-computeren kjørte termonukleære beregninger i seks uker.
Resultatet bidro til dette,
den første vellykkede testen i 1952
av en bombe 100 ganger kraftigere enn atombombene
som ble sluppet over Hiroshima og Nagasaki.
Koding økte mulighetene for å gjennomføre det man ville.
Men på 40-tallet betød det mye jobb.
Å kode med nuller og ettall er en altfor stor oppgave.
Folk ville ha mer av den makten koding ga.
Men de ønsket en lettere måte å kode på.
Siden da har kodingens historie dreid seg om å gjøre koding
mer likt vårt språk
ved å finne opp det nesten alle dagens kodere bruker:
programmeringsspråk.
Sammenlignet med ettall og nuller er disse språkene ganske abstrakte.
Abstraksjon er et vanskelig ord.
Abstrakte språk koker ned til de samme ettallene og nullene,
vi har bare funnet bedre måter å organisere dem på.
Tenk på det som biologi.
Mennesker er komplekse,
men 99 % av kroppene våre er laget av kun seks elementer.
Du kan jobbe deg opp til store molekyler.
Mellom det organiserte sjiktet
og det som er et enkelt levende vesen er det stor avstand.
Og mennesker har hjerner, som gjør så avanserte ting
at det er vanskelig å tro at de er laget av det samme.
Datamaskiner er bygget sånn, men de er mye enklere.
Så det er positivt.
Historien om koding er historien om å flytte denne boksen opp,
vekk fra det binære for å skape
en lettere, raskere og kraftigere måte å kode på,
uten å måtte hanskes med, eller i det hele tatt forstå,
de underliggende binære og logiske portene.
Dette gjør at koderne kan lage de produktene vi kjenner.
Det første skrittet var...
Assemblerspråk, som er mye lettere å lese og skrive,
hvor man i stedet for å skrive 0-1-0-0-0-1-1-1
så kaller vi det "add",
mens et program som kalles "assembler" oversetter bokstavene
A-D-D til de ekvivalente nullene og ettallene.
På dette nivået er binærkoden organisert som bokstaver og tall,
akkurat som atomer er organisert i molekyler.
Men koding på assemblerspråk var fortsatt ikke lett,
fordi alle datamaskinene brukte ulike assemblerspråk.
Om du skrev et program for én maskin, ville det ikke fungere på de andre.
Folk begynte raskt å tenke på
at det de ville gi datamaskinen
var termer vi bruker daglig.
Vi har programmeringsspråk
som ble bygget ved å bruke assemblerspråk.
Og fra de programmeringsspråkene bygget vi flere.
Du har sikkert hørt navnene.
-LISP... -BASIC...
-Java... -C++...
-Python 3... -HTML 5...
PEARL, PHP og litt C...
Akkurat som våre språk er ulike måter
å uttrykke den samme ideen på overfor andre mennesker,
er programmeringsspråk ulike måter å uttrykke
den samme ideen overfor datamaskiner.
Vi har mer enn ett høynivåspråk
fordi ulike språk møter ulike behov.
Ta en kikk på disse to.
Dette, COBOL, ble laget sent på 50-tallet
for å gjøre det lettere for bedrifter å bruke kode.
Det ligner veldig på engelsk, om hver samtale hadde
blitt avsluttet med "STOP RUN":
Dette, CPL, ble utviklet på 60-tallet og var mer vitenskapelig.
Det er som biologisk evolusjon.
Ettersom organismer blir mer komplekse
tilpasser de seg bedre til deres spesifikke miljø.
Og det dreier seg også om smak.
Folk liker ulike typer verktøy for å uttrykke seg.
Ta for eksempel språket C++...
Elon Musk er ikke en fan.
Du kan lage ett.
Dette høynivåspråket er kun bygget opp av ordet "moo".
Seriøst. Det heter COW.
Dette er bygget opp på filmsitater av Arnold Schwarzenegger.
Hver gang jeg tenker: "Ok, nå må vi være ferdige",
så kommer det et nytt språk og det får en tilhengergruppe.
Så jeg ser ingen slutt på utviklingen av nye språk.
Alle disse språkene er basert på logikk.
For eksempel kan en koder hos Netflix skrive:
"Om du har sett på i mer en to timer,
så vis dette."
Men for at koding skulle påvirke de fleste av oss
så måtte de fleste av oss bruke datamaskiner.
Det betydde at datamaskiner måtte bli enklere, vennligere,
og det krevde enda et stort hopp.
Som begynte her
under en demonstrasjon gitt av Doug Englebart i 1968.
Om et øyeblikk vil vi se på skjermen
at markøren beveger seg
på samme måten som musen beveger seg.
I dag programmerer ikke folk ved å skrive kommandoer
på et papir, for så å gi det til noen som skriver det inn.
Du sitter ved en skjerm og har et grafisk brukergrensesnitt.
I dag kaller vi dem GUI.
Med GUI kan folk kode uten å skrive.
Eller de kan lettere bruke koder.
Du bruker et programmeringsmiljø
av den typen Alan og hans kolleger
skapte ved Xerox Palo Alto Research Center tidlig på 70-tallet.
“Alan."
Dette er Alan.
Jeg ser ham som stamfaren til individuell databehandling,
for han var den første som virkelig ga uttrykk for den visjonen.
Jeg skal innrømme at på den tiden anså jeg det som science fiction.
Når store ting blir gjennomført
står det et helt miljø bak.
Og Park var utrolige.
Det var som magi.
Det grafiske brukergrensesnittet gjorde at flere millioner folk
kunne bruke datamaskiner på en naturlig måte.
Da Xerox først markedsførte GUI i 1979,
viste de hvordan koding kunne endre det daglige livet.
Du kommer inn på kontoret hvor en Xerox-maskin
gir deg dagens post på en skjerm.
Snart vil Xerox-maskiner som denne
hjelpe deg med din mest verdifulle ressurs:
informasjon.
Folk som meg, og mange andre i dette forskningsmiljøet,
ville gjøre verden bedre.
De hadde en idé som var dypt forbundet med menneskelig augmentasjon.
Noe som kunne samhandle med oss,
det offentlige,
den vanlige personen, og gjøre oss i stand til
å gjøre mye mer enn tidligere.
Det gjorde oss i stand til å gjøre mer.
GUI var et stort hopp i dette spektrumet.
Og så kom den neste verdensendrende innovasjonen.
En ny måte å distribuere alt
vi kunne lage med koding.
På TV snakket folk om hva en brå tilgang til all kodingen kunne bety?
Tenk deg at du setter deg med morgenkaffen
og skrur på datamaskinen din for å lese dagens avis.
Tenk deg en verden hvor du umiddelbart kan se hvert ord skrevet,
hvert bilde av et maleri, hver film noensinne laget, i ditt hjem.
Jeg tror vi er ved begynnelsen av noe utrolig spennende og skummelt.
-Men er det ikke bare et verktøy? -Nei.
De mest virkningsfulle programvarene bruker i dag alle disse innovasjonene.
En collegestudent brukte et høynivåspråk, PHP,
for å skape noe som ble delt over nettet og skulle brukes på datamaskiner med GUI.
Han beskrev det i sitt første TV-intervju i 2004.
Det er et nettsted som knytter folk sammen gjennom sosiale nettverk.
Nå har vi 100 000 brukere, hvem vet hvor vi ender opp.
Der vi endte opp var mer enn to milliarder mennesker
på Facebook månedlig.
I dag former kodere livene til milliarder av mennesker.
Hvordan de jobber, handler, spiser, dater og chiller.
Hva gjør du nå?
Du ser på meg i en Netflix-nettleser.
Netflix er kode som kjøres i en nettleser som er kode,
som kjører på en datamaskin som ble utformet med kode.
Det strekker seg hele veien.
Fantastisk koding er som å være arkitekten i et museum
som millioner av mennesker tenker på,
vandrer rundt i og bruker hver dag.
Å skrive kode er å skape.
Du har en idé om hvordan noe burde fungere,
så setter du deg ned foran en datamaskin
og gjør det til virkelighet.
Det ligger mye ansvar i den rollen.
Du har en fartsgrense.
Ikke mer enn 100 km i timen.
Greit.
Men hva om du hadde en bil og computeren sa:
"Denne bilen skal ikke kjøre raskere enn 100 km i timen."
Det er en måte å kontrollere handlinger på.
Ved å kontrollere våre valg kan koding
være mer regulerende enn loven.
Og det kan være supert.
Det er seks millioner bilulykker i USA hvert år,
94 % er forårsaket av føreren.
Fremskritt i koding kan redde millioner av liv.
Men de kan også sette liv i fare på nye måter.
Jeg har noe som heter hypertrofisk kardiomyopati,
som er den medisinske termen for at jeg har et stort hjerte.
Hjertet mitt er stort.
Omtrent tre ganger større enn et vanlig hjerte.
Jeg fant ut av det da jeg var 30, risikoen for å dø før 40 ble brått stor.
Elektrofysiologen sa: "Dette er ikke et problem
for du kan få en pacemaker."
Denne enheten programmeres med koder.
Da jeg var gravid for noen år siden, fikk jeg hjertebank.
En fjerdedel av kvinner får det, det er helt normalt.
Men enheten min trodde det var en farlig rytme,
så den sjokket meg.
Produsentene har ingen interesse av å sjokke gravide kvinner.
Det er det siste de vil.
De hadde bare ikke tenkt over det.
Det er ekstremt mange avgjørelser,
og de som programmerer må ta dem.
Det er uunngåelig
at det vil forekomme en kombinasjon av omstendigheter
som de ikke har forutsett.
Så det vi prøver å lære bort
når vi underviser i programmering,
er hvordan man tenker på
alle disse ulike omstendighetene.
Hvordan man er grundig
uten å bli paralysert av mengden omstendigheter
du må tenke over.
Og det vil bare blir mer sant, for vi har begynt å kode
på en helt ny måte.
I tradisjonell koding gir du instrukser til en datamaskin.
Men nå kan vi gi en maskin innmating og utmating,
og få den til å skrive egne instruksjoner.
Det du gjør er å gi maskinen
mange eksempler
og du sier: "Dette er en fest."
Så har du andre ting.
Et tannlegekontor: ikke en fest. Et klasserom: ikke en fest.
Datamaskinen ser på disse og bygger et klassifiseringssystem.
Dette er maskinlæring.
Når noen snakker om kunstig intelligens, er det dette de mener.
Det er en helt annen form for abstraksjon og funksjon,
for det passer ikke helt inn i måten vi bygger opp disse tingene.
Vi kaller det læringsalgoritmer fordi computeren lager
sine egne instruksjoner.
Men disse må også oversettes
til små instruksjoner.
Google Translate hadde mer enn en million linjer kode.
Det er folk som skriver en million små instrukser.
Nå har Google Translate omtrent 500 linjer kode
som drar inn maskinlæring.
Tenk deg at ved en forglemmelse viste ingen av bildene av fester du la inn
svarte eller latinamerikanske mennesker.
Maskinen bestemmer at en regel for fester
er at kun hvite og asiatiske folk kan inviteres.
Det er mange hvite og asiater som programmerer.
Vi burde absolutt utvide hvem som sitter i det designrommet
av en million årsaker.
De vil stille bedre spørsmål om de har mer livserfaring.
Men om du mater maskinlæringssystemet
informasjon om et rettssystem som bærer preg av strukturell rasisme,
og la oss si at programmererne
ser ut som en Benetton-reklame,
ulike raser, ulike ansikter, ulik sosial bakgrunn...
...så vil det systemet fortsatt lære av den informasjonen.
Uten at folk aktivt korrigerer det,
vil historisk informasjon føre til at vi repeterer samme feil.
AI SENDER FOLK I FENGSEL PÅ FEIL GRUNNLAG
Historien om koding handler om menneskelig ambisjon og kreativitet.
Oppskytningen av Falcon 9-raketten.
Vi har sett det vi trodde vi ikke kunne se.
Et svart hull.
Vi bygger en ny verden
med flere og flere intuitive verktøy
som et større antall mennesker kan bruke
for å bidra til at verden blir bedre.
Vi har vært på en reise for å gjøre computere enklere
for mennesker og for flere mennesker.
Vi har sett denne revolusjonen utspille seg de siste 50 årene.
Derfor er det så spennende å leve i dag.
Det er viktig å huske på at alt det du bruker på en computer
ble laget av et menneske.
Du kan bli en av disse menneskene, det er faktisk viktig
at du blir en av disse.
Du kan endre verden på en fundamental måte.
Det er en verden som skal fungere ved bruk av maskinlæring,
informasjon og tradisjonell koding på flere og flere måter.
Det vi må gjøre som samfunn er å si:
"Ok. Vi har denne potente nye teknologien,
og det kan bli fantastisk, men det skaper seg ikke selv."
Tekst: Anya Bratberg