Stockholms Stad, lägg av! Ni fattar ingenting!

Bakgrund


Vi är många som följt utvecklingen av skolplattformen under ett par år. Vi har fått vara med när säkerhetsbrister uppdagas, helt orimliga summor visat sig ha spenderats och en app som tas fram, obetalt och av medborgare, som ett svar på en undermålig produkt. Nu får vi se hur Stockholms Stad svarar med en polisanmälan av denna app. En polisanmälan!

Inte utan att man tänker på Nationalteaterns låt som börjar med: Lägg av! Ni fattar ingenting! Lägg av!

Känslan är att verkligheten överträffar dikten. Stockholm har skapat en riktig “doku-såpa”. I flera säsonger. Vi Göteborgare kunde inte se förbi detta och gjorde ett tappert försök att skapa IT-rubriker också. Men det blev en kort, om än ganska underhållande, serie om hur eposten låg nere på tok för länge på GU. På grund av att backup inte gjordes. Man tänker ju att detta borde ge oss Göteborgare någon form av pris på någon TV-gala. Men icke, Stockholm går all-in och satsar miljarder för att ta hem priset.

Mina tankar

Jag var lärare på Göteborgs Universitet och Chalmers under flera år och pratade ofta med studenter som suckade över att de behövde lära sig så mycket tekniskt om IT. Jag tog lika ofta upp är att de som blivande yrkesverksamma inom IT också behöver kunna IT så att de inte blir blåsta av leverantörer. De behöver veta om det verkar rimligt med X timmar och Y kronor för IT-system de kanske
skulle vara med och beställa. Önskar nästan att jag fortfarande var lärare nu – vilket pedagogiskt tillfälle Stockholms Stad skapat.


Vad vi, enligt mig, ser nu, bland annat i form av polisanmälan, är effekterna av bristande kompetens inom IT. Man kan inte beställa IT-system om man inte förstår ens grunderna inom IT. Måns Jonassson visade, med en enkel och pedagogisk film på ett enkelt sätt hur klient och server delar information med varandra. Om man förstår denna film så förstår man det orimliga i Stockholms Stads polisanmälan. Om man inte har koll på ens detta skall man inte beställa några IT-system. Punkt. Tyvärr känns det som om problemet med bristande IT-kompetens inte bara gäller Stockhoms Stad. Jag har sett samma brist hos lärare på flera skolor (ja, även på GU om du undrar).

Jag vill poängtera att jag inte säger att alla måste kunna IT. Men för att jobba med IT måste du åtminstone förstå grunderna inom IT. Och grunderna inkluderar teknik.

Många betydligt klokare än jag har uttryckt sig i frågan. Men jag dristar mig ändå klämma ur mig några tankar:

  • Vad för ansvar har leverantören? Att leverera att system med så många säkerhetsbrister mot en sådan prislapp borde resultera i något i stil med näringsförbud. Vad för ansvar har bolaget? Hur dåligt får man egentligen leverera?
  • Polisanmälan som gjorts verkar tyda på en bristfällig kompetens om hur vanliga IT-system fungerar. Har ansvariga i Stockholms Stad så dålig kompetens? Är det månne leverantörens förklaringar och kompetens som lyser igenom?
  • Magnus Hagander skrev klokt på twitter hur Stockholms Stad hade kunnat rädda det hela genom att visa ledarskap i samband med att Öppna Skolplattformen dök upp. Alla gör vi misstag. Jag har förmodligen gjort fler misstag än de flesta. Jag har varit med om att skriva dåliga så väl som bra IT-system. Men det gäller att inse sina misstag när man gör dem, står för dem och gå vidare. Stockholms Stad gör precis tvärtom.

Nu har jag svartmålat en hel del så jag vill avsluta med att säga ett par positiva saker. Jag har så klart träffat kompetenta människor inom Chalmers och GU. Jag har sett kommuner med liten budget tar fram fungerande system (även skolplattformar) med en Öppen Programvaru-licens som de vill dela med sig till andra. Kammarkolleiget har jobbat med avrop där Fri/Öppen Programvara beaktas. Och så vidare. Det finns kompetens i Sverige.

Men om vi skall digitalisera Sverige behöver vi folk som kan IT. Det räcker inte med att veta att det finns ett något som stavas IT.

Behöver vi höja IT-kompetensen hos myndigheter i Sverige? Hur gör vi, i så fall, det?

Tips för er som vill lära er lite om IT:

  • Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security av Brian W Kernighan
  • Millions, Billions, Zillions: Defending Yourself in a World of Too Many Numbers av samma författare.

Ja, det är en del sidor att läsa. Men det finns liksom inga genvägar. Min forna kollega (Rikard) och jag tog fram en (fritt tillgänglig) kurs (text, video, övningar) vi höll på GU. Kursen introducerar IT. Kanske kan den vara något att ha?

Studenternas fel att jag lämnar Univ nu

Sedan ett par veckor har studenter frågat mig varför jag lämnar Universitet. Känner att det är läge att förklara. Men frågan kommer ta tid att besvara så jag väljer att besvara den i flera (och kommande) bloggposter. Jag börjar med dagens post där jag kommer ta mig an en följdfråga jag fått av några studenter sista veckan.

Varför har jag dröjt så länge med beslutet?

Under en konferens, foss-north.se, i våras snackade jag med en vän Zeeshan (twitter, blog). Jag gjorde faktiskt en intervju med Zeeshan men lyckades inte spara den. Suck! Under samtalet (och intervjun) slog det mig hur mycket jag uppskattat och lärt mig av programmerare som jobbar inom FOSS (Free and Open Source Software) och att jag längtade tillbaka till intelligenta och intensiva samtal om kod, programmering i stort men även om IT. Kände ett sug att gå tillbaka helt och hållet till industrin. Trots detta drog jag mig för att ens tänka på att lämna Universitet. Jag började rota i vad som höll mig kvar och fastnade vid följande saker:

  • flexibla arbetstider
  • kul och givande att vara lärare – att få jobba med studenter som vill lära sig

En del saker som anses vara fördelar med ett jobb på ett universitet bemöter jag här:

  • långa lov – jo, visst skulle man kunna vara borta “en del” över sommaren och jul. Men vare sig min vän och kollega Rikard eller jag anser det vara moraliskt rätt att göra så samt att vi vill hålla så bra kuser som möjligt. Därför väljer vi att t ex ta fram eller finslipa material inför kurser. Om ni tror jag snackar skit om att jobba med material, kolla på Juneday Statistics. Så det här med att man kan, utan att någon bryr sig, ta lång semester är inget argument för att stanna. Man borde säga upp sig, eller åtminstone skämmas, om man tycker så. Jo då, det borde man –  det är skattebetalares pengar vi jobbar för!!
  • karriärmöjligheterna – jo, men visst. Om man vill skriva artiklar. Skjuter upp kommentarer om detta till senare.
  • stimulerande och intellektuell miljö – hmm, skjuter upp även detta lite granna.

Att jobba på ett Universitet, eller annan arbetsplats, innebär att man får förhålla sig till den kultur som råder där. Och det är just där skon klämmer (mer om detta i senare bloggposter). För min del, alla andra gör säkert samma sak, har jag hela tiden fått väga det positiva med att jobba på universitet med det negativa. Och i samband med en rad beslut, under vår och höst, på min institution känner jag att det positiva inte längre väger över. Tyvärr väger det över en hel del åt det negativa en hel del. Mer om det senare.

Den kick jag fått när jag fått vara med er studenter när ni lär er IT och programmering, skriver egna appar och kan diskutera programmering har varit, och är, enorm. Så himla skönt att se hur gnistan infunnit sig hos några. Senast idag blev jag ställd mot väggen med svåra och inteligenta frågor om nätverk. Underbart! I dag fick jag också min favoritfråga två gånger, som lyder typ så här:

Vad tycker du jag skall läsa mer nu … innan nästa kurs?

Det här var så kul så jag vill lära mig mer.

Shit. Alltid lika kul. Och här är problemet eller kanske snarare skälet till att jag dröjt med beslutet, trots att det negativa faktiskt vägt över sedan en tid.

Orsaken att jag dröjt med beslutet är alla ni studenter,

som gör att jag har världens mest givande jobb!

Jag, tillsammans med Rikard, har fått så himla mycket av våra studenter och elever (och nu menar jag inte Whiskey-flaskan eller öl-korgen) i form av feedback. Jag publicerar inte de fina kommentarer jag fått genom åren då de kanske är skrivna av studenter med vanföreställningar om både Rikard och mig. Men stort tack ändå för all fin uppmuntran genom åren. I brist på annan uppmuntran (mer om detta senare) har era fina kommentarer varit viktigt för att inte tappa självförtroendet men samtidigt förödande då jag skjutit upp beslutet att satsa på något annat. I dag ropade någon på mig på stan varpå jag vände mig om och fick en kram av en tidigare student. Shit, när den behövdes som bäst.

Och ändå väljer jag att inte fortsätta. Mer om detta senare.

Denna bloggpost är i all sin enkelthet en förklaring till att mitt beslut dröjt och också min egna hyllning till alla studenter jag haft genom. Megatack!!!

 

 

… nu är det dock inte så att jag lämnar helt och hållet – jag är tjänstledig för att göra något annat. mer om allt sådant senare. Nu skall jag fundera påvad jag skall göra i november och framåt. Kanske dags att klippa sig och skaffa ett jobb?

Blog och pod om programmeringsundervisning

Min vän och kollega Rikard Fröberg och jag har sedan en tid skrivit böcker om t ex Java, C, bash, databaser med mera. Detta har vi gjort på wiki.juneday.se. Böckerna används nu på olika kurser på Chalmers, GU och två yrkeshögskolor (IT-högskolan och Yrgo). Pedagogiken bakom böckerna är något som vuxit fram under många år – och efter att ha kännt att man gjort så himla många misstag i rollen som lärare. Vi kommer i bloggen och pod (se nedan) att diskutera pedagogik/didaktik, vanliga misstag och dryfta våra tankar. Men lite vill vi säga nu om vår pedagogik och våra böcker. Vi tillhandahåller videofilmer för att möjliggöra flipped classroom-undervisning och göra det enkelt för studenter att repetera. Vi skriver många övningar, det är inte precis genom att titta på någon spela gitarr som vi lära oss spela gitarr. Övningar är i progression och vi har så klart lösningsföslag.

Nåväl, till saken. Blogen och poden. Även om blogen (https://programmeringspedagogik.wordpress.com/) funnits ett tag är det nu vi kommer jobba med den. Till varje blog kommer vi spela in en pod (http://juneday.podbean.com/) – jo, visst, man vill ju vara modern. Spana gärna in blogen och lyssna på vår podcast. Det finns just nu tre blog/pod-avsnitt:

  1. Getters och setters. Våra tankar om getters och setters, vad de kommer ifrån, varför de inte alltid är så nödvändiga och vad för problem som finns med dem.
  2. Om oss. Vi pratar kort om vilka vi är, varför vi håller på med pedagogik och varifrån namnet Juneday kommer.
  3. Om Arrayer i Java-undervisning. Vi pratar om hur man vanligtvis (över)använder arrayer när man (försöker) lära ut Java.

Sprid gärna information om våra böcker, blog och pod. Vi vill gärna diskutera (på blogen) med lärare och folk som jobbar med utbildning, men även från dig som jobbar med programmering. Framför allt vill ha feedback från proffsen på utbildning: elever och studenter.

Allt vi gör finns här:

Talking about licenses in Gothenburg tomorrow

Tomorrow (April 23) Rikard Fröberg and I will talk a bit about licenses. We will focus on how you can use FOSS (Free and Open Source Software) in your biz or projects.

After our talk you can see a presentation on the new Beaglebone.

More info (Swedish) here: https://www.eventbrite.com/e/hackafton-den-234-hos-pelagicore-beaglebone-black-och-licenser-tickets-11218566033

Education. Nevermind – what was it anyway, pt II

This post is a follow up to: Education. Nevermind – what was it anyway, pt I

Why another rant? – I really dunno. Guess I feel like writing 🙂

On exercises and supervision:
This is in my opinion much more important than lectures. Make sure that there’s enough resources for the students during supervision. Waiting 30 minutes to get help is not something that helps or motivates the students.

Make the exercises progress towards the goal. If you make too many exercises few students will complain. If you make too few, most students will complain. I did too few in my last course it seems. Shame on me.

Don’t point out beginner’s mistakes. Discuss the mistakes instead an propose other solutions.

Encourage:

It must be frustrating for a student to see other students learn at a speed much higher than yours. But in some, or perhaps most, cases it’s not true. If student starts the course already knowing parts of it is easy for student without this knowledge to think that he/she is slow, stupid or whatever. In this case we can point out that all students, well most students – there are some wizards, follow the same learning progression and the starting point is the thing that differs. This can be proved by the “weaker” students that often are doing great on the re-exams. That is: they do good results – just a bit later.

Another thing I’ve found to be good is to, during supervision, make the student think about if she would have thought she could write the code you’re looking at? Usually the answer is no followed by a smile. Help them realise that they actually make progress.

Motivate:

Why should they learn to program? Motivating why to know how to program is needed in programs such as Applied IT but probably not needed in Computer Science programs. Give the students some simple examples of problems they can solve by writing programs.

Try to come up with programming exercises that relate to the student’s reality. Sorting bank accounts in order is not fun. It really isn’t. I have created these exercises myself. Shame on me (again!).

Conclusion:

So, given that education is about the student acquiring knowledge my job is to help them doing that. How do I do this:

  • Lectures – leave the old way. Try flipped classroom.
  • Exercises and supervision – spend time here, this is where you can lift students. Focus on:
    • Encourage the students to keep struggling
    • Motivate the students to keep struggling

Next week I will dive into how search engines are used as a study companion while we (teachers) keep thinking that the book is the tool used by the students.

My vinyl player is finally back where it should be

Just put back my vinyl player in place beside the amplifier. My CDs and a computer has been providing me with music for the last couple of years. I have been missing my albums from time to time, but most of my albums I have on CD as well. So I guess I also have missed the feeling of putting on an album on the player, switch on 33rpms and put the needle in position.

The last time I really missed my vinyl player, and when I decided it’s about time to bring it back home, was right after a Thurston Moore concert[1] this summer – after the concert was over I wanted to listen my old Sonic Youth, Thurston Moore solo and Free Kitten albums but realised I “only” had them on vinyl.

And today when helping my mom and dad with moving some garden furniture  I stumbled across my old Daydream nation vinyl (I have two vinyl and one CD of that album) and all other albums I had stored at their place last time my family and I moved. I also quickly found my vinyl player (Thorens). Yes! I brought the player and some 30 albums. Back home I plugged the player in and went through the 30 albums I brought with me. Which one to choose? It felt important to pick the right….

Monster MagnetSpine of god’Sonic YouthDaydream nation‘, Tom WaitsBlue Valentine‘,  Free KittenUnboxed‘ ….

I ended up with a classic album. An album which has mean a lot to me.

Suicidal Tendencies ‘Suicidal Tendencies

ImageThis is the cover art for the album Suicidal Tendencies by the artist Suicidal Tendencies. The cover art copyright is believed to belong to the label, Frontier, or the graphic artist(s). Read more here: http://en.wikipedia.org/wiki/File:SuicidalTendenciesAlbum.jpg

[1].. and by the way. I took some photos during the Thurston Moore concert mentioned above. You can find them on flickr.

(c) Henrik Sandklef

License:AttributionNoncommercialShare AlikeCC by-nc-sa

OS and IDE stats from 2012 Embedded project at Chalmers / Gothenburg University

For the third (fourth?) year we’ve collected some facts on software tool usage from the students during the oral exam of the project Industrial IT and Embedded Systems at Chalmers University of Technology and Gothenburg University.

Question 1. What was your primary IDE/Editor when developing code?

Gedit 15
Eclipse 12
GNU Emacs & clones 21
Notepad++ 6
Vi 1
Xcode 3
Genie 1
Visual Studio 2
Intellij 1
Notepad 1

Question 2. What was your primary OS when developing code?

Windows 17
Mac 11
GNU/Linux 48

The above lumps together all GNU/Linux distributions. Looking separately at the these we get:

Fedora 1
Ubuntu 40
Mint 6
Gentoo 1

Question 3. What was your primary OS when not developing (write documents)?

Windows 38
Mac 12
GNU/Linux 26

41 – an Adams prime number

During a lunch the other day we spoke about the number 41 (which happens to my age (actually today I am turning 41)) and that it is a prime number.

Rikard pointed out that 41 is not  Mersenne primes number, so it seemed to us that 41 is just another ‘boring’ prime. But then Greg pointed out that 41 is equal to 42-1. 42 is a really interesting number, since according to Douglas Adams (author of The Hitchhiker’s Guide to the Galaxy) 42 is the answer to….. (well, read the hitchhiker’s guide and you’ll find out). So 41 must be an interesting prime after all. So given the way we name some prime numbers Mersenne we should name all the prime numbers that can be written as 42-1 an Adams prime number.

Now we need to find if there are an infinite number of Adams prime numbers…..

Bringing stupidity to a new level: macros and searduino

I wanted to test the “syntheseizer” I built (one potentiometer with two piezosummers playing same tone, as set by the potentiometer, in different octaves). And of course some blinking leds.

I spent 30 minutes figuring out why it didn’t work. Seemed to work nice in the Searduino Simulator (wait a week until it’s ready for use). Tons of time checking that the libraries built are ok. Finally, I tested to upload some code from the Arduino examples and, all of a sudden, reading analog pin worked again… and guess what? After a long while I found this:

#define analogRead(p) 500 

Kinda explains why all the delays based on digitalRead I did always took 1/2 a second. It’s hard to love your self after such a mistake. And yes, this really addresses an issue with C.

What you see is NOT what you compile.