Se mine penge

Jeg plejer at skrive om mit manglende held med at få eksterne forskningsmidler. De sidste to år har jeg i ugen op til sommerferien fået en kort mail fra EU-kommissionen om at den Horizon 2020-ansøgning, jeg har stået bag, er blevet afvist.

I denne uge skete der imidlertid et højst uventet brud på denne sommertradition: Jeg fik en mail fra EU-kommissionen om at den Horizon 2020-ansøgning, jeg er med i sammen med mange andre, er blevet antaget.  Så nu har jeg pludselig 18.000 euro til rejsemidler o.lign. i forbindelse med et projekt om at bruge typesystemer til at ræsonnere om API’er.

Æren er ikke så meget min, for jeg var ikke koordinator på ansøgningen, men det er en ny fornemmelse at opleve, at der faktisk er noget, der kan lykkes her. Jeg har kolleger, der helt rutinemæssigt underholder alle os andre med hvor mange eksterne forskningsmidler de har, og det kan godt være anstrengende at høre om andres succes. Så jeg lover at holde tand for tunge, men i denne uge vil jeg godt have lov til at være tilfreds.

Flattr this!

Men det er jo lovligt…

Studerende fra Sydafrika demonstrerer mod den danske afdeling af BAE Systems.

I denne uge havde jeg en kort diskussion med nogle kolleger og studerende om Aalborg Universitets partnerskab med BAE Systems, der udvikler og sælger overvågningssystemer til diktaturstater – og sælger våben til Saudiarabien, der bruger dem i sin krig i Yemen.

En studerende havde udtrykt sin bekymring over denne praksis. Kan vi virkelig leve med dét?  En af mine kolleger sagde hertil, at han godt nok slet ikke brød sig om hvad BAE Systems laver, men det er jo lovligt hvad de laver, tilføjede han, så derfor kan vi kun påvirke situationen ved at vælge nogle andre politikere.

Dette argument er umiddelbart tilforladeligt: Så længe en virksomhed ikke bryder loven, gør de ikke noget forkasteligt. Men kan dette være et tilstrækkeligt etisk grundlag? Og behøver Aalborg Universitet at være partnere med alle og enhver? Man kan jo godt sige nej, selv om pengene fra en virksomhed frister.

BAE Systems’ eksport til bl.a. Saudiarabien er kun lovlig, fordi Erhvervsstyrelsen og Udenrigsministeriet har tolket reglerne om dual use-teknologi på en bestemt måde. Den gråzone, BAE Systems lever af at operere i, er faktisk eksisterende.

Og derudover er der den akademiske verdens renommé (og den enkelte AAU-kandidats) renommé. Hvad gør det ved et dansk universitet at blive associeret med firmaer som BAE Systems? Det gjorde i længden ikke ret meget godt for Aarhus Universitet at blive associeret med Cheminova.

Lad mig bruge en analogi: Der er også en hel del softwareudviklere beskæftiget i pornoindustrien.  MindGeek, der har afdelinger i USA og Europa, er et eksempel på et sådant firma; det har bl.a. det ikke helt ukendte PornHub som datterselskab. Firmaet har tydeligvis ikke-trivielle kompetencer inden for softwareudvikling og multimedie-teknologi. Og det, de foretager sig,  nemlig at producere og publicere pornografisk materiale, er fuldt lovligt i Danmark og mange andre lande. Hvordan ville et dansk universitet have det med at have MindGeek som virksomhedspartner?

Flattr this!

Lær at snyde?

En artikel i New York Times tager fat i det problem, at mange datalogistuderende i USA bliver taget i at snyde, når de skal programmere. Der er masser af kodeeksempler derude, som dukker op i diskussionsfora som f.eks. StackExchange, og dem er det oplagt at bruge, hvis man selv sidder fast.

Jeg gør det også selv; jeg programmerer ikke ret tit, men for nylig skulle jeg opdatere et shellscript til at håndtere en hel masse filer afleveret af studerende. Her opdagede jeg at jeg ikke længere kunne huske, hvordan man tester om der ligger filer med en bestemt endelse i et bestemt katalog [ja, så rusten er min viden]. Så jeg fandt svaret på StackExchange-stedet StackOverflow og nogle linjer bash-kode, jeg kunne tage udgangspunkt i.

Dette er en helt gængs fremgangsmåde i programmeringssammenhænge. Men hvorfor må studerende så ikke gøre dette? spørger nogle så. En af dem er Matthew Hughes, der er en engelsk journalist. Og han hævder, at man i softwareudvikling bare skal have arbejdet gjort og derfor ikke følger principperne fra den akademiske verden. Derfor, siger han, bør datalogiuddannelserne gøre denne praksis med at tage andres kode til normen.

Men problemet er ikke, at man bruger andre menneskers kodestumper eller at man står på skuldrene af andre. Og problemet er heller ikke at en “uheldig” akademisk tradition står i vejen for effektivitet. er den manglende ærlighed, der opstår, når man ikke indrømmer, at man bruger andres kode.  Det er den sædvanlige bekymring om plagiering, vi har med at gøre. I open source-projekter skal man netop eksplicit kreditere hinanden, og det er faktisk en praksis, der stammer fra den akademiske verden. Richard Stallman, der om nogen er ophavsmand til open source-ideen, tilbragte som bekendt selv en del år i den akademiske verden.

Men hvad er egentlig praksis for at bruge andres kode? I nogle tilfælde er de bidrag fra andre, som man bruger, måske bare en linje, der viser hvilke valgfrie argumenter, en kommando skal have for at virke korrekt (sådan var det i mit tilfælde), og da er det reelt umuligt at kreditere, for der er her kun tale om minimale eksempler. Men for længere stumper kode er det helt anderledes.

Hvis studerende i deres projektarbejde anvender kode som andre har lavet, men gør tydeligt opmærksom på hvor de har gjort det og hvorfor, kan vi nemt se, hvad de studerende kan og hvad de ikke kan og om de studerende selv opfylder læringsmålene. Og det er dét, datalogiuddannelserne skal lære de studerende – at de altid skal kreditere andre for det, de ikke har lavet selv.

Hvis man f.eks. skulle implementere en parser for at opfylde læringsmålene for et projekt, men snupper koden for en parser fra andre, er det ganske gemen plagiering, hvis man ikke krediterer det, og et tydeligt tegn på at man ikke har vist, at man kan implementere en parser, hvis man krediterer andre for koden!

Flattr this!

Arkæologisk datalogi

En jobannonce fra 19. maj 2017

Da det seneste ransomware-angreb ramte, blev det almindeligt kendt at der i den danske hospitalsverden alene i Region Midtjylland er omkring 5000 computere, der stadig anvender Windows XP. Det er flere år siden, netop dét operativsystem sidst fik en sikkerhedsopdatering.

Det bliver tydeligt, at der er store udfordringer forbundet med at forstå, hvad der sker i gammel software. Og der er masser af gammel software derude. Ovenfor er der et eksempel på en jobansøgning fra Danske Bank; den nævner Java, C# og Python, som vore dages datalogistuderende typisk kender – men også COBOL og PLI/II, der er programmeringssprog med op til 50 år på bagen. De personer, der udviklede de oprindelige systemer i disse sprog, er ofte for længst gået på pension, og nogle er ikke længere iblandt os.

Alle de gamle systemer virker formodentlig fint, når de står alene, og de er ofte langt mindre oppustede end senere software, men de blev samtidig til længe før Internettet blev, hvad det er i dag. Derfor er der store udfordringer forbundet med at kunne analysere og reparere gammel software, og her er der en udfordring både for forskning og undervisning i datalogi. Selvfølgelig skal de af os, der er dataloger i den akademiske verden, ikke undervise studerende i COBOL og lignende, men vi skal kunne udvikle teorier og metoder, der gør det muligt at tage sig af de udfordringer, som gammel software udgør. Det er desværre ikke noget, vi gør så meget for at fremme i dag. I virkeligheden er denne “arkæologiske datalogi” nemlig en af de helt store udfordringer – og vil blive ved med at være det, for de programmer, der i dag er nye, vil også en dag blive gamle.

Flattr this!

Konferencedeltagelse og klimaforandringer

Jeg har ikke bil. Mit hus er blevet grundigt isoleret, og jeg spiser ikke animalske produkter. Men jeg flyver flere gange om året som del af mit arbejde for at deltage i akademiske konferencer eller for at besøge kolleger på universiteter i udlandet. Ifølge Air Transport Action Group er flyvning årsag til omkring 2 procent af den menneskeskabte udledning af CO2.

Så jeg belaster faktisk miljøet forholdsvis voldsomt, og dette har jeg ofte tænkt over. Der findes allerede en Conference CO2 Calculator, der kan give et estimat af miljøbelastningen ved at deltage i en konference.

SIGPLAN, der er ACMs særlige interessegruppe for forskning i programmeringssprog, har lavet et dokument med forslag til hvordan konferencer kan begrænses. Der er mange gode forslag, lige fra at man kan lægge konferencer på steder som de fleste ikke skal rejse så langt for at komme til, over at man kan slå konferencer sammen og dermed reducere antallet af rejser til at lave virtuelle konferencer.

Men det er en komplikation, at det i datalogi i modsætning til f.eks. matematik er tilfældet, at nogle konferencer er vigtigere publikationskanaler end mange tidsskrifter. Og det er en yderligere udfordring, at konferencerne ofte er det sted, hvor man mødes med sine forskerkolleger fra udlandet og dermed bliver det sted, hvor man omsider får mulighed for at tilbringe en stund sammen ansigt til ansigt.

Det er nemlig aldrig helt det samme at mødes på nettet. I min egen erfaring har jeg altid fået langt større udbytte af at kunne mødes ansigt til ansigt med de kolleger, jeg har samarbejdet med. Og skal jeg være helt ærlig, har jeg også haft en del gode rejseoplevelser alene ved at rejse til konferencer og se steder, jeg måske ellers aldrig ville have besøge: Georgien, Vietnam, Japan, New Zealand, Estland osv.

Men lad ikke dette være undskyldninger for ikke at gøre noget. Vi er nødt til at handle, for ellers kommer der en dag, hvor afholdelse af akademiske konferencer bliver den mindste af vore bekymringer. Den store udfordring bliver at skabe en attraktiv måde at mødes på uden at man behøver at rejse. Og måske bliver en sidegevinst af denne situation, at publikationskulturen i datalogi bliver “normaliseret”, så tidsskrifter igen bliver vigtigere end konferencer.

Flattr this!

Datalogi og humanisme

Det er et interessant indlæg i Wired af Emma Pierson, der er en amerikansk PhD-studerende i datalogi ved Stanford University.

Hun skriver om den manglende forbindelse mellem datalogi og etiske spørgsmål. Til Coursera arbejdede hun f.eks. med at lave et recommender system som studerende kunne bruge til at hjælpe sig med at finde relevante kurser baseret på bl.a. den studerendes køn, men så opdagede hun at sådan et system, netop fordi der er få kvinder, der vælger datalogi, simpelthen aldrig ville anbefale kvindelige studerende et datalogikursus. Sådan et system ville bare forstærke den i forvejen meget skæve kønsfordeling.

Jeg er bange for at Emma Pierson har helt ret. Mange dataloger er meget bange for politiske og etiske diskussioner. De underlige ikke-diskussioner om forbindelsen til f.eks. militær og overvågningsindustri er et tegn på dette. De mærkelige studenterprojekter,  hvor studerende laver programmer til styring af en kanon, men aldrig overvejer om og hvorfor mennesker skal skydes på, er et andet.

På vores datalogi- og softwareuddannelser på Aalborg Universitet er der kursusaktiviteter, der skal anspore til etiske diskussioner, men de handler mest om forskningsetik (der selvfølgelig også er et vigtigt emne). Men ellers er det småt med overvejelserne. Måske er det frygten for at blive set som politiserende og derfor useriøs, der spiller ind. Hele den daværende regerings bredside mod “eksperter og smagsdommere” og frygten for at rage uklar med de eksterne kilder, der skal kunne finansiere forskning, har sikkert også været medvirkende til at mange går stille med dørene.

Der tales meget om ansættelighed og om at kandidater fra datalogiuddannelserne skal kunne fungere godt i samfundet. Ofte er det dét, der bruges til at fokusere på samarbejde med virksomheder. Men alligevel: Hvorfor skal det stoppe der? Hvis jeg skal vide mere om samfundet og de svære beslutninger, vi står over for, er jeg nødt til at etablere en kontakt til dem, der ved noget om disse områder. Vi kunne invitere vores kolleger fra andre fag og medarbejdere fra humanitære organisationer til at holde seminarer for os med helt andre perspektiver – og vi kunne få de studerende med til den slags aktiviteter.

Flattr this!

Tim Berners-Lee

Jeg er så gammel, at jeg kan huske Internettet, da der kun var e-mail, FTP, Usenet, Internet Relay Chat og noget, der hed Gopher, som kun få brugte. Dengang, fra 1987 og frem til begyndelsen af 1990’erne, var der ikke mange, der lod sig imponere af mine beretninger om hvor nemt det var at sende data fra det ene land til det andet. Men så, i 1994, spurgte Lars Albertsen, som jeg det semester var vejleder for, om jeg kendte et nyt program, der hed Mosaic. Det gjorde jeg ikke, men jeg kom hurtigt til at blive flittig bruger af denne, den første webbrowser. Nogle måneder senere fortalte WAP os om AltaVista-søgemaskinen, og også her blev jeg hurtigt en flittig bruger. Fluks fortalte jeg min daværende kæreste (som var på samme institut som mig) om AltaVista – og så var hun også fanget ind. Det, vi havde lært at besøge, var World Wide Web.

I dag kunne jeg læse at Tim Berners-Lee modtager ACMs Turing Award i år. Og det er da også på tide, for netop Berners-Lees betydning kan ikke overvurderes. Uden hans opfindelse af World Wide Web ville Internettet ikke se ud, som vi kender det i dag. Denne blog ville ikke eksistere, hvis ikke det var for WWW. De fleste mennesker uden for datalogi taler ikke om WWW, men opfatter det som synonymt med Internettet.  Alene dét viser begrebets betydning.

Og så er det da også interessant, at Turing-prisen endnu en gang går til en person, der oprindelig ikke er datalog – Tim Berners-Lee har en bachelorgrad i fysik og arbejdede i den egenskab for CERN, da han fandt på WWW.

Flattr this!

Årets dementi

Gårsdagens blogindlæg var præget af datoen. Det er korrekt, at jeg holder meget af at programmere i moderne, typesikre programmeringssprog med gode og teoretisk velfunderede struktureringsmekanismer. Men forbindelsen til programmeringssproget C er en non sequitur, som vi siger på latin.

Flattr this!

Glæden ved C-programmering

Jeg holder meget af at programmere i C; som universitetslærer i datalogi har jeg rige muligheder for at skrive kode, og derfor gør jeg det ofte og gerne. Der er en særlig glæde forbundet med at anvende et moderne, typesikkert programmeringssprog med gode og teoretisk velfunderede struktureringsmekanismer, og derfor opfordrer jeg altid studerende til så vidt muligt at holde sig til C og de andre sprog fra C-familien og til altid at have disse sprogs gode designprincipper in mente.

Flattr this!

Informationsteknologi eller datalogi

Ikke helt få har delt et interview med Bjarne Stroustrup fra dagens udgave af dagbladet Information. I interviewet siger Stroustrup om brug af en computer i undervisning:

»Man skal kun bruge den, når der er bevis for, at man får bedre resultater end ved at tale sammen eller bruge pen og papir,« siger han.

»Hver time, der er brugt på at lære et barn Word eller Google, kunne være brugt på noget andet: historie, litteratur, matematik, biologi, fransk, gymnastik eller en tur i skoven. Kun hvis den tid, der bruges på it, hjælper med den bredere uddannelse, er den godt brugt. It er et værktøj, ikke et mål i sig selv.«

Jeg er enig i hans betragtninger. Det, der gør computeren til et væsentligt redskab, er at den er en programmerbar maskine. Hvis man ikke vil fremhæve dette i undervisningen, bør man lade være at bruge computere. Det er lige så lidt et mål at man skal bruge en computer i sig selv som at man skal lære at bruge bøger i sig selv.

Inden for datalogiens fagdidaktik og inden for uddannelsesforskning har man i en del år talt om computational thinking, og det er noget ganske andet end at være bruger af en computer. I computational thinking er fokus, at der er en bestemt algoritmisk måde at tænke på, som dukker op i mange fagområder – måske endda alle. Algoritmer giver os en systematisk metodologi, og fordi algoritmer er generelle, gør de det muligt for os at tænke i termer af abstraktion. Og fordi algoritmer kan afvikles af en computer, gør algoritmer det muligt at automatisere arbejdsopgaver (herunder bestemte tanke-opgaver). Vi har at gøre med nogle grundfaglige begreber, ikke med simple anvendelser af elektroniske kasser.

Netop disse begreber – algoritmer, abstraktion og automatisering – dukker op i en ny artikel fra Communications of the ACM, i hvilken Aman Yadav, Chris Stephenson og Hai Hong (forskere fra henholdsvis Michigan State University og Google) belyser hvilke krav dette stiller til opkvalificering af lærere.  I Danmark er det desværre begrænset, hvilke initiativer, der findes på området. Ligesom man ikke skaber bevidste brugere af tale- og skriftsproget ved blot at indkøbe bøger til skolen, kommer man aldrig ud over den primitive “Word og Google”-(mis)forståelse ved blot at købe computere og andet grej ind til skolerne. Der er nødt til at være et systematisk samarbejde mellem datalogimiljøer på universiteterne og læreruddannelserne. Og her så jeg gerne, at vi startede med at sende begrebet “informationsteknologi” i skammekrogen med alle de uheldige konnotationer, dette begreb har.

Flattr this!