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!

Ved F-klubbens 40-års jubilæum

Gensyn med F-klubbens gamle for- og bagmand Per Madsen.

I dag fejrede F-klubben sit 40-års jubilæum, og der var ganske mange til stede i kantinen på Selma Lagerlöfs Vej 300. Også nogle gamle kandidater havde fundet vejen forbi. Det var hyggeligt at gense dem; og heldigvis var F-klubbens formand gennem en årrække, Per Madsen, også blandt dem, der kunne være til stede og holde en tale med indtryk fra en lang og broget og uformel historie. De første indslag var med Finn Verner Jensen, der var med til at oprette F-klubben, og institutleder Kristian Grønborg Olesen, også et trofast og mangeårigt medlem. Selv har jeg kun være medlem i knap 34 år, men jeg blev alligevel bedt om at holde tale.

Desværre må jeg ikke tale for tiden, så min tale kunne jeg ikke holde selv. Tak til Jane Billestrup, der sørgede for at holde den på mine vegne!

Herunder er den i sin helhed.


Tale ved F-klubbens 40-års jubilæum

I sidste uge pådrog jeg mig en mere end almindeligt stædig influenza, som til sidst besluttede sig for at besøge mine stemmebånd. Lige nu kan jeg slet ikke tale –- eller rettere: Det kan jeg måske, men min læge siger at jeg skal la være med at prøve. Det er derfor, det ikke er mig, der holder denne tale.

Jeg blev medlem af F-klubben tilbage i september 1983, da jeg var en vred ung matematikstuderende og Afdeling for matematik og datalogi, som det hed dengang, holdt til inde i midtbyen på Strandvejen 19

Der er et gammelt halvfjerdserhit som har en linje, der lyder “you can check in any time you want, but you can never leave”, og sådan er det også med F-klubben. Én gang medlem, altid medlem. Der er ikke noget i vedtægterne, der beskriver hvordan man melder sig ud. Det kan man nemlig ikke.

Og ja, der var en masse halvfjerdseratmosfære over F-klubben dengang, men det er lige præcis derfor, den betød så meget for mig.

F-klubben havde et større arsenal af fjollede traditioner. Mange af dem opdagede jeg i løbet af mine første uger som medlem.

F-klubbens generalforsamling var sådan en tradition — en mellemting mellem et beruset møde og en fest, men bagefter var der altid en rigtig fest.

Til generalforsamlingen var en af de særeste traditioner nok den med næsen. Jeg har ingen anelse om hvem der egentlig fandt på i ideen, men allerede i 1983 var den særdeles veletableret. Jeg hørte første gang om næser netop under generalforsamlingen, da dagsordenen nåede til punkt etellerandet. En næse var en officiel påtale i form af en plasticnæse med krav om at man skulle bære samme resten af aftenen.

Dén aften kom der flere potentielle næsemodtagere i forslag, og derpå fulgte en længere, måske ikke helt ædru drøftelse — og derefter skete der ingen verdens ting. Men derefter oprandt stunden, hvor man skulle tale om rehabilitering af næser.

Det stod imidlertid hurtigt klart for mig at vedtægterne heller ikke sagde noget om den slags. Én gang næse-indehaver, altid næse-indehaver.

Det forhindrede imidlertid ikke En Vis Person i at give en lang og snørklet (nogle ville sige lidenskabelig) forsvarstale om uretfærdigheden i at have fået en næse året forinden — eller var det mon flere år tidligere? Ingen var helt sikre på det, virkede det til, og egentlig var det vel også ligegyldigt. Vi fik hele klagesangen under alle omstændigheder. Efter hvad jeg kunne forstå, havde En Vis Person og visse af hans medstuderende bestemt sig for at tage en enkelt øl en fredag eftermiddag. Men én øl førte til flere, og til sidst var køleskabet tomt, og lageret ligeså. En mindre krise fulgte, og det var denne krise, der havde gjort at En Vis Person havde fået næsen sidste år (eller et eller andet andet år)

Netop denne Visse Person bar forresten navnet Kristian. Rygtet vil vide, at han i dag er institutleder et sted på dette universitet. Så vidt vides er han holdt op med at få sin næse (den af plastik) omstødt.

En anden tradition var Miss F-sektor (af en eller anden grund var det ikke “Miss F-klubben”), en skønhedskonkurrence som blev afholdt under festen efter generalforsamlingen. Den forsvarende Miss F. var Preben Dahl Vestergaard, som dengang underviste os i “Funktioner af flere variabler” (han er i dag gået på pension) — men den aften skiftede kronen (eller plastichjelmen, som det retteligt var) ejer. Den nye Miss F-sektor var en muligvis lidt forbeholden datalogistuderende på 8. semester ved navn Jan. Rygtet vil vide at også han er kommet videre i livet og i dag har en akademisk stilling på dette institut og aldrig har forsøgt at udnytte sin fortid som skønhedsdronning.

Noget af det, der var rigtig godt ved F-klubben var, at alle var med – studerende og ansatte. Det var ved F-klubbens festlige lejligheder, at man fik mulighed for at se de lidt mere uformelle sider hos dem, man blev undervist af. I så henseende opdagede jeg snart, at F-klubbens julefrokost var en klassiker. Desværre er der ikke mange, der husker meget fra disse seancer — om end jeg har en svag erindring om visse mennesker, der engang sad fast i en godselevator. Og nej, jeg var ikke blandt dem.

Årene gik, jeg endte i et anfald af ufornuft med at blive kandidat og endte til sidst på den anden side af katederet. På et tidspunkt endte F-klubben desværre også på den anden side af katederet; den havde nu fået ru for at være sådan et sted, hvor kun studerende var med. Væk var den tidd, hvor man kunne se ellers respektable akademikere slå sig løs. I stedet fik vi de den officielle institutjulefrokost ved Institut for datalogi, og den er præcis lige så festlig som navnet antydet (eller måske i virkeligheden lidt mindre festlig end dét).

Tiderne skifter, som en anden gammel sang siger det (eller også er det navnet på et forlag). Sidste efterår tilbragte jeg på Institut for matematiske fag, og her opdagede jeg at nogle af de gamle ideer og noget af ånden fra F-klubben ser ud til at have levet videre. Det fik mig til at indse hvor meget jeg havde savnet både matematik og F-klubbens gamle ånd, og jeg indså at matematik i lige så høj grad bærer F-klubbens ånd videre som datalogi gør (eller gerne vil mene at gøre).

I sidste måned flyttede jeg så kontor igen, og nu tilbage til Institut for datalogi. Jeg har nu kontor lige oven på et sted i bygningen, hvor F-klubben færdes. Jeg burde nok gå lidt oftere nedenunder.

Så ja, selv om jeg ikke kan forlade F-klubben, er jeg desværre ikke det medlem, jeg var engang. Jeg savner det, og jeg savner de fjollede traditioner som kan hjælpe os med at få hele effektivitetscirkusset på afstand engang imellem. Jeg savner især de festlige lejligheder, der kan bringe studerende og ansatte samme og lade os slå os løs. Det bør vi gøre noget ved.

Nogle gange er det som om det faktisk ikke er tilladt at slå sig løs. Studerende skal bestå så mange eksaminer som muligt så hurtigt som muligt, og universitetslærere burde se at få sig nogle flere eksterne forskningsmidler, så de kunne publicere noget mere og få sig frikøbt for undervisning (den slags er alligevel en opgave for udenlandske PhD-studerende). Visse danske politikere har fundet på alle disse såkaldte reformer, der gør al denne mangel på morskab mulig. Tilbage i 1983, da jeg blev medlem af F-klubben, var selvsamme politikere stadig travlt beskæftiget i børnehaver rundt om i landet.

Hvis der var nogen, der skulle have en næse i vore dage, var det dem.

Flattr this!

Enormt boligt – eller: Datalogi i folkemunde

Det er interessant at se, hvad potentielle studerende har skrevet  i diskussionsfora på nettet om datalogiuddannelserne på Aalborg Universitet i årenes løb. Én skrev:

Jeg har været på datalogi i ét år på Århus universitet. Jeg vil ikke anbefale det. Det er enormt boligt og meget lidt praktisk. Ydermere skal man have Calculus hvilket er matematik på et lidt højere niveau end A, som jeg fandt meget besværligt (og unødigt).
Jeg vil derimod anbefale Aalborg Uni. Jeg har hørt det er langt mere praktisk deroppe.

Et andet, sted i et andet forum, skrev nogen derimod

Datalogi ved Aalborg Universitet er meget gruppeorienteret, hvilket er en god ting. Dog lægger de meget vægt på det teoretiske, hvilket både er en fordel og en ulempe.

Og en tredje skrev skrev:

AAU er har meget fokus på gruppearbejde, og ikke tung matematik. Det er også eneste sted i Danmark man kan blive optaget på CS uden Matematik A.

(Dette passer ikke. Man skal have bestået matematik på A-niveau, selv på Aalborg Universitet.)

Det er lærerigt at få disse glimt ind i en opfattelse af hvordan de uddannelser, jeg har med at gøre, bliver opfattet udefra. Jeg ved ikke, om jeg ville kunne genkende uddannelserne som nogen, jeg har forbindelse til, hvis jeg læste ovenstående uden at vide hvilket universitet, der var tale om.

Og så bemærker jeg, at der findes “skjulte informationskanaler”, der former kommende studerendes opfattelser af uddannelserne og nogle gange måske gør dette på en uheldig eller selvmodsigende måde. Hvad man skal gøre ved det fra universiteternes side, ved jeg ikke. Et første skridt ville være at være til stede i de fora på nettet, hvor kommende studerende får grundlagt deres forståelse og misforståelser.

Flattr this!

Stadier af misforståelse

I år underviser jeg nu igen om kurset Syntaks og semantik, og her er et af emnerne automatteori – til ikke-datalogikyndige læsere kan jeg oplyse at dette emne er helt fundamentalt inden for datalogi. I automatteori er et af de helt centrale begreber en tilstand. I sandsynlighedsteori (specielt i teorien for stokastiske processer) og rundt omkring i fysik taler man også om tilstande. Jeg har været nødt til at anvende en lærebog på engelsk, og det engelske ord for tilstand er state.

Men allerede til første kursusgang opdagede jeg at studerende i stedet var begyndt at tale om “stadier”. Jeg aner ikke, hvor dette ord kommer fra. I alt mit undervisningsmateriale – podcasts, websider og opgavesæt – og i al min mundtlige kommunikation bruger jeg selvfølgelig helt konsekvent ordet tilstand. Nogle studerende bliver ved med at tale om “stadier”, også efter at jeg gentagne gange har fortalt dem, at de bruger et ikke-eksisterende “fagudtryk”! Den hjemmelavede pseudo-terminologi er på dette tidlige tidspunkt i undervisningsforløbet åbenbart så indgroet hos nogle studerende, at de ikke kan holde op med at bruge den. Det er virkelig underligt (og træls) at opleve.

Jeg kan ikke lade være med at spekulere på hvor så mange studerende får netop denne misforståelse fra. Nogle misforståelser i naturvidenskab skyldes at en naturvidenskabelig forklaring strider mod den dagligdags forklaring – og så forsøger den lærende at forene de forklaringer på ukorrekt vis (Kirsten Paludan har skrevet en rigtig god bog om dette).

Men her er tale om blot et enkelt ord. Nogle studerende forsvarer sig her med at de er så gode til engelsk, at de blot oversætter fra lærebogen, der er på engelsk. Men det engelske ord for “stadie” er stage! Så på den måde er de pågældende studerende jo ikke så gode til engelsk endda. Måske ender de studerende med at “gå i skoven” sammen, hvis de taler om automatteori med hinanden. Én af dem bruger ordet “stadier”, de andre opsnapper det og forsvinder derefter sammen ud i den fælles skov af misforståelser.

Som sagt: Jeg ved ikke, hvor “stadier” opstår. Måske er der tale om en “folkeoversættelse” som er oplagt, hvis man har dansk som førstesprog. Måske viser eksistensen af “stadier” noget om hvordan der foregår en uformel læring i fællesskaber af studerende (den berygtede skov findes måske?); en undersøgelse af det ville være en øvelse i antropologi! Hvis jeg havde tid nok, ville jeg i al fald undersøge det systematisk. Og jeg ville meget gerne finde ud af hvordan jeg kan slippe af med de forbandede “stadier”.

Flattr this!