Kategoriarkiv: Datalogi

Gensyn i London

 

I dag var det tid for mig at holde mit foredrag til workshoppen PLACES2015. Der kom en masse spørgsmål og kommentarer bagefter, og de fleste af dem gav mig et nyt perspektiv på emnet. Så jeg var overbevist om at jeg måske ikke havde gjort noget særlig godt indtryk. Men bagefter fortalte en professor fra Cypern mig at hun syntes at mit foredrag havde været rigtig godt. Dét varmede.

I pausen bagefter mødte jeg min game ven fra Edinburgh-tiden David, der oprindelig er fra USA, men i dag er professor i Schweiz. Det var vel omkring 15 år siden jeg sidst så ham. Hans hustru er dansk, og han kan faktisk tale dansk også nu.

Dagen og aftenen sluttede i hyggeligt selskab med andre PLACES-deltagere (hvoraf alle også havde været med til mødet i går) på en pub ikke så langt væk, og en af mine portugisiske kolleger smagte her for første gang amerikansk øl af den gode slags.

Det har været godt at være af sted og at opleve at jeg er del af et fagligt fællesskab og bliver taget alvorligt.

Flattr this!

En travl torsdag

  

Det var én af de dage hvor jeg har haft mange hatte på. Det meste af dagen brugte jeg på at finde hoved og hale i den store Horizon 2020-ansøgning, jeg står for. Ansøgningen er næsten færdig, men der er stadig steder hvor der skal rettes og skrives til. Jeg vil drage et lettelsens suk når det hele er overstået!

Så tog jeg imod et gymnasiehold fra Frederikshavn; de fik mit foredrag om Alan Turings liv og virke som jeg efterhånden har holdt en del gange. Jeg tror at mit foredrag gik nogenlunde; der kom et par gode spørgsmål bagefter og vi fik en god snak.

Det hele sluttede med at jeg om aftenen deltog i poetry slam i Aarhus. Jeg har længe haft lyst til at prøve at optræde uden for Aalborg. Jeg gjorde det i sin tid i Odense, da jeg var med ved DM, men det var en meget kort fornøjelse. Denne gang havnede jeg i finalen; jeg blev nummer tre men det var faktisk nok til at jeg kvalificerede mig til Aarhus-mesterskaberne til juni. Det var ikke helt så ukendt land endda; Titken Pavia Toft fra Aalborg deltog også. Og en af mine tidligere AAU-kolleger, der bor dernede sydpå,  var endda (foranlediget af Facebook) kommet til sit første poetry slam nogensinde for at heppe på mig. Det var en god afslutning på en lang torsdag.

Flattr this!

Statusseminar

statusseminar

I dag prøvede jeg og mine vejlederkolleger noget nyt – for første gang holdt vi statusseminarer for datalogistuderende på 4. semester. Ideen er min. De studerende er nu halvanden måned inde i deres projektforløb, og til dette statusseminar skulle de gøre rede for deres problemanalyse og problemformulering og deres hidtidige arbejde med problemløsning. På dette semester er det vigtige formål med projektet at skabe sit eget programmeringssprog som del af problemløsningen, og det betød også at hver gruppe skulle fremlægge eksempler på programmer skrevet i det programmeringssprog, de var ved at skabe.

Det var en interessant og så vidt jeg kunne observere også lærerig oplevelse for alle parter. På bacheloruddannelsen er læringsmålene så veldefinerede, at projekterne på samme semester typisk ligner hinanden en hel del – og dermed bliver det muligt for de studerende at kommentere hinandens præsentationer. Og det gjorde de da også. Samtidig kan vejlederne kommentere præsentationer fra grupper, de ikke er vejledere for. Selv lærer jeg meget om de fælles udfordringer, der er på semesteret, når jeg bliver mindet om at alle de 5 grupper, jeg så i dag, slås med mange af de samme ting og finder de samme bud på løsninger.

Alle studerende kender til de C-agtige programmeringssprog – C, C++ og C# – så det er ikke overraskende at de programmeringssprog, de finder på, i meget høj grad bliver variationer over dette tema. Den “magiske compiler” er også et tilbagevendende tema. Tænk hvis vi kunne lave en oversætter, der af sig selv kunne finde ud af hvilke beregninger i det program, der ville kunne udføres parallelt. Den slags kan man ikke (det er et resultat fra teorien for beregnelighed), men dette ved de studerende af gode grunde ikke endnu. Så på én og samme tid sigter projekterne højt, nemlig i jagten på en “magisk oversætter”, og lavt, nemlig i buddene på hvordan et programmeringssprog mon kan se ud.

Statusseminarer ser vi ellers kun på de første 2 semestre, men min begrundede fornemmelse er at dette er et godt værktøj i projektarbejdet – også af den grund at der bliver indført et krav om at skulle forklare og forsvare projektets beslutninger over for andre uden for det lille fællesskab af gruppe plus vejleder. Og så er det nok også godt for arbejdsmoralen at lægge en sådan intern deadline ind tidligt i forløbet. Det kunne give god mening at bruge statusseminarer også op til 4. semester, måske endda senere. På kandidatuddannelserne er det stadig vigtigt at kunne fortælle hinanden om sine overvejelser, men skal formen formodentlig være en anden.

Flattr this!

Lige lovlig smart?

Spinning-Beach-Ball1
“Badebolden” fra Mac OS X er sådan en trist badebold.

Der er i disse år stort fokus på Internet of Things – den idé at en masse genstande nu bliver i stand til at kommunikere med hinanden over Internettet. Dvs. et af de store problemer er det, man kalder interoperabilitet – om alle de mange genstande rent faktisk kan kommunikere med hinanden. Det er som bekendt ikke nok at alle er på nettet for at man kan etablere en meningsfyldt kommunikation. Hvis man nogensinde har prøvet at sende en e-mail med danske bogstaver til en modtager uden for Danmark, kan man især før i tiden let have mødt en lille udgave af dette problem, nemlig at modtageren ikke kunne læse de særlige danske tegn.

Historien om Raúl Rojas fra Berlin er en fascinerende historie om netop interoperabilitet. Han har siden 2009 boet i et smart home, hvor mikrobølgeovn, komfur, tv, varme, ventilation, belysning osv. er internetforbundet. Noget af det eneste, der ikke er på nettet, er dørlåsene. Raúl Rojas har nemlig været bange for ikke at kunne komme ind i sit hus!

Og så vil skæbnen at det går galt endda. Alle dimserne i Rojas’ hjem kommer fra mange forskellige producenter og bruger forskellige protokoller til at kommunikere med, så han installerede en centralenhed i hjemmet, som alle skulle kommunikere gennem. Men en dag for to år siden gik det galt – pludselig var det intet i hjemmet, der responderede. Lyset kunne ikke tændes, tv var ubrugeligt osv. Til sidst fandt Rojas synderen, og den var – en elektrisk pære. Da pæren gik i stykker, begyndte den at sende information om det til centralenheden. Og fra da af var der ingen andre, der kunne bruge centralenheden! Pæren havde lavet et denial-of-service-angreb.

Med til hele denne historie hører at Raúl Rojas ikke er en hvemsomhelst; han er professor ved Freie Universität i Berlin – i datalogi. Han skiftede pæren, og problemet gik væk.

Men problemet med interoperabilitet er meget reelt og kan ikke altid klares ved at skifte en pære. Hvis vi skal have vores hjem på nettet, er det i hvert fald ikke en god idé at lade al kommunikationen gå gennem én centralenhed, og det er heller ikke nogen god idé ikke at kunne slå al smartheden fra.

 

Flattr this!

En køn måde at programmere på

computer-girls11-388x550
En artikel fra Cosmopolitan fra 1967-

Lige for tiden prøver jeg at skrive en projektansøgning sammen med en række udenlandske kolleger. Den handler om typebaserede metoder til udvikling af bestemte slags software. Der er både nogle teoretiske overvejelser om typeteori (det er min boldgade) og noget om anvendelser (det er der andre, der er gode til). Men i opslaget står der at der skal laves en analyse af kønsspecifikke problemstillinger i forbindelse med opslaget. Her blev jeg først tavs – hvad har typeteori med kønsforskelle at gøre? Formodentlig ikke noget i sig selv, men der er noget andet at tænke over. Det havde jeg aldrig rigtig gjort, men jeg måtte se efter.

Og der er en køns-dimension. Der er forskningsresultater, der viser at kvinder og mænd bruger debugging-værktøjer forskelligt, når de programmerer.

En undersøgelse fra 2007 af kvinders og mænds programmerings-vaner foretaget af de tre amerikanske dataloger Laura Beckwith (der i dag bor i Danmark), Margaret Burnett og Susan Wiedebeck har afsløret at det handler om selvtillid. Hvis kvinder havde lav tiltro til at de kunne fuldføre en opgave (forskerne kalder dette for self-efficacy) brugte de ikke de muligheder, debugger-værktøjerne gav, og mange kvinder havde netop denne lavere tiltro til egne evner. Samtidig var kvinder mindre tilbøjelige end mænd til at tage brug af nye debugging-muligheder, som undersøgelsen stillede til rådighed – en af kvinderne fremførte at dette var fordi hun regnede med at det ville tage for lang tid at lære. Det interessante er at mænd og kvinder selvfølgelig (tør jeg godt sige) ikke udviste en signifikant forskel i hvor gode de var til at lære at bruge de nye muligheder.. Det er således vigtigt at huske at der ikke tale om dårligere begavelse hos det ene køn, men om konsekvenserne af at have lavere selvtillid. Kønsforskellene kommer fra de kønsroller, man som menneske bliver opdraget med. På et eller andet tidspunkt lærer mange kvinder desværre at tvivle mere på sig selv, mens mange mænd lærer ikke at gøre det.

En anden undersøgelse fra 2013 viser hvad kønnet har af betydning, når man programmerer parvis – kendt som pair programming. Forskerne undersøgte produktiviteten (hvor meget fejlfri kode der blev produceret) hos par, der var hhvs. mand/mand, mand/kvinde og kvinde/kvinde. Par hvor de to programmører var af hvert sit køn var dem, der klarede sig dårligst. Som resumeet nævner:

Additionally, the female participants particularly voiced gender-biased concerns about collaborating with male partners in doing the pair programming task.

Mit eget gæt er at de mandlige programmører i de blandede par havde en tendens til at strutte (jeg har tidligere skrevet om strutteri og hvad det kan føre med sig).

Flattr this!

Alan Turing på film

The Imitation Game
En filmplakat fra Berlin.

Så fik jeg omsider set The Imitation Game. Jeg havde været temmelig skeptisk efter at have læst foromtalerne af filmen i bl.a. The Guardian, og det er da også tilfældet at der er nogle underlige unøjagtigheder i filmen. Men filmen var jeg nærmest forpligtet til at se, for jeg har ved flere lejligheder holdt foredrag om Alan Turings liv og virke og samtidig er han en af de helt centrale personer inden for det 20. århundredes matematik og datalogi.

Det er svært ikke at bemærke de åbenlyse fejl i filmen – der samtidig hævdes at være baseret på Andrew Hodges’ ekstremt grundige biografi. Jeg vil aldrig kunne forstå hvorfor det hele vejen gennem filmen hævdes at Turing er professor i Cambridge, når han nu faktisk var lektor i Manchester. Forhåbentlig har de brokket sig over dette i Manchester. Heller ikke skildringen af Alan Turings person svarer til det indtryk, man får fra Hodges.

Også skildringen af arbejdet i Bletchley Park-centret er underlig. Det virker som om Turing bare bøvler dag og nat på må og få med sin bombe (der i virkelighedens verden aldrig hed noget, og da slet ikke Christopher). Det var i høj grad Alan Turings statistiske analyser, der gjorde det muligt at foretage kryptanalyse af Enigma. Selvfølgelig er det korrekt at det bl.a. var opdagelsen af forekomsten af bestemte stykker klartekst i de tyske beskeder, der på afgørende vis hjalp i nogle tilfælde. Og endelig er historien om John Cairncross, der af Turing bliver afsløret som russisk spion, helt og aldeles konstrueret.

Det er også interessant at se en film, der nævner Eulers sætning – selv om Keira Knightley udtaler mandens navn som juu-ler. Gamle øgler som bl.a. undertegnede har lært en noget anden udtale. Så vidt jeg kan skimte (men det går jo hurtigt i en film) er der tale om en diskussion af modulær aritmetik, så Eulers sætning er her den sætning, som siger at a^{\varphi(n)} \equiv 1 hvis a og n er indbyrdes primiske (\varphi(n) er Eulers totientfunktion). Præcis hvor modulær aritmetik skulle være nødvendig i datidens kryptografi er til gengæld ikke klart for mig (og næppe heller for dem, der stod bag filmen).

Matematikken i filmen er ikke våset som sådan – der er en kort reference til beviset for irrationaliteten af \sqrt{2} og en kort samtale om den universelle Turing-maskine, omend det næppe er tilfældet at Turing tænkte på sin bombe som en universelt programmerbar maskine. Det var derimod tilfældet for Mark I-maskinen, han nogle år senere var med til at konstruere i Manchester.

Der er næppe heller noget belæg for at Alan Turing (sådan som filmens rammefortælling vil have det) pludselig skulle sidde og røbe en masse fortrolige oplysninger til en betjent i Manchester som reaktion på et indbrud.

Når alt dette er sagt, er der trods alt en særlig glæde ved omsider at se en film om en skikkelse, jeg har læst så meget om, og også billederne fra Bletchley Park er værd at se. Især er det fascinerende at se nogen sidde og taste forsigtigt på en Enigma-maskine.

Set isoleret er det en velkomponeret film, ikke mindst på billedsiden, og de kendte skuespillere gør det faktisk godt. Hvis The Imitation Game kan få flere til at interessere sig for Alan Turings liv og virke (og de tragiske omstændigheder om hans død, der i høj grad hang sammen med andres manglende accept af hans seksualitet) har filmen trods alt tjent et væsentligt formål.

På en måde er The Imitation Game en nutidig parallel til Amadeus fra 1984. Amadeus er en dengang Oscar-belønnet film om Mozart, som bestemt ikke skildrer Wolfgang Amadeus Mozarts korte liv og omfattende værk historisk korrekt og næppe heller giver et godt indblik i mandens personlighed. Til gengæld gjorde den en del mennesker interesseret i at lytte til Mozart.

Flattr this!

Datalogi – den forkerte videnskab

ComputerScience

I går skrev jeg om Edge.org, der har indsamlet en lang række forskere og forfatteres bud på hvilke begreber, videnskaben bør kassere. Det er fascinerende læsning på godt og ondt.

Den amerikanske fysiker Neil Gershenfelds bud på et begreb, vi bør opgive, er – computer science, af danske journalister kaldet “computervidenskab” og af mig og mange andre kaldet datalogi.

Datalogi er nemlig ifølge ham en underlig videnskab, der implicit ignorerer og endda eksplicit går imod de principper, der gælder i naturvidenskab i øvrigt.

In nature, everything happens everywhere all the time. While an industry has developed devices for computation, a much smaller community has studied the physics of computation. Outside of what is traditionally considered to be computer science, they’ve developed quantum computers that use entanglement and superposition, microfluidic logic that transports material as well as information, analog logic that solves digital problems with continuous device degrees of freedom, and digital fabrication to code construction of programmable materials. Most importantly, programming models are emerging that represent and respect physical resources, rather than viewing them as a can to be kicked to someone else to worry about. It’s turning out that this is easier rather than harder to do, because it avoids all of the issues of converting from an unphysical to a physical world.

Jeg håber ikke at Neil G. skal være den kommende leder af det institut, hvor jeg er ansat. Så bliver det nok lukket. Spøg til side: Hvis jeg skal sige noget mere seriøst til alle mandens kvababbelser, er det vel at han i sidste ende befinder sig i en fysik-centreret forståelse af hvad beregning er. Specielt omtaler han Turings og von Neumanns arbejde som “useful hacks”.

Jeg vil selv mene at problemet med Gershenfelds holdning faktisk ligger netop i hans insisteren på betegnelsen computer science  – det kommer til at se ud som om datalogiens genstandsområde er computeren. Men det er jo netop ikke tilfældet. At kalde datalogi for “computervidenskab” svarer egentlig til at kalde biologi for “hamster- og solsikkevidenskab”.

De eksisterende modeller for beregnelighed, der er dukket op i datalogi, når langt ud over hvad Turing-maskinerne har at tilbyde. Blandt andet de seneste 25 års arbejde med modeller for parallelle beregninger – her specielt pi-kalkylen og den generelle teori for bigrafer, der skyldes Robin Milner og hans samarbejdspartmere – slipper i høj grad forbindelsen til de fysiske begræsninger. Det er også interessant at bemærke at der er så fine korrespondancer mellem intuitionistisk logik og typet lambda-kalkyle og mellem forskellige beregningsmodeller. Inden for de seneste år har vi set resultater, der viser sammenhænge mellem lineær logik og sessionstyper. Alle disse dybe matematiske resultater gør beregningsmodellerne til mere end bare “useful hacks”.

Neil Gershenfeld  forholder sig heller ikke til at der findes også beregnings-centrerede modeller af fysiske fænomener – tilbage i 2002 skrev Gershenfelds MIT-kollega Seth Lloyd på Edge.org om det, han kaldte for the computational universe. Min egen fornemmelse er at begge forståelser kan fange noget, men at de begge er reduktionistiske: De fænomener, vi observerer, er “i virkeligheden” bare fysik eller bare datalogi. Jeg ved ikke hvad Neil Gershenfeld synes om matematik, men jeg kan umiddelbart forestille mig at han (som en del andre ikke-matematikere inden for naturvidenskab og teknik) synes at det først og fremmest har berettigelse som et nødvendigt redskabsfag, der bliver skabt af fysikkens behov for modeldannelser.

Reduktionisme er nem og behagelig (og nogle gange nødvendig), men jeg vil passe på med at bruge den som udgangspunkt for en kritik som den, Neil Gershenfeld leverer.

 

Flattr this!

David Gelernter

david-gelernter-bw

Forleden skrev jeg om den amerikanske datalogiprofessor David Gelernter og om hans observation om at almendannelse er vigtig på universitetsuddannelserne. Nogle kunne derfor forledes til at tro, at jeg på mange måder er enig med ham. En artikel i Chronicle of Higher Education røber, hvad jeg længe har vidst:  David Gelernter er meget belæst og har talenter inden for mange forskellige områder. Han har skrevet bøger om datalogi, om litteraturkritik og om samfundsforhold. Han har udgivet skønlitteratur og er billedkunstner.

Men Gelernter er samtidig indehaver af en perlerække af holdninger der vel er et lille stykke til højre for familien Krarup. I 1996 skrev han et essay om hvorfor kvinder skal blive i hjemmet. Han mener at USA har nogle kvaliteter der gør at amerikanere er tættere på gud. Gelernter er indædt modstander af “Obamacare” og indædt tilhænger af dødsstraf og fri adgang til håndvåben. Han er vred over at USA trak sig ud af Vietnam og ser verden igennem Fox News. Bøsser, lesbiske og transkønnede skal ikke have ret til ægteskab, men må ifølge Gelernter gerne være i hæren eller i offentlige embeder, “bare de holder deres seksualitet for sig selv”. Og nå ja, så er han selvfølgelig også stærkt religiøs.

Så nej, jeg er ikke enig med David Gelernter om ret meget.

Flattr this!

Dannelse – og “computervidenskab”

zombieboy

I denne uge bringer Jyllands-Posten et interview med den amerikanske professor i datalogi David Gelernter. Nogle af os kender Gelernter fra hans arbejde med parallel programmering. Hans tragiske møde med en brevbombe afsendt af “Unabomberen” Ted Kaczynski er også en del af historien – Gelernter blev blind på det ene øje og fik læderet sin ene hånd.

Gelernter er af den holdning at vore dages datalogistuderende ikke har tilstrækkeligt med  dannelse. Han siger (citeret fra artiklen):

Det er som om, at den seneste teknologi er det eneste, der er værd at gå op i. Jeg kan endda mærke det på mine studerende fra Yale University – nogle af de klogeste unge i verden. De ved intet om moral, etik og religiøs filosofi. De er ufærdige mennesker. Det eneste, der interesserer dem, er den nyeste telefon eller den nyeste software. Min generation af lærere har fejlet. Vi har denne her mærkelige generation af unge, der får nydelse af at sidde sammen på café, og i stedet for at kigge på hinanden og snakke, så kigger de på telefonerne. Det er det billede, vi vil blive husket for.

Heri kan jeg kun være enig. I en videnskab som datalogi er der en stor risiko for at man bliver teknologifikseret. Jeg kunne godt ønske mig at der var mere fokus på almendannelse i datalogiuddannelserne – og på de videregående uddannelser i det hele taget. Den slags har trange kår i en nutid med studiefremdriftsreformer og en fiksering på målbarhed.

Men så bemærker jeg også noget andet. Artiklen fra Jyllands-Posten starter således:

“Det er utroligt og chokerende, at iPhone 6, et stykke legetøj, der ikke kan noget ekstraordinært, er den ting som flest danskere søger på, når de besøger “verdens-biblioteket” online. Hvis jeg var Danmark, ville jeg ikke være stolt af det,” siger David Gelernter, professor i computervidenskab ved Yale University i USA.

Når han snakker, så lytter man. Han har udgivet fagbøger, digte, skønlitteratur og essays om teknologi. Han er mest kendt for bogen ”Mirror Worlds” fra 1993, hvori han med stor præcision forudsagde internettets komme.

Jeg bemærker her at det ikke var nogen stor kunst at forudsige Internettets komme i 1993. Selv sendte jeg min første e-mail i 1987, og min hjemmeside på universitetet oprettede jeg i 1994. Og jeg bemærker også at David Gelernter er udnævnt til professor i et af journalister opfundet fag, nemlig computervidenskab.

Og så er det jeg tænker på at forventningen til almendannelse må være bred; det er trist at danske journalister ved så lidt om datalogi og at de ikke engang ved hvad faget hedder.

Flattr this!

Datalogi uden computere

IMG_4306.PNG

For snart en del år siden var jeg med ved Dansk Naturvidenskabsfestival, og her prøvede jeg at anskueliggøre NP-fuldstændighed ved at præsentere nogle svære puslespil. Mit håb var at få de besøgende til at tænke på datalogi, ikke på computere.

I dag spurgte en studerende mig om der var en dansk udgave af det engelske begreb unplugged computer science. Jeg måtte tænke lidt efter – og det er vel datalogi uden computere. Uden at vide det, var mit initiativ netop dét.

En artikel i Slate beskriver hvordan forskere ved University of Canterbury i Christchurch i New Zealand arbejder med denne tilgang til at lære skolebørn om datalogi. Jeg spekulerer nu på om ikke det vil være en bedre indgang til at undervise i datalogi at lægge computeren væk, eller snarere at vente med at finde den frem. Der findes et websted om ideen ført ud i praksis på http://www.csunplugged.org.

Den store udfordring bliver nu at skabe forbindelsen til maskinerne senere, men måske er det i virkeligheden her, behovet for den programmerbare computer vil vise sig for den lærende: Før man bliver præsenteret for computeren som problemløser, skal man møde problemet og løsningsmetoderne. I computerens barndom var det netop matematikerens ønske om et kraftigt redskab til brug i matematisk forskning, der ledte til den store nysgerrighed og i sidste ende til at en ny naturvidenskabelig disciplin voksede frem. Algoritmebegrebet var der allerede, men det blev vigtigt da der kom maskiner, der kunne udføre vilkårlige algoritmer.

Selv ender jeg nogle gange, når jeg programmerer fordi jeg er nødt til det i forbindelse med en opgave på arbejdet, med at lave en underlig og uelegant løsning, netop fordi jeg hurtigt kan ty til at taste mit bud på en løsning ind og straks få at vide om det virker.

Flattr this!