Det er alarmcentralen.
Det er alarmcentralen, hvad er nødsituationen?
Det er alarm...
Den 9. april 2014 blev alarmcentralerne afbrudt
for millioner af mennesker i hele USA.
Udfaldet varede i over seks timer.
Over 6.000 opkald kunne ikke komme igennem.
Staten fandt problemet i en computer i en telefoncentral i Colorado.
Det var en enkel fejl i koden.
Programmørerne havde indsat en øvre grænse for,
hvor mange opkald computeren kunne styre.
De troede aldrig, computeren ville nå den grænse
men det gjorde den på den aften i 2014.
Computeren udførte sine instruktioner og holdt op med at viderestille opkald.
Problemet var ikke computeren eller en programmeringsfejl.
Det var koden, den proces som folk bruger til at kommunikere med computeren.
Denne form for magt indebærer et stort etisk ansvar.
Der er intet, der minder om det eller kan erstatte det.
På samme måde som en byplanlægger bestemmer over livet i byen,
kontrollerer koden vores liv online, som faktisk er vores liv.
Ikke bare på internettet, men også når vi ringer til alarmcentralen,
eller går til lægen, eller sætter os ind i en bil.
Vi lever tæt op ad kode hver eneste dag.
Men kun omkring 0,3 % af os ved, hvordan man skriver kode.
For det store flertal er det et mysterie. Men det behøver det ikke at være.
Så hvordan virker kodning?
Og hvilken ny verden bygger vi med det?
EN ORIGINAL DOKUMENTARSERIE FRA NETFLIX
Computeren.
En kunstfærdig samling af elektronisk hardware skabt af mennesker.
Vi har maskiner til at løse vores problemer,
men vi mangler beskrivelser af løsningerne.
Når nogen taler om kodning, lyder det meget svært.
Vi skal huske, at alt, hvad vi bruger på en computer,
er skabt af et menneske.
KODNING
Forestil dig, at et rumvæsen kom og spurgte, hvad kode er.
Jeg ville sige, at vi lever på en fysisk planet,
men for 50 år siden begyndte en gruppe folk at bygge en anden planet.
Men det var en virtuel planet.
Kan du se de folk, der går rundt på gaden med deres telefoner?
De befinder sig i den anden verden. og koden er byggestenene til den.
Denne væv er stamfader til alle verdens computere og smartphones.
Den blev opfundet i 1804, og disse kort var et stort gennembrud.
Hullerne lader kun bestemte nåle passere igennem.
Med de tusindvis af huller kunne væverne lave meget mere indviklede mønstre.
Kunstfærdige sjal blev højeste mode i Europa
De vævede mønstre kunne endda ligne tegninger,
som dette billede af vævens opfinder.
Tidligere skulle de enkelte tråde løftes i hånden af draw boys.
Regnestykker blev også lavet i hånden af såkaldte "beregnere."
De første computere var menneskelige.
Og vores bedste maskiner kunne kun udføre enkelte regnestykker,
såsom addition og subtraktion på en abacus.
Matematikeren Charles Babbage ville have en maskine,
der kunne løse ethvert regnestykke, man programmerede den til.
Han foreslog den såkaldte "analytiske maskine."
Babbages ide sikrede ham en plads i historien.
De første computere blev opfundet af Babbage,
en meget excentrisk britisk opfinder.
Babbage fandt inspiration til maskinen i dette billede,
som han hængte op i sit hus.
Ligesom Jacquards væv havde Babbages maskine fysisk "hardware."
Og også ligesom væven kunne man give den instruktioner med hulkort.
Hullerne slap nåle igennem, og andre nåle blev holdt tilbage,
hvilket satte gang i mekaniske beregninger.
Kortene med de forskellige huller er software.
Babbages analytiske maskine blev aldrig færdig,
men en ung kvindelig samarbejdspartner så potentialet til mere end kun matematik.
Ada Byron, grevinden af Lovelace, skrev:
"Aritmetikkens grænser blev overskredet, da ideen med at anvende kort opstod..."
Ligesom Jacquard indså hun, at hullerne kunne stå for mere end kun tal.
De kunne være mønstre, musik...
...eller hele sætninger.
Man kan tænke på det som en morsekode.
Hvert bogstav i en morsekode udgøres af et sæt af to signaler.
...eller...
Den er binær.
Med de få bip kan vi sige alting, som dette nødsignal fra Titanic i 1912:
HAR RAMT ET ISBJERG. SYNKER...
"SOS" står ikke for noget. Det er bare utroligt enkelt som morsekode.
Man kan også tænke på hvert bogstav som en kombination af 0 og 1.
Ser det bekendt ud? Det er binær kode.
Det er forbindelsen mellem maskiner og menneskesprog.
Hvert 0 eller 1 er et binært ciffer eller "bit."
Bits er atomerne i moderne computere.
Måske kender du et andet navn for dem: otte bits er en "byte."
Så hvis du har et billede på din computer, der fylder 1,1 megabyte,
er det 8,8 millioner gange 0 og 1.
Ligesom morsekodens prikker og streger bruges til at skrive "---" og "...",
bruges binærkodens 0 og 1 til at skrive, hvad der sker inde i en computer.
Spænding eller ingen spænding.
Her er et elektrisk kredsløb.
Forestil dig millioner af dem, der arbejder sammen. Det er en computer.
På et kredsløb er dette en bit.
Er lyset slukket? Nul. Et der tændt? Et.
Computere forstår kun elektricitet,
så alt, hvad man gør med computere,
handler i sidste ende kun om tændt eller slukket.
Når det hele er forbundet på den rigtige måde,
repræsenterer elektriciteten logik.
Logik er en serie af forudsigelige begivenheder.
Hvis man forbinder denne kontakt...
...og denne, ringer klokken.
Computerfolk kalder dette et logisk "AND"-kredsløb.
Eller en logisk "gate."
Lad os se, om jeg kan undgå at brænde bordet.
I en AND-gate tænder lyset, når begge kredsløb er sluttet til
Der er også OR-gates, hvor blot én af kontakterne tænder lyset.
Eller med andre ord
HVIS et af kredsløbene er sluttet, SÅ tændes lyset.
Sådan et "HVIS-SÅ" udtryk er en algoritme.
I moderne popkultur er der forvirring om ordet "algoritme."
Vi har set algoritmen løbe løbsk før!
Algoritmer er et mysterie for de fleste.
Hvad pokker er en algoritme?
En algoritme er bare et sæt instruktioner.
Forestil dig, du skal ud og købe ind. Du kan gå til venstre, og så til højre.
Eller først til højre, og så til venstre.
Eller fire gange til venstre, et tur parken rundt,
krydse motorvejen, og så fire gange til højre.
Ligesom forskellige veje kan ende samme sted,
kan forskellige algoritmer løse det samme problem.
Målet er at finde den mest elegante og effektive.
Smuk kode gentager ikke sig selv. Den er elegant og kraftfuld.
Computere med algoritmer følger vores instruktioner, bare meget hurtigt,
og dermed fik mennesker mere magt.
Da forskere begyndte at udvikle brintbomber,
brugte de først menneskelige beregnere.
Men så skiftede de til denne.
Computeren ENIAC beregnede termonukleare formler i seks uger.
Dens resultater bidrog til den første succesfulde test i 1952
af en bombe, der var flere hundrede gang kraftigere
end bomberne over Hiroshima og Nagasaki under 2. verdenskrig.
Kodningen forstærkede menneskers evne til at gøre, som de ønskede.
Men i 1940'erne var det stadig et stort arbejde.
At skrive store programmer med kun 0 og 1 er et enormt arbejde.
Folk ville have mere af kodens magt.
Men de ville skrive den på en nemmere måde.
Siden da har kodning handlet om at bringe koden
stadig tættere på det menneskelige sprog ved at udvikle det,
som næsten alle programmører bruger i dag: programmeringssprog.
Sammenlignet med 0 og 1 er disse sprog ret abstrakte.
Abstraktion er svært at forstå.
De abstrakte sprog bruger stadig 0 og 1, bare organiseret på en bedre måde.
Det minder om biologi. Mennesker er utroligt komplicerede,
men 99 % af vores kroppe består af kun seks grundstoffer.
Længere oppe kommer molekylerne.
Men mellem det niveau og selv enkle levende ting er der et ret stort spring.
Og menneskers hjerner er så avancerede,
at det er svært at tro, de er lavet af samme stof.
Computere minder om det, men er meget enklere.
Det var de gode nyheder.
Kodning har udviklet sig opad fra binærkoden
og givet os nemmere, hurtigere og mere effektive former for kodning,
uden at vi behøver at bruge eller forstå de binære og logiske kredsløb nedenunder.
Det bruger programmører til at lave de produkter, vi kender.
Det første skridt på vejen var...
Assemblersprog er meget nemmere at læse og skrive.
I stedet for at skrive "0-1-0-0-0-1-1-1" skriver vi bare "ADD",
og så har vi et program, der kaldes en assembler,
som oversætter bogstaverne "A-D-D"
til de tilsvarende nuller og ettaller.
Binærkoden er organiseret i bogstaver og tal,
ligesom atomer er organiseret i molekyler.
Men det var stadig ikke særligt nemt at kode i assemblersprog,
fordi computere brugte forskellige assemblersprog.
Et program til en af dem virkede ikke på nogen af de andre.
Folk begyndte snart at tænke på, at vi gerne ville tale med computeren
med de begreber, vi bruger i hverdagen.
Vi har programmeringssprog, som vi byggede med assemblersprog,
og med de sprog byggede vi endnu flere sprog.
Du har nok hørt om dem.
LISP. BASIC. Java. C++. Python 3. HTML 5.
PEARL, PHP, en smule C...
Ligesom talte sprog kan kommunikere den samme ide på forskellige måder,
kommunikerer programmeringssprog med computere på forskellige måder,
Vi har mere end et programmeringssprog,
fordi forskellige sprog kan opfylde forskellige behov.
Lad os se på disse to. COBOL blev udviklet i 1950'erne
for at gøre kodning nemmere for virksomheder.
Det ligner meget engelsk, hvis altså alle samtaler sluttede med "STOP RUN."
Mens CPL blev udviklet i 1960'erne til brug for videnskabelig beregning.
Det minder om biologisk evolution.
Komplekse organismer udvikler egenskaber for at tilpasse sig til deres miljøer.
Det handler faktisk også om smag.
Folk kan lide at udtrykke sig med forskellige værktøjer.
Tag for eksempel sproget C++. Elon Musk er ikke en fan.
Du kan selv lave et.
Dette er et ægte sprog, der kun bruger ordet "MOO".
Helt seriøst. Det hedder COW.
Og det her består af citater fra Schwarzenegger-film.
Hver gang jeg tænker, at nu må vi da være færdige,
finder nogen på et ny sprog, der får sine tilhængere.
Så jeg tror ikke, vi er færdige med at opfinde nye sprog.
Og alle sprogene bygger stadig på logik.
En programmør hos Netflix kunne skrive:
"HVIS du har set Netflix i mere end to timer, SÅ vis dette."
Men kode kunne kun påvirke folks liv, hvis de brugte computere.
Computere måtte blive nemmere og mere tilgængelige,
og det krævede endnu et stort spring.
Det begyndte her, til en demonstration givet af Doug Englebart i 1968.
Om et øjeblik får vi hans skærm at se,
og hvordan pletten følger musens bevægelser.
Nu om dage programmerer man ikke ved at skrive programsætninger
på et stykke papir og give det til nogen, der taster det ind.
Du sidder ved en skærm med en grafisk brugerflade,
I dag kalder vi dem GUI'er.
Med et GUI kan folk lave kode helt uden at skrive noget.
Eller de kan nemmere bruge koden.
Man arbejder som regel i et programmeringsmiljø
af den samme type, som Alan og hans kollegaer
skabte så smukt på Xerox Palo Alto Research Center i begyndelsen af 70'erne.
"Alan." Ja, den Alan.
For mig er han den personlige computers fader,
fordi han var den første til at sætte ord på den vision.
Dengang syntes jeg, det var science fiction.
Når store ting bliver gjort... skyldes det som regel en stor gruppe.
Og det var Park fantastisk til. Det var ren magi.
Grafiske brugerflader lod millioner af mennesker
bruge computere på en måde, der føltes naturligt for dem.
Da Xerox annoncerede med det første GUI i 1979.
viste de, hvordan kode kunne forandre dagligdagen.
Du ankommer til kontoret og får din post på Xerox-maskinens skærm.
Xerox-systemer vil snart hjælpe dig med at styre din vigtigste ressource:
Information.
Folk som mig og mange af de andre forskere ville forbedre verden.
Deres ide var nært forbundet med udvidelse af menneskets egenskaber.
Noget, der kunne interagere med os, med offentligheden,
og sætte normale mennesker i stand til at udrette endnu mere.
Og det satte os i stand til endnu mere.
GUI'er var et stort spring fremad.
Og så kom den næste banebrydende opfindelse.
En ny måde til at distribuere alt, vi kunne lave med kode.
Folk på TV forudsagde, hvad adgangen til al den kode ville betyde.
Forestil dig, at du drikker morgenkaffe og læser avisen på din hjemmecomputer.
Forestil dig en verden, hvor alle skrevne ord, alle malerier
og alle film nogensinde kan fremvises i dit hjem.
Vi står på grænsen til noget fortryllende og skrækindjagende.
-Er det ikke bare et redskab? -Nej.
Nutidens mest udbredte software benytter alle disse opfindelser.
En studerende brugte programmeringssproget PHP
til at skabe noget, som blev delt over internettet til computere med GUI'er.
Han beskrev det i sit første TV-interview i 2004.
Det er en tjeneste, der forbinder folk på universiteternes sociale netværk.
Vi har 100.000 brugere, så hvem ved, hvor vi ender?
Vi endte med over to milliarder Facebook-brugere om måneden.
I dag former programmører milliarder af folks liv.
Hvordan de arbejder, køber ind, spiser, dater og chiller.
Hvad laver du lige nu? Du ser mig i en Netflix-webbrowser.
Netflix er kode, der kører i en webbrowser.
som også er kode, der kører på en computer,
som blev designet ved hjælpe af kode.
Der er skildpadder hele vejen ned.
God kode er som arkitekten på et museum,
som millioner af mennesker tænker på og bruger hver dag.
At skrive kode føles som rent skaberværk.
Du har en ide til noget,
og så sætter du dig ved computeren og prøver at bringe det til live.
Det medfører også et et stort ansvar.
Du har en fartgrænse. Ikke mere end 90 kilometer i timen.
Fint. Men hvad nu, hvis du har en bil, og computeren siger:
"Denne bil vil ikke køre hurtigere end 90 km/t"?
Det er en anden slags adfærdskontrol.
Ved at styre vores valgmuligheder har koden i vores liv
en større regulerende magt over os, end loven kan håbe på.
Og måske er det en god ting.
Der sker seks millioner biluheld i USA hvert år,
og en analyse viser, at bilisten er skyld i 94 % af dem.
Nyskabende kode kan redde millioner af liv.
Men den kan også bringe liv i fare på nye måder.
Jeg har hypertrofisk kardiomyopati,
hvilket er lægesprog for, at jeg har et stort hjerte.
Mit hjerte er tre gange så stort som et normalt hjerte.
Jeg opdagede det, da jeg var 30,
så pludselig var jeg i fare for at dø, før jeg blev 40.
Men elektrofysiologen sagde, at jeg bare skulle have en pacemaker.
Det er en enhed, der bruger kode.
Da jeg for nogle år siden var gravid, havde jeg uregelmæssigt hjerteslag.
En fjerdedel af alle kvinder har det, og det er helt normalt.
Men enheden troede, det var en farlig rytme, og gav mig stød.
Producenterne har ingen interesse i at give stød til gravide.
Det er det sidste, de vil have.
De har bare ikke tænkt på det.
Der er et stort antal beslutninger,
som de folk, der skriver koden, skal tage.
Og der vil uundgåeligt opstå
en kombination af omstændigheder, som de ikke har forudset.
Så det, vi prøver at lære nye programmører,
er at tænke over alle disse forskellige omstændigheder,
og hvordan man gør det udtømmende,
uden at lade sig paralysere af alle de mange beslutninger.
Og det bliver kun ved, for vi er begyndt at skrive kode på en helt ny måde.
I traditionel kodning giver man computeren instruktioner.
Men nu kan vi give den en samling input og en samling output
og lade den skrive sine egne instruktioner.
Det fungerer sådan, at man giver computeren en masse eksempler
og siger: "Dette er en fest." Og så har man nogle andre ting.
En tandlægepraksis: ikke en fest. Et klasseværelse: ikke en fest.
Computeren kigger på dem og prøver at bygge et klassifikationssystem.
Dette er maskinlæring.
Hvis nogen siger "kunstig intelligens," taler de om det her.
Det er et helt nyt niveau af abstraktion og en ny tilgang,
som ikke rigtigt passer ind i vores måde at se tingene på.
Vi kalder dem maskinlæringsalgoritmer,
fordi computeren skaber sine egne instruktioner.
Men i sidste ende bliver de også oversat til små instruktioner.
Google Translate havde engang en million kodelinjer.
En million små instruktioner skrevet af mennesker.
Lige nu har Google Translate omkring 500 kodelinjer,
som aktiverer maskinlæringen.
Forestil dig, at du ved en fejl ikke har nogen billeder med sorte eller latinoer.
Så beslutter computeren måske, at kun hvide og asiater skal inviteres.
Der er mange hvide og asiatiske mandlige programmører.
Vi bør gøre vores designteams mere mangfoldige, af en million grunde.
Folk med livserfaring stiller bedre spørgsmål.
Men hvis du kun giver din maskinlæring data,
for eksempel fra retssystemet, som bygger på strukturel racisme...
Om så dine programmører ligner en Benetton-reklame
med forskellige racer og ansigter og sociale baggrunde,
vil maskinlæringen stadig lære fra dine data.
Hvis man ikke aktivt korrigerer for det,
vil historiske data få os til at gentage fortidens fejl.
AI SENDER DE FORKERTE I FÆNGSEL
Kodningens historie handler om menneskets ambitioner og kreativitet.
Affyring af Falcon 9-raketten...
Vi har set noget, vi ikke troede kunne ses.
Et sort hul.
Vi bygger en ny verden med mere intuitive redskaber,
som flere kan bruge til at gøre verden til et bedre sted.
Vi har forsøgt at gøre computere mere tilgængelige
for en større og bredere gruppe af mennesker.
Vi har set en revolution finde sted over de sidste 50 år.
Det er en spændende tid at leve i.
Vi skal huske, at alt, hvad vi bruger på en computer,
er skabt af et menneske.
Du kan blive et af dem, og det er meget vigtigt.
Du kan forandre verden fundamentalt.
En hel verden kommer til at køre på maskinlæring
og på data og traditionel kode på stadig flere måder.
Og som samfund skal vi sige:
"Okay! Vi har denne kraftige nye teknologi,
og det kan blive virkeligt godt, men det sker ikke af sig selv."
Tekster af: Andreas Kjeldsen