Om mig

Jag föddes 1973 i Köpenhamn. Mina föräldrar var barn av sin tid, och jag minns mina första år i en av den danska hippiekulturens högborgar, stadsdelen Brumleby. På sjuttiotalet hade dessa lägenheter inga badrum och endast gemensamma toaletter på gården. Men området var helt bilfritt, så vi barn fick springa omkring och leka som vi ville (det gjorde de vuxna med för all del).

Strax innan jag skulle börja i skola flyttade vi ut på landet i en liten avsides kommun i Jylland. Jag växte upp omgiven av bönder och fick se vardagens aktuella göromål dikteras av årstiderna. När det blev skördetid gick alla upp extra tidigt och jobbade till sent på kvällen. Under vintern fanns det mer ledig tid. Vi barn körde traktor på ödefälten och byggde kojor i skogen. Vi lekte i lador, maskinhallar och stallar, och när det bjöds på snö åkte vi pulka på de många backar som finns i denna landsdel.

Jag lärde mig snabbt att läsa, och böckernas fantasifyllda värld fick stort utrymme under resten av min barndom. Samtidigt älskade jag att sjunga, och jag älskade läxor. Mitt förhållande till grundskolan som institution var dock ambivalent. Å ena sidan ville jag lära mig så mycket jag kunde, å andra sidan var jag en fruktansvärd busunge som älskade att provocera lärarna och ställa till med problem av olika slag. Jag tyckte att undervisningstempot var för lågt, och vardagen i skolan var oftast tråkig – så jag kryddade den med diverse rackartyg. Min respekt för auktoriteter var relativt liten (och det är den fortfarande, på gott och ont).

Under mina tidiga tonår var jag i princip redo att fly. Jag minns att jag ville ut och se världen, uppleva världen. Men min låga ålder hindrade mig från att verkställa detta. Istället fantiserade jag om min framtid, och jag hade flera fiktiva livsöden att välja mellan när tillvaron blev för grå.

Så snart jag fyllde 18 hoppade jag av gymnasiet, flyttade till storstaden Aarhus och började leta efter spännande människor. Efter ett par år insåg jag att det fanns gott om sådana individer både på universitetet och inom musikbranschen.

En människa består av flera (delvist överlappande) delar. Nedan följer en kortfattad presentation av det jag anser vara mina viktigaste beståndsdelar.

Klicka på rubrikerna för att öppna/stänga avsnitten.

+ Matematikdelen

Jag har alltid älskat tal. Vid tre års ålder hade jag lärt mig att räkna till 1000, och vid åtta års ålder löste jag min första andragradsekvation. Sedan tog det stopp på grund den kreativitetsdödande effekt grundskolan har på många barn, och inte förrän gymnasiet hittade jag tillbaka till matematiken. Jag insåg så småningom att jag ville bli matematiker (vilket jag inte blev).

På Aarhus Universitet läste jag grundläggande matematisk analys samt linjär algebra. Samtidigt blev jag i synnerhet intresserad av talteori. Jag minns att jag på fritiden grävde ner mig i de gamla texterna (Euler, Gauss, Lagrange med flera) och så småningom kom jag till Hilberts problem, Russels paradox, Gödels ofullständighetssatser och Turingmaskinen. Det stod klart för mig att axiomatiska system var mitt främsta intresseområde. Fortfarande älskar jag de dagar då jag får möjlighet att dra mig undan allt (utom espressomaskinen) och nörda ner mig i matematisk logik och metamatematik. Jag har även hittat på en del roliga saker under årens lopp (se avsnittet Essäer).

På Göteborgs universitet läste jag logik, abstrakt algebra och mer analys, men så småningom tog de datavetenskapliga frågorna över och jag bytte spår. Sedan tog musiken över – och därefter startade jag OffCircle och plötsligt hade det gått ytterligare femton år.

Matematiken finns kvar som en viktig del av mitt liv. Jag håller fortfarande populärvetenskapliga föredrag om matematik och logik. Dessutom har jag hållit workshops i programmering för matematiklärare där fokus ligger på problemlösning samt användning av automatisering som matematiskt verktyg.

Brute force är en illa ansedd problemlösningsmetod inom matematiken. Men faktum är att många problem kan lösas snabbt med ett väloptimerat skript istället för många timmars tankearbete. Kombineras programmeringen med en noggrann analys av den matematiska situationen (eller modellen) kan brute force vara en elegant lösning, anser jag, och ofta lyckas jag lösa problem på detta okonventionella sätt. Ibland segrar pragmatiken över teorin, åtminstone när det gäller kortsiktig snabbhet och kostnadseffektivitet.

Jag har planer på att så småningom involvera mig i den (mer eller mindre offentliga) debatt som ibland blossar upp när det gäller utbildningssystemets förhållande till grundläggande matematiska kunskaper. Vi behöver duktiga matematiker i framtiden, men att lära ut saker som är direkt fel och dessutom prioritera så kallade digitala läromedel högre än gammaldags papper-och-penna-deduktion motverkar detta mål. Matematik är en exakt vetenskap som kräver precisa definitioner, koncentration och tålamod.

+ Programmeringsdelen

Redan 1985 fick jag min första dator, ett exemplar av den populära modellen Commodore 64 som hade en inbyggd tolkare för programspråket BASIC. Ett par år senare fick jag åtkomst till en maskin med IBM's operativsystem PC-DOS, en sorts föregångare till dagens Windowsdatorer. Jag lärde mig då språken Pascal, COBOL och C (Pascal har jag inte använt sedan jag var tonåring).

I denna period fick jag även några av mina första "uppdrag" som programmerare, bland annat kan nämnas ett poesiprogram för utskrift av autogenererade dikter som konstruerades utifrån en algoritm till vilken Steen Krarup Jensen (min far) var upphovsman. Hösten 1989 var denna diktgenerator med på en stor konstutställning i Köpenhamn och fick en del uppmärksamhet i dåtidens analoga medier.

Ett annat av mina tidiga "projekt" var ett litet skript för att räkna ut falska personnummer. Strängt taget var det olagligt att använda skriptet, men denna ogärning har förhoppningsvis preskriberats, så här kommer historien:

På den tiden bodde jag i Aarhus och för att kunna åka med lokaltrafiken behövdes giltig biljett – och det fanns gott om fattiga studenter. Dyra biljetter var ett problem som måste lösas, ansåg jag. Det gick bra att kliva på bussen utan biljett, men biljettkontrollerna var frekventa och kontrollanterna hade en liten apparat med sig i vilken de kunde skriva in ett personnummer för att säkerställa att det var ett giltigt sådant. Detta var innan det mobila datanätet fanns, och kontrollanterna hade ingen uppkoppling, så någon direktförbindelse till ett personregister kunde inte etableras på plats.

Med mitt skript, som kunde köras på de flesta av dåtidens programmerbara miniräknare, var det enkelt att generera ett nytt personnummer som sedan memorerades, innan bussresan. Många använde sin vanliga födelsedag och bytte endast ut de sista fyra kontrollsiffrorna mot de nya "giltiga" siffrorna. När kontrollanterna dök upp behövde resenären bara meddela att ingen medhavd legitimation fanns och sedan uppge ett valfritt namn samt det memorerade "personnumret". Först efter kontrollanternas arbetspass blev det upptäckt att namn och personnummer inte stämde överens – och någon straffavgift kunde sålunda aldrig skickas till fuskaren.

Ett tag var det så många som använde denna metod att fenomenet nämndes i en av lokaltidningarna. Så småningom ändrade kontrollanterna strategi, och mitt bidrag till samhället (som jag med ungdomlig entusiasm kallade Gratis kollektivtrafik till studerande och andra behövande) slutade fungera.

Under början av 1990-talet utvecklade jag ett litet bortglömt strategispel. Jag fick även i uppdrag att bygga drivrutiner för diverse skrivare och andra externa enheter som på den tiden ofta drabbades av kompatibilitetsproblem. Rent pengamässigt gav det inte mycket, men lärorikt var det.

Sedan tog jag några års paus från all teknik och våren 1994 bosatte jag mig i en kolonistuga utan el. Jag installerade ett litet lokalt kraftverk bestående av ett lastbilsbatteri samt en bensindriven generator för laddning, backup samt diverse dammsugnings- och byggprojekt. Med gasoldrivna vitvaror i köket (och 12V-batteriet för lampor, tv och radio) fungerade vardagen hyfsat. I denna period fokuserade jag på musik och poesi samt de matematikkurser jag läste på Aarhus Universitet, och samtidigt reflekterade jag mycket över begrepp som informatik och cybernetik. Jag insåg att jag behövde mycket mer teori innan jag ens skulle kunna välja vad jag ville syssla med.

Hösten 1996 bytte jag universitet och flyttade till Göteborg. Då lämnade jag helt autodidaktiken och de pragmatiska metoder som tidigare hade präglat mitt arbetssätt. Istället blev jag intresserat av datalogiska problemställningar och sommaren 1998 påbörjade jag teoretiska studier i numeriska metoder, algoritmer och övriga ämnen med relevans till systemering. Samtidigt läste jag fysik, och mer matematik. I denna period programmerade jag primärt i C, C++, Fortran, MATLAB och Mathematica, men även Visual Basic och Prolog dök upp i arbetsflödet ibland.

Jag slutförde aldrig något program vid universitetet. Istället läste jag fristående kurser och valde inriktning enbart utifrån intresse, mer eller mindre slumpmässigt och utan mål. Samtidigt började jag jobba extra i ett företag med teknisk utveckling som affärsområde. Det gav mig en bra erfarenhet när det gäller att omsätta teori till praktik. Jag var bland annat involverad i konstruktionen av prototypen för en medicinsk apparat för detektering av hudcancer.

Strax innan vårterminen 2001 blev en av mina lärare vid universitetet klar med sin avhandling och bytte jobb. Jag fick i uppdrag att ta över två kvällskurser i hårdvaruprogrammering inom området fysikalisk mätteknik. Detta var mitt första undervisningsuppdrag någonsin, och jag minns att jag under några intensiva veckor satt på Chalmers' bibliotek och grävde mig igenom hela C99-standarden.

Efter en termin utvidgades denna verksamhet och därefter hade jag hand om fyra kurser. Under åren 2001 till 2003 höll jag totalt 175 föreläsningar och lika många laborationer. I undervisningen byggde vi system för mätning och styrning, med fokus på laboratorieutrustning. Vi använde LabWindows/CVI (en utvecklingsmiljö som påminner om LabVIEW men med C som språk) tillsammans med ett tillägg till Visual Studio som heter Measurement Studio (så C++ kunde användas med det GUI som skapades med LabWindows/CVI).

Hösten 2003 började jag undervisa i C++ en halv dag i veckan på Göteborgregionens Tekniska Gymnasium – ett uppdrag jag fortfarande har.

Runt 2004 bytte jag delvist spår och började alltmer syssla med webbutveckling. Jag lärde mig JavaScript (och självklart HTML och CSS) och jobbade ett tag som frilansande utvecklare på klientsidan (det som numera kallas frontend).

Hösten 2006 startade jag OffCircle som jag drev i 15 år. Under dessa år var jag involverad i ett femtiotal projekt som hade med programmering att göra. Utöver alla tidigare nämnda språk fick jag erfarenhet av Python, Java och C#.

En explosiv spridning av ramverket WordPress medförde att serverspråket PHP blev allt viktigare. Numera är detta språk en av mina främsta kompetenser, och jag har under årens lopp konstruerat och uppdaterat ett stort antal teman och tillägg till WordPress. Ytterligare en massa backend-arbete har gjort att jag idag betraktar mig som fullstack-webbutvecklare. Jag är även duktig på modellering och har erfarenhet av simuleringar (då är det oftast C eller C++ som gäller). Jag har även varit med i utvecklingen av flera mobilapplikationer.

I början av höstterminen 2019 utkom boken C++ på riktigt i vilken jag har samlat essensen av arton års undervisning i grundläggande programmering. Ett par gånger har jag även hållit kurser i Python, vilket har resulterat i e-häftet En ultrakort introduktion till Python som skrevs sommaren 2021.

Kunskap är en sak, noggrannhet en annan. Det finns många företag som erbjuder programmering, men särskilt inom webbprogrammering finns det även många som skapar saker som inte fungerar. Min specialitet har under årens lopp varit att utföra en noggrann granskning av det som krånglar, identifiera problemen och sedan lösa dem. Den sortens uppdrag har jag alltid tyckt mycket om.

+ Musikdelen

Mer information kommer snart.

+ Textdelen

Mer information kommer snart.

+ Bilddelen

Mer information kommer snart.

Kontakta mig

Skicka e-postSkicka smsLinkedIn
x
English