Programmering är roligt!

Mikael skriver om programmering, systemadministration och mycket annat!

Kolla in min bok: Spelprogrammering med HTML5 och JavaScript

Kategorier 

2013-11-26
Ständigt uppkopplad

Idag har jag följt spåret "Den digitala vardagen" på Internetdagarna, och lyssnat på många intressanta föreläsningar. Många har pratat om den problematik som finns i samhället idag, och om hur bra det skulle kunna vara om allt flöt smidigare i den digitala vardagen. Inspirerad som man blir efter att lyssna på allt har jag funderat på om den digitala vardagen kan slå slint, speciellt när man går i skolan och ska koncentrera sig på att lära sig något.

Jag är en förespråkare för den digitala vardagen, och lever själv med så mycket koppling mot Internet som möjligt. Jag gillar tanken på att det mesta ska hanteras på webben, och blir irriterad när tjänster krånglar. Dock tänkte jag nu försöka skriva en kort, scifi-berättelse om en skoldag som utspelar sig i en framtid där allt genomsyras av nätet och den ständiga uppkopplingen.


Den digitala skolan

Klockan är mycket, jag är nästan sen. Telefonen vibrerar, det är säkert kompisen som chattar med mig och undrar var jag är. Springer in i klassrummet, precis i tid! Några sekunder senare så skulle dörren automatiskt blivit låst. Jag sätter mig på min plats, tar fram datorn och skickar direkt iväg ett chattmeddelande till läraren om att jag är här. Vid katedern lyfter läraren blicken en aning, och fortsätter sedan med den tysta närvaron. Alla måste chatta in sig när man kommit in i klassrummet.

Alla uppgifter finns på lärarens hemsida. Det enda problemet är att jag glömt adressen. Jag chattar med min kompis som direkt svarar med korrekt länk, tack så mycket. Det var många uppgifter som skulle göras idag. I klassrummet är det helt tyst, utöver knapprandet som hörs, samt det mufflade hörlursljudet som indikerar att några redan kommit till video-uppgifterna. Dags att skynda sig.

Andra lärare sitter runt om på skolan och skickar läxor och rättar uppgifter. Pling låter det i hörlurarna och små ballonger med meddelanden hoppar upp på skärmen. Då och då får jag mail som jag bara måste läsa, dessa plingar också. Några vänner chattar med mig, vi är alla på olika uppgifter, men försöker dela med oss av svar. Man kan chatta med läraren i klassrummet också, men kön är lång. Oftast ställer man sig i kön direkt när lektionen startar, och får sedan ställa en fråga som läraren skriver ett svar till. Varje chat är också ett pling, men då vibrerar dessutom telefonen. Allas frågor och svar går att läsa, och varje gång någons fråga blir besvarad blinkar fliken på webbläsaren och jag går direkt dit för att se om jag kan få hjälp.

Några kompisar som inte har lektion skickar bilder på dagens lunch. Usch, jag avskyr korv stroganoff. En annan kompis har redan slutat skolan och börjat spela datorspel. Datorn frågar om jag vill vara med. Vill, men det vore nog inte så bra. Måste komma igång med uppgifterna snart, har knappt chattat in en enda uppgift.

Hela lektionen är fylld av olika medier som tar min uppmärksamhet, sällan har jag samma datorprogram framför mig i mer än 20 sekunder. Det är svårt att hålla en röd tråd i mina texter, men jag är iallafall ständigt uppkopplad, så jag vet att alla andra också har problem.


Min poäng med denna berättelse är alltså att det kanske inte är 100% önskvärt att vi har en 100% närvaro på Internet i skolan. Iallafall inte om den är helt ofiltrerad. Jag vet själv hur det är på jobbet när man håller på med något, och ibland kollar mailen eller något plingar till. Ens uppmärksamhet delas och det är ibland svårt att komma tillbaka till uppgiften. Kanske borde vi vara helt bortkopplade under lektioner (utöver att vi har digitala hjälpmedel såsom wikipedia osv) så att man kan hålla koncentrationen uppe?

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-11-25
Källa: Wikipedia

Internetdagarna inleddes idag med en kort, rolig och intressant föreläsning av Jimmy Whales, grundaren av wikipedia. Jag tycker att wikipedia är bland det bästa som Internet har att erbjuda och jag använder det dagligen. Dock tycker jag att man bör fundera lite över några saker.

När jag gick i högstadiet i slutet på 90-talet så gjorde man ofta sin fakta-insamling på följande sätt: Man gick till biblioteket efter skolan och kopierade artiklar från nationalencyklopedin och från encyclopedia britannica. Några gånger hittade man en bok som behandlade ämnet och kopierade även sidor därifrån. Sedan kunde man hemma eller på lektionstid (eller direkt på biblioteket) skriva ned en text som hämtade några rader från de olika källorna. Man märkte tidigt att vissa källor var bättre än andra.

Internet användes lite, och det hände att elever gjorde källhänvisningar till "Internet", eller "Webcrawler" och "Altavista" som var mina favoritsökmotorer. Denna missanvändning av källor diskuterades givetvis när elever började använda Internet mer och mer.

Idag är det wikipedia som gäller. Uppslagsböcker i pappersform är gamla och finns knappt att hitta någonstans. Det som jag känner har gått förlorat är viljan att hitta olika källor. Elever verkar nöjda med wikipedia, och det kanske inte är något speciellt fel med det egentligen. Det som däremot är fel är att använda wikipedia som källa. Wikipedia är däremot ett utmärkt verktyg för att hitta bra källor. Det är något som vi borde lära ut till eleverna!

Ska man skriva ett arbete om vargen, så kan man börja med att läsa artikeln på wikipedia, och sedan titta på de referenser som finns i botten på sidan. När man senare beskriver hur vargen jagar sina byten, precis som man läste på wikipedia, så kan man referera till samma källa som wikipedia refererar till, och allra bäst så ska man följa källhänvisningen och se vad som står där (förutsatt att källan pekar på en online-baserad resurs).

Min poäng är alltså följande: Man ska aldrig ha "Källa: Wikipedia", utan istället använda de referenser som finns i artiklarna!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
Den (potentiellt) farligaste personen på skolan

Idag har jag varit på internetdagarna och lyssnat på flera olika personer som pratat om integritetsfrågor när det gäller den svenska skolan. Det har diskuterats att lärare bör prata om integritet och källkritik med sina elever, vi har fått höra exempel på hur några jobbar med webbpublicering samt hur andra jobbat med google och försökt göra allt på det lagliga sättet.

Jag har funderat lite på en sak som jag inte hört hittills under internetdagarna, en sak som handlar om hur allt det tekniska hanteras på skolor. Jag jobbar nämligen som IT-ansvarig, och jag tror att jag därför tillhör en grupp av potentiellt mycket farliga människor.

Om någon frågar dig om ditt lösenord till slumpmässig plats, eller ber dig logga in någonstans och sen tar din dator så skulle du nog bli rätt arg. Men om din lokala IT-nisse gör detta så tillhör det snarare din vardag. Det är ingen som reagerar om denna person har möjlighet att ta sig in både här och där. Den lokala IT-nissen har ett stort ansvar på sina axlar. Rektorns dator kanske måste fixas, sjuksysters system måste underhållas, hela skolans filer måste backup:as.

Jag tar mitt jobb på mycket stort allvar och försöker ofta tänka på IT-säkerhet och integritet. Jag kanske hanterar data som kan upplevas som mycket kränkande och personlig. Tänk om jag gör fel, tänk om skolans servrar eller lokala maskiner blir hackade och all data läcker ut. Det är en sak att skolor inte ska skriva känslig data på facebook eller i någon annan moln-tjänst, men lokalt på datorer kan det ju finnas allt möjligt.

Som IT-nisse så tänker jag också på hur det skulle kunna se ut på andra skolor. Tänk om det fanns IT-nissar som blev missnöjda med sin arbetsplats, eller bara inte orkade bry sig och kanske kastade sjuksysters dator i skrothögen utan att först tömma hårddisken.

Skolor har skjutsats in i den digitala världen lika fort som resten av samhället, men på IT-sidan har mycket hänt utan att man tänkt så mycket först. Det finns ofta ingen direkt ekonomisk förlust när det gäller datasäkerhet, inte på samma sätt som det är för företag. För vissa företag är det A och O att all data hanteras mycket försiktigt, och hela inkomsten kan bero på detta.

På skolor har ibland vissa lärare tagit på sig rollen att hjälpa till med IT, och om en dator krånglar så kan de lätt fixa något, så slipper man vänta på det stora, långsamma, företaget. Dessa IT-nissar måste tänka på att de potentiellt hanterar mycket känslig information. Är alla medvetna om detta?

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-11-19
Internetdagarna 2013

Snart är det dags för Internetdagarna 2013, och denna gång är jag officiell bloggare!. Det innebär att ni kommer att kunna läsa lite om vad jag får se och höra under de två dagarna som eventet pågår.

Många bilder utlovas, samt en hel del reflektioner. Jag siktar på att ge mitt perspektiv som IT-ansvarig på en högstadieskola. Det ska bli extra spännande att få höra skolverket berätta om hur de tycker att skolor ska jobba med integritet och informationssäkerhet på Internet.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-20
AutoStitch Panorama

Jag gör ofta panoramafotografier, främst för att jag tycker att det är riktigt häftigt med riktigt högupplösta bilder. Man tar 10-20 bilder runtomkring och sen låter man en mjukvara sätta ihop allt till en högupplöst helhet. Tidigare har jag alltid använt ett program som heter Autostitch, eller Calico på Mac. Nu har jag även testat deras iOS-app, AutoStitch Panorama.

Resultatet är samma som med autostitch, alltså riktigt bra! Jag har heller inte upplevt några problem med appen, så jag rekommenderar den varmt! Här följer ett panorama över staden Akureyri, som jag besökte i veckan. Om du klickar på bilden så får du den högupplösta versionen som är nätta 32MB.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-19
Hej då Island

Idag lämnar jag Island för denna gång, förhoppningsvis kommer jag snart tillbaka när vi kommit igång med projektet. Alla elever på Island är peppade att sätta igång, så det känns som att projektet inte kommer presentera några problem.

Tanken är nu att jag ska sätta ihop en projektansökan till NordPlus och där söka pengar för att flyga till Island med barn från Sverige, och för de isländska barnen att flyga till oss. Projektet kommer nog sätta igång redan denna termin med en hel del samarbeten mellan skolorna. Vi hoppas kunna sätta ihop eleverna i grupper om minst fyra, två från varje land, och låta dem samarbeta kring att bygga ett datorspel.

Det finns många oilka aspekter man måste ta hänsyn till när man gör ett spel: Hur ska grafiken se ut? Ska någon rita en massa bilder? Ska vi ha musik och ljudeffekter, och vem ska skapa dessa? Vem/vilka ska programmera? Vem ska hitta på handling och eventuella dialoger i spelet? Jag vill också låta eleverna fundera på om man skulle kunna bygga egna spelkontroller till spelen, vilket kanske gör det hela änne mer intressant, då man kan blanda in ämnen såsom träslöjd.

Resan mellan våra länder kommer vara själva avslutningen av projektet, kanske ett tillfälle för eleverna att träffa varandra på riktigt, presentera sina arbeten för varandra och även lära sig om programmering och sånt.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-18
Bilder på Síðuskóli

Idag fortsatte arbetet med de olika elevgrupperna på skolan och jag pratade en hel del om det kommande projektet. Alla var fortfarande väldigt entusiastiska och lyssnade extra noga när jag berättade att man också kan bygga egna spelkontroller. Imorgon åker jag hem och ska försöka ta all entusiasm till eleverna på friskolan och starta ett samarbete mellan våra skolor så fort det går!

Något som verkligen slog mig när jag gick runt på skolan var hur stor den var. Allt är lokaliserat i en enda byggnad, och alla klassrum är stora och har extremt högt till tak. Idrottssalen är av modellen jättestor, och biblioteket är nästan som ett vanligt bibliotek, exempelvis det som ligger i Tullinge centrum. Trots att det var så stora ytor överallt så var det extremt rent på skolan, förklaringen till detta är att de har en städstyrka på ca åtta personer som varje dag städar under hela skoldagen. Detta är tydligen väldigt vanligt på isländska skolor.

Här följer en drös med bilder från skolan.


Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-17
Síðuskóli

Idag hälsade jag på lärarna och eleverna på Síðuskóli, en skola med 450 elever från årskurs 1 tom 10. På Island börjar man skolan när man är 6 år gammal, och deras årskurs 10 motsvarar vår årskurs 9. Skolan var väldigt stor och fin, alla lokaler kändes väldigt öppna och hade högt till tak. Imorgon ska jag se till att fotografera mycket på skolan och lägga upp bilder på bloggen.

Jag träffade en massa elever som var intresserade av projektet och lärde dem några grunder i hur man kan komma igång med att programmera för webben. Alla var väldigt entusiastiska och verkade sugna på att lära sig mycket mer, så det här blir nog jättebra!

Det fanns några intressanta skillnader mellan Södertörns friskola och Síðuskóli, bland annat har alla elever rast samtidigt. Det finns en klocka som ringer när alla har rast, och när rasten tar slut. Går man som lärare till lärarrummet så finner man i princip alla skolans lärare där, vilket är ett tillstånd som inträffar enbart en gång per vecka på friskolan.

När skoldagen tagit slut tog jag tillfället till akt att gå runt i Akureyri lite, som med sina 15 000 invånare är Islands näst största stad. Det gick rätt fort att se det mesta i centrala stan, och då hann jag dessutom inhandla en mössa och ett par vantar, något som visade sig vara nödvändigt eftersom blåsten gjorde att temperaturen upplevdes som minst sagt suboptimal för hälsan.


Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-16
Projekt Island - På plats!

Ok, det var kallare än vad jag var beredd på. När jag klev av flygplanet i Reykjavik visade det sig att det var kring 8 grader ute, tydligen hade det snöat i Akureyri (där jag ska vara i tre dagar). Det blir nog att inhandla lite kläder imorgon, så att jag överlever.

Som en trevlig överraskning blev jag uppgraderad till Bussinnes Class på flyget, så jag hade en väldigt bred och trevlig stol, fri tillgång till massa dricka och sånt, och en multimedia-skärm med musik och film under de tre timmarna som flyget tog. Iceland-Air får därför 5 stjärnor av 5 möjliga!

Det är verkligen mycket aska överallt här, alla bilar är grå. Jag gissar att det mesta av askan kommer från det tidigare utbrottet vid Eyafjallajökull. Taxin som jag tog mellan flygplatserna var nytvättad igår och sidorutorna var idag helt grådaskiga. På flyget hann jag se stora askmoln som ni kan se på bilden.

Vad jag har hittills hört verkar Island vara precis som Sverige när det gäller teknik och Internet. Alla ungar som går högstadiet har smartphones och hänger på sociala-medier hela tiden. När man är 14 åker alla på konfirmationsläger och får därefter en summa pengar av sina släktingar som det genast köps en iPhone för. När barn tillfrågats varför de åker på konfirmationsläger, är det vanligaste svaret: "Alla gör det ju, varför ska inte jag också göra det?".


Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-15
Projekt Island, steg 2

Imorgon bär det av till Island, där jag och en Isländsk lärare ska utforma en projektansökan till Nordplus Junior och fråga om pengar för att få spelprogrammera med massa barn. Vi vill åka med våra elever till varandras skolor och lära alla hur man kan använda datorn för att skapa egna datorspel! Själv tycker jag att det är av yttersta vikt att barn idag lär sig att man faktiskt kan vara producent i den tekniska världen, och inte bara konsument. På en iPad kan man knappt skapa något själv, till skillnad från en Commodore 64 på 80-talet. En dator som startade in i ett programmeringsspråk. Där kunde man sätta igång med programmering det första man gjorde. Visserligen är en iPad väldigt enkel att använda, men det är tråkigt att datorer och programmering mer och mer behandlas som svart magi av befolkningen.

Island är ett land som jag gillar skarpt och det ska bli väldigt roligt att få åka dit igen och se den fantastiska naturen. Det blir många bilder på bloggen de kommande dagarna!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-14
CodeMirror

Idag har jag suttit och programmerat en del JavaScript, och då använt CodeMirror: Ett färdigt bibliotek som gör att man kan få en komplett editor på sin vanliga hemsida. Projektet som jag jobbat med ska ha en sådan, och därför kändes det naturligt att använda Codemirror.

Jag måste säga att CodeMirror är ett riktigt bra OpenSource-projekt som verkligen fungerar bra! Det är superenkelt att komma igång, och det finns massvis att features som man kan använda. Efter ett tag känns det verkligen som att man har en riktigt kod-editor inne på sin hemsida.

På spelprogrammeringslaboratoriet: www.spelprogrammering.nu/koda använder jag CodeMirror, och i det nya projektet som jag ska ha tillsammans med Internetfonden så blir det också CodeMirror. Detta kommer jag återkomma till flera gånger på bloggen, så att ni alla kan få följa hur arbetet fortskrider! Vi har redan startat lite med projektet, och det känns verkligen jättebra!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-13
Att skriva på skrivmaskin

Jag införskaffade nyligen en skrivmaskin från 70-talet som jag använt en del på skolan, och eleverna har varit helt fascinerade över detta tekniska underverk. Tänk, man måste fundera över vad man ska skriva innan man skriver det, faktiskt bygga upp meningen i huvudet och sedan hålla tungan rätt i mun medan man skriver.

Det händer något i huvudet när man skriver på en skrivmaskin. På något sätt är man slö när man skriver på sin dator, man tänker inte efter så mycket utan låter bara fingrarna flyga runt på tangentbordet. Det känns nästan som att vi förlorat något, trots alla vinster med att faktiskt kunna backa när man skrivit fel. Bara själva vetskapen om att man tänka ut vad man ska skriva när man skriver det, gör att texten som kommer känns bättre.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-12
Test av Print-On-Demand

Jag blev tipsad att pröva Publit:s tjänster idag, och de verkar ha precis vad jag behöver. Jag och en kollega håller på med en engelsk översättning av vår spelprogrammeringsbok (det är Jacob Dix som har översatt boken), och denna gång tänkte vi testa att använda en Print-On-Demand-tjänst. Det innebär att vi laddar upp boken som en PDF, och senare kan beställa lösa ex som vi själva säljer vidare. Publit erbjuder också en tjänst där de kan sköta försäljningen och distributionen. Det ska bli spännande att testa och se hur bra allt fungerar! Jag återkommer om detta på bloggen.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-11
Köp begagnat!

På min arbetsplats köper vi i princip enbart begagnade datorer. Köper man exempelvis en laptop från 2008 som kostade kring 10 000:- som ny, får man fem år senare betala kring 2000:-. Många har ingen användning för en sådan dator, eftersom operativsystem och programvara blir tyngre och tyngre, och datorerna upplevs som sega. Men, eftersom vi använder Linux, och valt att spara på de visuella effekterna i operativsystemet, känns datorerna som nya!

Faktum är att fem år gamla datorer inte är så himla dåliga numera. Skillanden mellan en dator år 2000 och år 2005 var extrem, men en dator som var bra 2008 känns fortfarande rapp 2013, förutsatt att man inte kleggat ner den med skum mjukvara.

Det jag skulle vilja få fram i detta inlägg är att fler borde handla begagnade datorer. Jag har personligen en begagnad HP Elitebook 8470, som ny kostade skjortan, men som begagnad kostade kring 2000:-. Jag investerade sedan i mer RAM-minne (något som nästan är gratis idag), samt en snabb SSD (kostar mindre än 1000:-). Resultatet blir en laptop som är snabbare än de flesta laptops jag träffar på, speciellt vanliga 6000:- laptops inhandlade på den stora elektronikaffären. Man gör också miljön en tjänst om man bidrar lite mindre till den hetsiga konsumptionstakten.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-10
Teknikfyran

Jag vill passa på och berätta lite om teknikfyran på Tumba gymnasium. Fram till mitten av 90-talet kunde man i Sverige utbilda sig till gymnasieingenjör, men det försvann. Nu har det kommit tillbaka, och på Tumba gymnasium finns utbildningen med inriktning mot mjukvaruutveckling.

Sen utbildningen startade har jag fått komma och gästföreläst om olika aspekter inom programmering, och det har verkligen varit roligt! Alla våra lektioner kan ni hitta här: http://teknikfyran.roboro.se/

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-09
Start Coding!

Jag och Pontus Walck skrev en bok om spelprogrammering för två år sedan. Denna skrevs sedan om för ett år sedan och blev ungefär dubbelt så lång. Nu tänkte vi försöka nå ut till en internationell publik, och har tagit hjälp av Jacob Dix som påbörjat en översättning av boken till engelska!

Istället för www.spelprogrammering.nu blir då adressen www.startcoding.io. Den hemsidan är under uppbyggnad just nu, men kommer i stort att innehålla samma saker som spelprogrammering.nu. Troligtvis gör vi en ny rolig design på allt, det är viktigt att ständigt förnya sig!

Nästa vecka åker jag till Island för att planera ett spelprogrammeringsprojekt, och då kommer jag att testa en version av den engelska översättningen. Förhoppningvis kommer den finnas att köpa detta år!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-08
Södertörns friskolas Internet-status, HT2013

Södertörns friskolas vanliga hemsida, www.friskola.nu, är en väldigt simpel och lugn sida skulle man kunna säga. Men runt omkring bubblar det av aktivitet! Idag har vi följande sidor som är kopplade till skolan på olika sätt:

Officiella sidor:

Bloggar och liknande:

Under terminen kommer det komma fler bidrag till webbstjärnan 2014, så Södertörns friskola håller verkligen på att invadera Internet! Observera att jag i listan ovan inte räknar med skolans olika adminstrativa hemsidor som eleverna och lärarna använder dagligen, utan enbart hemsidor som externa besökare kan vara intresserade av.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-07
Fysik i Kungsträdgården

Idag var jag och min familj på Kungsträdgården för att titta lite på de olika fysikerna som var där och presenterade sina arbeten. Jag och min dotter strosade omkring medan min fru, som doktorerar i partikelfysik, stod och pratade med allmänheten om CERN, ATLAS-detektorn och sånt.

Jag tyckte att det var jätteroligt! NO-intresserade elever borde åka dit, kanske med sina lärare, och ta chansen att prata med riktiga fysiker och faktiskt fråga vad de egentligen håller på med. Det är häftigt att träffa människor som verkligen brinner för sitt intresse, och som arbetat hårt med att studera världen omkring oss.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-06
Linux i skolan

I en hel termin har nu Södertörns friskolan använt linux för klientdatorer och resultatet har varit mycket bra. Alla gamla datorer känns snabba, givetvis använder vi då inte några speciella 3D-effekter i själva gränssnittet. Som linux-smak har vi enbart använt Ubuntu 12.04 med Gnome-classic som fönsterhanterare.

Som webbläsare använder vi nyaste Firefox, och eftersom alla mest sitter med Internet är det få som egentligen märker att det är linux i bakgrunden. Ordbehandling och drivrutiner till skrivare har varit det som krånglat mest, men oftast har det löst sig. Eftersom vi använder LibreOffice är det flera gamla office-dokument som inte riktigt betett sig, men det är smällar man får ta. LibreOffice är enkelt att installera hemma, så alla som vill kan jobba med samma mjukvara både i skolan och hemma. Detta är ett påstående som inte går att säga om man enbart har nyaste Microsoft Office på skolan.

Rent administrationsmässigt är linux en dröm i jämförelse med windows. Allt är lättare och går att hantera över nätverket på ett helt annat sätt. Vi på systemadministrationen ser ljust på denna termin och tror att allt kommer fortsätta att bara fungera bättre och bättre! Mer uppdateringar om hur linux fungerar i en skolmiljö följer!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-05
Lite Om-sidor klara

Nu har vi fått upp lite mer information om projekten Jakten på Pedro och Jakten på Julio. Kolla in sidorna!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-04
En motor till teknikundervisningen

Kolla in denna animerade bild som illustrerar hur en motor fungerar, väldigt snyggt gjort: http://jacoboneal.com/car-engine/car-engine.gif

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-03
Jakten är igång!

Nu har vi en trailer upp på Jakten på Pedro och Jakten på Julio. Nu kommer eleverna att börja filma egna filmer och TV-serierna kommer att sätta igång! Det ska bli spännande att se hur arbetet går!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-02
Gamla youtube-filmer

Ibland återupptäcker man gamla grejer som man gjort, idag var det filmer på youtube:

Jag och min kamrat Pontus spelar på en datormusikskoncert. Vi använder Wii-motes som instrument.

Vad händer när man bryter torr spaghetti? Jag har undersökt!

En kamrats katt hoppar, i slow-motion!

Jag leker med icke-newtons vätska.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-09-01
Ormar, tentakler och atan2

Vad är den gemensamma faktorn mellan ormar, tentakler och atan2? För att förklara detta ska jag först berätta lite om tangens, och om ett litet problem som programmerare ibland stöter på.

Lite matematik: Tangens för en vinkel är kvoten av motstående och närliggande katet i en rätvinklig triangel. Alltså, om du har följande triangel:

...så är tangens för vinkeln A = a/b. Om man är ute efter att räkna ut vinkeln, och känner till både a och b, kan man använda sig av inversen av tangens, som också kallas för arcus tangens. Arcus tangens av a/b blir vinkeln A.

Antag nu att vi har punkten (1, 1) på ett koordinatsystem och vill ta reda på vinkeln från x-axeln till denna.

På de flesta lite mer avancerade miniräknarna, eller i nästan alla programmeringsspråk, kan man nu använda funktionen atan, och skicka med kvoten y/x till denna. 1/1 = 1, och atan(1) = 0.79 rad = 45 grader. Vad händer nu om vi har punkten (-1, -1) och vill göra samma sak?

Problemet är att -1/-1 = 1, och atan kommer säga att vinkeln är 45 grader igen, men vi vet att vinkeln är mycket större (närmare bestämt 225 grader, eller -135 grader om man går medurs från x-axeln). Lösningen på detta kan vara att man inspekterar sidorna noga innan man använder atan, och i förväg bestämmer vilken kvadrant den resulterande vinkeln kommer befinna sig i, men detta kan vara bökigt och det är lätt att det smyger in fel om man inte tänker efter.

Nu kommer funktionen atan2 till användning! De flesta programmeringsspråk innehåller atan2, och den anropas alltid med två argument: Först y-koordinaten och sedan x-koordinaten. Funktionen inspekterar koordinaterna åt dig, och returnerar den korrekta vinkeln. Om punkten ligger ovanför x-axeln blir vinkeln positiv, annars blir den negativ. Det ovanstående problemet blir nu löst eftersom atan2(-1, -1) = -2,36 rad = -135 grader.

Med atan2 blir det enkelt att göra exempelvis en orm och en tentakel som följer muspekaren! Båda är roliga exempel på när matematik kan åstadkomma häftiga realistiska effekter!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-08-31
Raspberry Pi-tavla

Inspirerad av denna: Digital PI-cture Frame, bestämde jag mig för att montera en Raspberry Pi i en tavelram från IKEA.

Steg 1: tavelram RIBBA:


Med RIBBA får man med ett bakstycke av masonit och en vit Passe-Partout:


Jag ritade en svart bakgrund på masoniten med permanent-penna. Det blir ett svagt metalliskt utseende:


Väldigt stiligt:


För att montera fast själva datorn vid masoniten satte jag fast vanliga moderkortsskruvar:


Raspberry PI på plats:


Jag använde en platt nätverkskabel och klistrade även in två stycket LED-lister inne i ramen. Många använder USB-WIFI-dongles till sina Pi:es, men jag tänkte att det ändå kommer vara en strömsladd som går upp till tavlan, och då kan man lika gärna ha en nätverkskabel.


Färdigt! Nu ska jag hitta någon bra plats att hänga min dator på, och låta den utföra någon uppgift. Kanske host:a en hemsida?


Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-08-30
Ny termin, nya lag till webbstjärnan!

Som vanligt kommer Södertörns friskola att ställa upp med flera lag i tävlingen Webbstjärnan! Jag vill börja med att få presentera de två första lagen:

Jakten på Pedro och Jakten på Julio!

Tillsammans med två spansklärare från skolan kommer jag starta inte mindre än två klassiska spanska såpoperor, där eleverna ska få skriva manus och filma allt själva. Två språk-grupper kommer få arbeta parallellt, och resultatet blir förhoppningsvis två superbra TV-serier!

Just nu är sidorna under uppbyggnad, och vi testar lite hur det kommer se ut när filmerna väl kommer. Stay tuned!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-08-29
Projekt Island, steg 1

Jag fick höra talas om Nordplus Junior förra terminen och blev genast intresserad. Från Nordplus kan man söka pengar för att hålla i projekt som involverar skolor från olika nordiska länder. Tanken är att främja samarbete mellan gränser och bidra till att unga lär sig om varandras kulturer. Tillsammans med en annan lärare från Södertörns friskola formulerade jag en projektplan som kort gick ut på att starta ett samarbete med en skola på Island (Síðuskóla), åka dit med elever från vår skola, ta elever från deras skola hem till oss, och sedan spelprogrammera med hela bunten! Tanken är att eleverna ska få arbeta tillsammans i grupper och komma fram till egna spel. Många olika ämnen kan lätt flätas in, och det kulturella utbytet kommer komma av bara farten.

Steg 1 är nu att åka på ett så kallat "Preparatory Visit", något som jag sökte pengar för och blev beviljad! Om några veckor sitter jag på ett plan till Island ska där träffa min kontakt på den Isländska skolan. Förhoppningsvis kommer vi fram till en fulländad projektplan som vi senare kan skicka in till Nordplus igen. Mer uppdateringar kring detta projekt kommer jag givetvis att skriva här på bloggen.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-08-28
Ett till projekt med internetfonden!

Internetfonden är en mycket sympatisk fond som styrs av .SE (Stiftelsen för Internetinfrastruktur). Från denna kan man söka medel för att bidra till utvecklingen av Internet i Sverige. Tidigare har jag genom fonden fått utvärdera och utveckla undervisningsmaterial för programmering, samt haft nöjet att hålla ett annat litet projekt som handlade om att lära seniorer hur man programmerar spel. Nu har jag beviljats medel för ännu ett projekt:

http://www.internetfonden.se/webbprogrammering-i-matematik-och-fysikundervisning/

Denna gång ska jag, tillsammans med mina vänner Fredrik och Ella, skapa en miljö där man kan använda sig av programmering i sin matematik och fysikundervisning. Det ska bli mycket spännande! Jag tror att programmering är perfekt för detta. Mer information om projektet kommer!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-08-27
100 blogginlägg på 100 dagar!

Den klassiska blogg-utmaningen: Skriv 100 inlägg på 100 dagar. Nu ska även jag ge mig på detta, och för att peppa mig till det yttersta kommer även biträdande rektor på Södertörns friskola ge sig på detta:

www.hejaskolan.se.

För att vidare tipsa om trevliga bloggar så vill jag rekommendera att ni läser Toves reseblogg: www.drakensdotter.se. Tove var tidigare elev på Södertörns friskola, men har nu gått ut nian och ska ge sig iväg till Kina i ett år. Ett äventyr som inte många i hennes ålder vågar sig på!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-06-07
Programmering i läroplanen?

För några dagar sedan startade Terese Raymond (@Terejs) och Karin Nygårds (@grishund) denna namninsamling:

https://www.change.org/petitions/regeringen-och-skolverket-se-till-att-programmering-finns-med-i-l%C3%A4roplanen

Jag har länge funderat kring detta, och man kan på nätet hitta olika förslag som exempelvis säger att man ska slopa träslöjd och införa datorkunskap. Jag har följande förslag:

I den svenska läroplanen, för ämnet teknik, så står det följande:

"Tekniska lösningar har i alla tider varit betydelsefulla för människan och för samhäl­lens utveckling. Drivkrafterna bakom teknikutvecklingen har ofta varit en strävan att lösa problem och uppfylla mänskliga behov. I vår tid ställs allt högre krav på tekniskt kunnande i vardags­ och arbetslivet och många av dagens samhällsfrågor och politiska beslut rymmer inslag av teknik. För att förstå teknikens roll för individen, samhället och miljön behöver den teknik som omger oss göras synlig och begriplig."

Om vi verkligen vill synliggöra den teknik som omger oss måste människor få en större förståelse för programmering. Programmering finns verkligen överallt idag, alla behöver inte syssla med den men i princip alla utsätts för den.

Om vi ännu en gång tittar i läroplanen, under centralt innehåll för ämnet Teknik, rörande åk 7-9, finns följande punkter:

Den första punkten är rätt vag. Man kan tänka sig att man visar barnen hur en dator ser ut när man öppnar den, kanske pratar lite om mobiltelefonens utveckling genom tiderna och om hur Internet format världen. Tråkigt nog är den undersökande delen svårare och svårare att göra eftersom enheterna blir mer och mer låsta. Det går inte att öppna en iPad för att visa hur den ser ut inuti, inte utan att vara rätt brutal och troligtvis inte få iPaden att bli normal igen. Spara på trasiga laptops och surfplattor så att ni kan ta isär och visa eleverna!

Den andra punkten tycker jag är väldigt viktig. Där kan man lära barnen hur Internet är uppbyggt, vilka tekniker som finns idag när det gäller nätverk, hur datorer egentligen pratar med varandra om de är på olika kontinenter osv. Internet är idag väldigt stort, men har också sina sårbarheter: Om en fiskebåt råkar dra sitt nät över en fiberkabel mellan Afrika och Europa kan exempelvis dåliga saker hända.

Man borde också få lära sig vad domännamn egentligen innebär, alla borde känna till begrepp som IP-adress och DNS. Jag tror att dessa begrepp är främmande för de flesta idag, trots att de säkerligen surfar på nätet många gånger per dag.

Det gäller att öka eleverna förståelse för nätverk i allmänhet, så att de kan se på Internet som ett vanligt, om än väldigt stort, nätverk.

Jag tycker att läroplanen i princip har täckt upp hur den fysiska tekniken fungerar, att det finns datorer och Internet och att man ska lära sig något om dessa. Jag saknar dock en konkret punkt om just programmering, den teknik som genomsyrar all annan teknik.

Jag föreslår att vi lägger till en punkt som kanske skulle kunna se ut så här:

Givetvis kan vi inte lära alla elever på högstadiet hur man programmerar, men vi kan visa hur det ser ut. Vi vill ju göra våra elever till tänkande och reflekterande individer, och ett viktigt steg mot detta är att man förstår sin omgivning. Man ska inte vara slav till sina tekniska prylar och helt sakna förståelse för hur de fungerar. Bara man har sett "bakom kulisserna" på exempelvis en hemsida blir man direkt en mer kritiskt tänkande person. Man förstår att vem som helst kan programmera mot webben.

Jag ser gärna ännu mer programmering i skolan, men vi kanske ska börja i teknikämnet?

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-06-01
Spelprogrammering för seniorer

Jag och min kollega Pontus Walck anordnade en liten spelprogrammeringskurs för seniorer härom veckan och resultatet var mycket roligt! Alla deltagare verkade tycka om kursen och vi tror att en del kommer att fortsätta att leka med programmering även efteråt på fritiden! Givetvis använde vi JavaScript och HTML5. Kursen anordnades i samarbete med .SE i kampanjen Digidel 2013.

Radio- och tv-profilen Kjell Eriksson var med och filmade under den sista lektionen, här kan du se resultatet:

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-05-31
Programmering på högstadiet

Jag tycker att man ska lära sig en del datorprogrammering och allmän datorkunskap på högstadiet. Det behövs egentligen inte så mycket, kanske skulle det räcka med bara en handfull lektioner, men det viktigaste är att man väcker ett intresse hos de elever som själva inte tagit första steget.

Datorer och den svenska skolan har en märklig relation. Det finns knappt två skolor i Sverige där datorer används på samma sätt. På vissa skolor fungerar datorerna dåligt och ses på som ett hinder, och på andra skolor fungerar det bättre. Det finns inget undervisningsämne på högstadiet för datorkunskap, eller något liknande, utan tanken är att datorer ska användas i olika ämnen, och deras egenskaper ska användas på olika sätt.

Vi börjar med lite historia:

Vid flertalet tillfällen har mångmiljonbelopp använts och diverse IT-satsningar mot skolan har skett. Det började egentligen 1984, då Riksdagen fattade beslut om att datateknik ska användas i skolan och att alla ska få 80 timmars undervisning i "datalära". Bland annat skulle elever lära sig programmera i programspråket BASIC. Ett särskilt anslag om 20 miljoner för tre år utgick för inköp av datorer till högstadiet, men projektet blev inte riktigt en succé.

Det fortsatte sedan med ett antal olika IT-satsningar för att göra datorn mer central på högstadiet, men jag tycker att vi gått fel väg. Visserligen finns det nu många datorer ute på svenska skolor, men elever verkar kunna mindre och mindre om hur de egentligen fungerar.

Idag blir det mer och mer populärt hos tillverkare att låsa sina enheter så mycket som möjligt. På bärbara datorer blir det vanligare att man inte kan byta ramminne, hårddisk eller batteri, och på surfplattor är det i princip standard. Man köper en pryl som man inte ska peta på (ingen ordvits menad angående petskärmar). Jag vill inte ha en framtid där majoriteten av befolkningen ser på sina tekniska prylar som svart magi.

Användandet av alla prylar är också styrt från tillverkarna. Det fungerar bra att kolla sin mail, och interfacet känns mer eller mindre slipat, men det går inte att ta nästa steg. Du kan inte ens ändra positionerna på ikonerna på en iPad. Allt pekar dessutom mer och mer mot att datorprogram (eller Appar) blir individuella organismer som knappt samarbetar med varandra. Jag har uppfattningen att högstadieelever idag har mycket sämre kunskap om vad filer och filsystem är, eftersom man exempelvis på iPad lagrar sin data i separerade appar.

Det uppmanas inte alls från tillverkarna att man som användare ska ta kontrollen över sin datormiljö, utan man sitter som en konsument, går den förtrampade stigen och köper de nyaste prylarna.

Hur bra är det att barnen ser på teknologi som svart magi? Att de sällan uppmuntras att skapa eget utanför sandlådan (iPad:en)?

På gymnasieskolan finns olika datorkurser varav flera i programmering. Men där är det i dagens läge mycket spretigt. Olika lärare använder olika metoder, och kunskaperna efter gymnasiet varierar enormt beroende på detta. På ett SITSNET-möte där jag deltog berättade lärare från KTH att de idag inte kan anta att en elev kan någon programmering alls, trots att de läst flera kurser på gymnasiet.

Nu är inte allt nattsvart i min värld, utan det finns en hel del bra saker som kommit de senaste åren.

Jag har märkt att de tekniskt duktiga eleverna (när det gäller programmering och liknande) blir duktigare och duktigare. De lägger sin fritid på att exempelvis lära sig programmera, och eftersom de har Internet, så kommer de förbi hinder väldigt enkelt. Om man kör fast så googlar man och läser olika lösningar, tittar på vad andra gjort och lär sig lösa problemet. Jag har träffat flera högstadieelever som varit duktigare på programmering än många KTH-elever som jag studerat tillsammans med.

Internet har vuxit till att vara den mest vitala kuggen i en dator. När Internet-uppkopplingen krånglar blir datorn snabbt väldigt tråkig för de flesta. Internet är den nya plattformen som binder ihop alla olika enheter, oavsett om det gäller en mobiltelefon, surfplatta, laptop, stationär dator eller Google Glass så har de alla en webbläsare. Jag tycker att det är viktigt att elever lär sig programmera mot denna nya plattform så att inte tekniken kommer att kännas som svart magi.

Kort sagt så vill jag alltså att elever lär sig att man kan ta kontrollen över en dator. Många kommer fortfarande att välja en annan bana i livet än den som datorprogrammerare, men det viktiga är att man lär sig se på datorer som formbara verktyg. Man blir då en medveten konsument som kanske väljer att köpa prylar som är mer öppna, använder program som samarbetar bättre osv.

När jag programmerar med högstadieelever använder jag språket JavaScript och programmerar direkt för webben. Men egentligen spelar det inte så stor roll hur man väljer att programmera, bara man kan få datorn att göra något som den inte kunde förut!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-05-19
Spelprogrammeringslaboratoriet

Laboratoriet för dig som vill leka Frankenstein med JavaScript, muahahaha!

Många elever får en långsam introduktion till programmering för att de initialt bråkar med sin dator, eller sin datormiljö. De kanske inte riktigt får till editering av en text-fil, eller har problem med något annat. För att snabba upp starten när man ska lära sig programmering, och kanske för att göra det lättare att testa saker, skapade jag spelprogrammeringslaboratoriet härom veckan.

http://spelprogrammering.nu/koda kan man direkt i webbläsaren få en kod-editor, spara sin kod för framtida editering samt visa resultatet för sina kompisar, samtidigt som man håller editeringen hemlig så att ingen kan förstöra ens kod. De som väljer att publicera sitt verk visas upp i arkivet:
http://spelprogrammering.nu/arkivet.

Jag vill främst göra det lättare för elever och andra att snabbt komma igång med sin programmering. De första minuterna är väldigt viktiga och varje hinder som man kan ta bort betyder mycket.

Hela lösningen är under uppbyggnad, så kom gärna med buggrapporter och allmänna önskemål!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-05-17
SETT, SITSNET, Webbstjärnan och FLTM13

De senaste 30 dagarna har verkligen varit intensiva! Först var det SETT-dagarna den 17-18 april, där man fick gå runt och mingla med väldigt många skolmänniskor, prata med olika företag om deras lösningar mot skolvärlden, och sedan fanns det dessutom en hel del föreläsningar som man kunde anmäla sig till om man var intresserad. För mig var SETT-dagarna helt klart intressant, jag hittade en del webbaserade läromedel som kanske kommer göra mitt liv som systemadministratör mycket lättare! Givetvis återkommer jag kring detta efter att ha utvärderat dem.

Det fortsatte sedan med ett möte med föreningen SITSNET (www.sitsnet.se), som är en förening som aspirerar att samla ihop så många programmeringslärare från hela Sverige som möjligt. Mötet blev mycket trevligt och som vanligt diskuterades det hur man bäst bör bedriva sin undervisning, några läromedelsförfattare pratade om sina programmeringsböcker och det demonstrerades även en del dansprogrammering! Jag pratade om spelprogrammeringsboken jag medförfattat, och mina slides från det mötet kan man se här. Om man jobbar som programmeringslärare, eller kanske vill integrera programmering i sitt ämne på gymnasiet, så rekommenderar jag varmt att man kommer på ett SITSNET-möte!

Senare följde hela upplösningen av tävlingen Webbstjärnan. Två av mina lag lyckades gå vidare till finalen, och där fick vi sitta i de flotta lokalerna på Nalen och ta emot nomineringspriserna. Det blev inga ädla valörer denna gång, men med nästan 40 000 tävlande elever från hela Sverige var mina väldigt nöjda att sitta där på den absoluta toppnivån! Hela tillställningen var väldigt trevlig och nästa år ska Södertörns friskola givetvis vara med igen, och med ännu fler lag!

Sist men inte minst gick jag på en tillställning som kallades FLTM13 (Framtidens lärande, TeachMeet 2013). Till denna samling kom över 100 lärare som ville dela med sig av sina erfarenheter när det gäller IT och undervisning i allmänhet. Jag anmälde mig som talare och fick prata först. Mitt ämne var spelprogrammering och hela träffen (inklusive mitt prat) kan ses online på: bambuser. Jag hoppas att jag inspirerade någon att börja programmera på webben med sina elever, det är enkelt, roligt och användbart på riktigt! På FLTM13 såg jag en lärare som demonstrerade en MaKey MaKey, och denna verkade så rolig att jag genast beställde ett gäng! Utvärdering av dessa kommer komma på bloggen.

Nu har jag haft några dagar på mig att smälta alla nya intryck och reflektera en aning. Det är uppenbart att alla dessa tillställningar har gjort intryck på mig, och det känns som om man blir laddad med energi att fortsätta hitta på nya roliga saker att göra i skolan!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-05-08
Kardioider och nefroider

Kardioider och nefroider är spännande former som man skapar på ett relativt enkelt sätt. Båda bygger på samma princip: Man har en cirkel och låter en annan cirkel rulla runt. På kanten på cirkeln som rullar sätter man fast en penna. Om den rullande cirkeln är lika stor som cirkeln i mitten kommer pennan att rita en kardioid. Om den rullande cirkeln har hälften så stor radie så kommer pennan rita en nefroid. På wikipedia kan man hitta denna förklarande bild:

Här ser man tydligt hur den snurrande cirkeln ritar upp en kurva, som till slut blir en komplett nefroid. En kardioid blir mer som ett hjärta, vilket förklarar namnet (efter grekiskans καρδία, vilket betyder hjärta).

Det går också att bygga kardioider och nefroider genom att rita många cirklar efter varandra, och det visar sig att detta är ett ypperligt tillfälle att använda polära koordinater. Jag demonstrera först hur man kan göra nefroider:

Vi börjar med att tänka oss ett antal polära koordinater som tillsammans bildar en cirkel:

För varje polär koordinat ritar vi nu en cirkel, vars mittpunkt befinner sig på koordinaten, och vars radie sträcker sig till x-axeln.

Det blir en del cirklar. Notera nu hur utkanten av hela denna figur blivit en nefroid. Det blir ännu tydligare om vi tar bort axlarna och ökar antalet cirklar.

För att skapa en kardioid följer vi en likartad metod. Vi börjar ännu en gång med ett antal polära koordinater som tilsammans bildar en cirkel:

Nu ska vi än en gång rita en cirkel för varje koordinat. Denna gång ska dock koordinaten vara på cirkelns rand, och cirkeln ska positioneras mitt emellan koordinaten och den allra första koordinaten. För att tydliggöra detta visar jag nedan hur det ser ut med fyra koordinater, som är längre från varandra:

Den allra första punken ligger på (2, 0) och syns inte i bilden ovan. Du kan dock ana att de tre följande punkterna alla har samma avstånd till origo, och således följer en cirkel. Om vi nu fortsätter hela vägen runt får vi följande resultat:

Att utkanten på denna figur är en kardioid blir tydligare när vi tar bort axlarna och ritar ännu fler cirklar.

Alla bilder i detta inlägg har jag skapat med väldigt lite JavaScript-kod. Nefroiden kan man exempelvis bygga på detta sätt:

<script src="http://spelprogrammering.nu/simple.js">

  function start()
  {
    var r = 1;
   
    for (var v = pi/50; v<2*pi; v += (pi/50))
    {
      var y      = r*sin(v);
      var radius = abs(y);

      math.polarRing(v, r, radius);       
    }
  }

</script>

Det är bara att ta ovanstående kod, spara den som en .html fil och köra igång den i webbläsaren. Kardioiden gjorde jag en lite längre lösning på, men fortfarande relativt lite kod:

<script src="http://spelprogrammering.nu/simple.js">

  function start()
  {
    var r = 2;
    var step = pi/20;
    p0 = {x: r, y: 0};
    
    for (var v = step; v<(2*pi); v += step)
    {
      var x = r*Math.cos(v);
      var y = r*Math.sin(v);
      
      var radius = distance(p0.x, p0.y, x, y)/2;
      
      var l = sqrt(r*r - radius * radius);
      
      var angle = v / 2;
      if (v > pi)
        l = -l;
      
      math.polarRing(angle, l, radius);
    }
  }

</script>

Kardioider och nefroider kan man hitta lite varstans i vår värld, jag rekommenderar wikipedia-artiklarna som kvällslektyr. För gymnasieelever kan detta också fungera som en övning i både matematik och programmering. Som avslutning får ni här en färglagd kardioid:

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-05-07
Två lag vidare!

Tidigare berättade jag om tävlingen webbstjärnan samt om de lag som tävlar från min skola. Nu är det snart dags för prisutdelning, och två av mina lag har gått vidare och blivit nominerade! Det är Isabella och Gustav som lyckats i en tävling där nästan 30 000 elever från hela Sverige deltagit. Nästa vecka får vi se vilken placering de får!

Gustavs hemsida: http://www.xzy.se
Isabellas hemsida: http://www.sketchit.nu

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-05-05
Intervju på matematikvideo.se

Jag blev intervjuad på matematikvideo.se angående spelprogrammeringsboken. Där fick jag en chans att berätta lite om hur roligt och viktigt det är med matematik, speciellt när man programmerar spel!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-04-28
Öppen mjukvara på skolor är bra

Detta inlägg tänkte jag dedikera till ämnet öppen mjukvara och reflektera lite över hur en skola behöver anpassa sig för att jobba med open source.

Jag jobbar som systemadminstratör på en högstadieskola där vi ständigt jobbar mot att helt använda öppen mjukvara. Det är inte dock bara en dans på rosor, utan vissa problem kan uppstå. På det stora hela tycker jag dock att fördelarna är större än nackdelarna. Man kan dela upp användningen av öppen mjukvara på skolor i fyra delar:

  1. Det bakomliggande systemet
  2. Klientdatorerna som elever använder
  3. Klientdatorerna som lärare använder
  4. Klientdatorer som används i klassrum för att visa filmer, presentationer och liknande

1. Det bakomliggande systemet

När det gäller det bakomliggande systemet finns det inga tvivel om att öppen mjukvara är helt oslagbart. På Södertörns friskola har vi använt Linuxservrar under de senaste sex åren och allt bara fungerar. Vidare vet inte några av våra användare om vilka system vi använder, utan de bakomliggande systemen är anonyma arbetshästar. Vi använder exempelvis:

All denna mjukvara är 100% gratis och gör verkligen jobbet bra.

2. Klientdatorerna som elever använder

När det gäller klientdatorer för elever har vi nyligen på skolan helt gått över till Ubuntu, och resultatet är mycket lovande. Har man en modern webbläsare och en fungerande ordbehandlare har man oftast täckt upp behoven för skolarbete. Det är dock viktigt att skrivare fungerar och detta kan vara lite knepigt ibland, men vi har bara haft problem med gamla USB-skrivare.

Den mjukvara vi använder på elevdatorer är:

En del mjukvara som skolan tidigare använt har vi inte fått igång på Ubuntu, exempelvis StavaRex och Spellright. Men numera så är mycket mjukvara som utvecklas till skolor direkt på webben, så då behövs verkligen bara en bra webbläsare. Jag hoppas på en framtid där majoriteten av mjukvaran som elever använder finns på webben.

Exempel på webbsidor/webbtjänster som vi utnyttjar:

När man är lite uttråkad som elev så ligger det nära till hands att man skojar lite med skolans datorer, kanske tar bort lite ikoner eller liknande. Att skydda sådana inställningar i Ubuntu är relativt enkelt och vi lär oss mer och mer hur detta kan göras på rätt sätt. Vår inställning har alltid varit att man säkrar klientdatorerna vid behov, och inte försöker göra systemet så vandalsäkert som möjligt från början. Det finns inget mer irriterande som elev än skoldatorer som är så nedlåsta att de knappt går att använda. De modifieringar som skolans Ubuntudatorer har kommer jag att skriva ett inlägg om vid ett senare tillfälle.

3. Klientdatorerna som lärare använder

Här har vi haft lite mer problem än med elevdatorer, främst för att lärare har vissa datorer som de använder dagligen, och då mer behöver interagera med själva systemet utanför webbläsaren. I princip ingen använder Ubuntu hemma vilket då betyder att ingen är van vid gränssnittet. Detta skapar en del irritation och friktion eftersom lärare har väldigt tajt schema och ofta känner att de inte har tid och sitta med ett nytt system bara för att. Ändringar som vi gör kan också kännas som onödiga från lärares synvinkel eftersom de innan haft windows som faktiskt "fungerat". Varför byta från något som redan fungerar?

Det har blivit en hel del argumentationsövningar kring varför vi byter till öppna mjukvaror, och det tror jag är bra. Man reflekterar över anledningarna och hittar varje gång nya saker som faktiskt blir bättre med ett byte till Ubuntu.

De flesta lärare har dock ej opponerat sig mot själva Ubuntu, utan mer mot LibreOffice kontra Microsoft Office. LibreOffice är duktigt på att öppna filer av olika typer, även från MS Office, men ibland kan det bli en del problem. Speciellt när man öppnar officiella dokument från skolverket och kommunen. I flera fall får man hjälpa läraren att laga dokument för att få dem att fungera på LibreOffice. Jag hoppas att fler och fler gör som skatteverket, som faktiskt har officiella blanketter i PDF-format.

4. Klientdatorer som används i klassrum för att visa filmer, presentationer och liknande

Här har vi haft de största problemen med Ubuntu, och detta främst på grund av en sak: SLI.SE. På www.sli.se kan man titta på strömmande media, och detta görs en hel del på vår skola. Problemet är att man behöver Silverlight för många filmer, och det har fungerat väldigt dåligt med Moonlight (motsvarigheten för Ubuntu). Dock går vi mot ljusare tider och sli.se verkar bli bättre och bättre för olika enheter, och inte bara windows-klienter.

Övrigt är det ibland problematiskt med LibreOffice när elever gjort egna presentationer hemma med nyaste Powerpoint. Design blir inte riktigt likadant och kan ställa till med problem.

Slutligen kan jag säga att det känns mycket bra att administrera ett system som helt bygger på öppen mjukvara. Man behöver inte bekymra sig alls över licensavgifter och det är lätt att tipsa elever och lärare om vilka mjukvaror de ska använda hemma. Allt är nämligen gratis!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-04-15
Delta i Webbstjärnan!

Webbstjärnan är en tävling där tusentals elever som går i lågstadiet, mellanstadiet, högstadiet och gymnasiet kan tävla i webbutveckling. Främst handlar det om att publicera sitt skolarbete på nätet med hjälp av en färdig bloggmotor (wordpress i de flesta fall), men man kan också ta steget mot riktig webbutveckling och faktiskt programmera sin hemsida själv. Tävlingen hålls av stiftelsen .SE.

När man som lärare anmäler ett lag av elever till webbstjärnan får man omedelbart en valfri .se domän gratis i ett år, gratis webhosting i ett år samt en massa hjälp med hur man kan komma igång med exempelvis wordpress.

Vill man jobba med webbutveckling med en grupp elever är webbstjärnan perfekt. I början får de sitta och fundera ut vilken typ av hemsida de vill bygga, vilket domännamn de ska ha, och så vidare. Efter att ha anmält sitt lag och fått alla inloggningsuppgifter börjar de genast att ladda upp filer med FTP, testar olika designidéer med HTML och jag som lärare behöver i princip bara knuffa dem i rätt riktning lite då och då. Det är uppenbart att när en uppgift är på riktigt, känns meningsfull samt ger resultat så jobbar man bättre och lär sig mer.

Förra året var några av mina elever från Södertörns friskola med i Webbstjärnan, och ett lag från skolan vann faktiskt guld!

Deras hemsida handlade om vindkraft: http://kraftig.se


Snart är det dags för prisutdelning i webbstjärnan igen, och detta år är det fyra lag som tävlar från Södertörns friskola:

http://www.xzy.se
http://www.sketchit.nu
http://www.itslöjd.se
http://www.skolboka.se

I början var det några fler lag, men en del elever beslöt sig för att fokusera på andra uppgifter. På datorklubben är det inte obligatoriskt att tävla i webbstjärnan, utan man gör det bara om man vill.

Jag gillar verkligen webbstjärnan och är övertygad om att .SE lyckats i sitt uppdrag att utveckla Internet och Internetanvändandet.

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-04-14
Varför undervisa med JavaScript?

I detta inlägg tänkte jag berätta lite om varför jag tycker att JavaScript är ett utmärkt språk för undervisning på gymnasiet och i grundskolan, oavsett om man ska lära sig programmering från den absoluta grunden eller om man redan kan en hel del och vill fortsätta sin bana som programmerare.

När man ska lära sig programmering så tycker jag att det är viktigt att det är roligt och intressant från början. Intresserade elever går själva otroligt snabbt framåt, så det lönar sig verkligen att lägga ned mycket energi på den första lektionen. Om något ska kännas roligt och intressant från början gäller det oftast också att man ska kunna se något resultat väldigt snabbt. Där kommer vi till den första fördelen med JavaScript: Resultat är enkla att se och snabba att få. Nedan har jag listat några anledningar till varför jag tycker att JavaScript är ett utmärkt språk för undervisning.

1. JavaScript interpreteras av webbläsaren.
För att se resultatet av sin programmering behöver elever och andra bara ha en webbläsare. Det är dessutom busenkelt att skicka upp resultatet på webben så att alla kan ta del av ens lösning (om man vill). Man behöver inte någon speciell maskin, det fungerar oftast precis lika bra från sin mobiltelefon eller surfplatta.
2. Resultat på webben känns användbara och relevanta.
Webben är en otroligt viktig plattform i dagens samhälle, och programmering för webben blir bara större och större. Redan idag säljs det datorer som i princip enbart har webbläsare och inget annat. Om elever ser att de kan åstadkomma roliga och häftiga program som fungerar på sina datorer och mobiltelefoner, inser de direkt hur användbart det kan vara. När man programmerar en telefonbok i C++ och testar den i kommandotolken, så lär man sig visserligen hur if-satser och filhantering fungerar, men hur användbart känns det att ha en telefonbok i kommandotolken egentligen?
3. JavaScript kan se ut som C, C++, Java, C# och alla andra språken.
Funktioner, if-satser, for-loopar, while-loopar m.m. är alla sig (relativt) lika mellan många språk. Detta gäller även JavaScript. Detta betyder att när man skriver program i JavaScript så går man inte miste om något som C-programmerarna lär sig, utan grunderna inom programmering består.
4. JavaScript kan vara helt olika de andra vanliga språken, såsom exempelvis C, C++, Java, C# osv.
Det som många inte tänker på är att JavaScript faktiskt är ett funktionellt språk. Det går visserligen att skriva kod som i princip är identisk motsvarande C-kod, men det går också att skriva kod som är helt annorlunda. Funktionell programmering är ett helt annat synsätt på programmering och problemlösning, och vill man fokusera på detta är JavaScript perfekt! Det är ett modernt språk som stödjer många häftiga synsätt inom programmering.

2012 medförfattade jag boken "Spelprogrammering.nu med HTML5 och JavaScript", och nu under 2013 kom vi ut med en ny utgåva. Boken handlar om hur man kan lära sig programmera webbaserade spel från grunden, oavsett bakgrund. Jag tror att vem som helst kan lära sig programmera webbspel! Om man redan är intresserad av programmering och kan en hel del så har vi försökt göra boken intressant ändå, genom att gå väldigt djupt på vissa delar. När jag använt JavaScript som undervisningspråk har jag funnit att eleverna jobbat snabbt och lärt sig mycket på kort tid. Jag ska se till att i ett senare inlägg, mer konkret beskriva hur man kan lägga upp sin undervisning kring JavaScript.


Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
2013-04-09
Mikael Tylmad - a brief introduction

Jag som driver denna blog heter Mikael Tylmad, är född 1984 och bor i en förort till Stockholm som heter Tullinge. Där bor jag med min fru och en dotter som heter Tilde (eller ~ som jag brukar kalla henne).

Jag jobbar som systemadminstratör på högstadieskolan Södertörns friskola, där jag också driver skolans datorklubb. Jag tycker att det behövs mer programmering på högstadiet!

Min meritförteckning (pdf)

Min dotter ~ som vid fyra månaders ålder bekantar sig med en dator. Jag är och vandrar på Island. Vulkaner är häftiga, Island är i princip en stor vulkan => Island är häftigt.

För det mesta håller jag på med lite allt möjligt, dock alltid något som jag vill göra. Om man sysslar med saker som man inte trivs med blir resultatet oftast dåligt. Exempel på saker som jag gillar:

Systemadministration
Sedan 2006 har jag installerat, konfigurerat och administrerat linux-servrar, linux-klienter och windows-klienter på Södertörns friskola. Jag trivs själv bäst i linux och finner alla andra alternativ undermåliga. Om det ska skriptas gör jag det helst i bash, men jag inser fördelen med kraftfullare språk som exempelvis perl. I skrivande stund administrerar jag ett antal webbservrar (mestadels Apache) som hanterar ett tiotal olika webbtjänster (många egenutvecklade, några wordpress och annat gott och blandat). Utöver servrar och klientdatorer så bygger jag och sköter om trådade samt trådlösa nätverk.
Undervisning
På Södertörns friskola driver jag Datorklubben där jag undervisar elever på högstadiet och gymnasiet. På Tullinge Gymnasium har jag totalt fyra gånger hållit i en 50p gymnasiekurs som heter Datalogi A (en lokal kurs som vi gjort allt material själva till, inklusive en kursbok). Det senaste året har jag jobbat som gästföreläsare för teknik-fyran på Tumba Gymnasium.
Webbutveckling
Jag utvecklar ofta olika typer av webbtjänster och jag använder mig i princip uteslutande av PHP på serversidan.
Läromedelsutveckling
Det är väldigt roligt att syssla med undervisning och jag söker alltid efter den mest pedagogiska lösningen. När det gäller programmering har jag jobbat med att göra undervisningen roligare och samtidigt bättre. Detta har resulterat i en lärobok som använder spelprogrammering för att lära ut programmering: Spelprogrammering.nu med HTML5 och JavaScript. Denna lärobok har också en egen hemsida: www.spelprogrammering.nu. Givetvis är hela boken skriven i LaTeX.
Frisbeegolf
Den enda sport jag sysslar med är frisbeegolf, och detta har jag gjort sedan 1996. Numera spelar jag oftast på Visättra sportcenter, men har tidigare spelat mycket på Järva.
Hiking
Hiking är det bästa sättet att uppleva naturen på. Min favorit-hike är Laugavegur på Island, som jag gått två gånger. Utöver Island har jag också vandrat i Härjedalen och även gått runt Mount Blanc-massivet längst med den berömda TMB-rutten, en riktigt trevlig och spektakulär vandring.
Brädspel
Jag älskar att spela brädspel. Bland favoriterna finns Dominion, Race for the galaxy, Titan, och många andra!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.
Skapa online-pussel med jQuery

JavaScript-biblioteket jQuery lämpar sig utmärkt om man snabbt vill göra ett peka-och-klicka spel. Jag gav några elever uppdraget att skapa online-spel för små barn, och första idén blev att göra pussel.

Steg ett var att för hand rita de motiv som pusslen ska baseras på. Ett av dessa pussel skulle bli en vacker solnedgång, och resultatet blev (efter att ha skannats) följande:

Vi laddade sedan in bilderna i en dator och efterbehandlade de lite. Prefekt tillfälle att träna på hur man använder Gimp! I Gimp är det dessutom enkelt att skära ut pusselbitar ur originalbilderna. Solnedgången fick följande bitar:

Tanken är nu att pusselbitarna ska finnas blandade runt om på skärmen, och i mitten ska det finnas en svartvit, svagt utsuddad version av det färdiga pusslet så att man får lite hjälp att lösa pusslet. Bakgrundsbilden kan också Gimp hjälpa oss med:

Nu är det dags att börja programmera! Vi börjar med lite enkel HTML-kod. En grundregel med HTML är att man ska få med all data som en sida/applikation ska innehålla, men hålla sig från att skriva in beteende och design. Därför är det helt korrekt att nu börja vårt pusselspel med att fylla HTML-koden med alla bilder som pusslet består av:

<!DOCTYPE html>
<html lang="sv">
  <head>
    <meta charset="utf-8" />
    <title>Ett pussel!</title>
  </head>
  <body>
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella_svartvit_bakgrund.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella1.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella2.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella3.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella4.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella5.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella6.png" />
  </body>
</html>

Detta är ännu inte så imponerande. Du kan se resultatet här:
http://mikael.tylmad.com/files/2013/04/pussel_steg1.html.

För att positionera den svartvita-bakgrunden lite bättre kan vi lägga till lite CSS, och vi passar på att ge hela sidan ett trevligare intryck.

<!DOCTYPE html>
<html lang="sv">
  <head>
    <meta charset="utf-8" />
    <title>Ett pussel!</title>
    <style>
      html
      {
        background-color: black;
      }
      #bakgrund
      {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -219px;
        margin-left: -367px;
        z-index: -1;
      }
    </style>
  </head>
  <body>
    <img id="bakgrund" src="http://mikael.tylmad.com/files/2013/04/Isabella_svartvit_bakgrund.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella1.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella2.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella3.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella4.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella5.png" />
    <img src="http://mikael.tylmad.com/files/2013/04/Isabella6.png" />
  </body>
</html>

Visserligen en lite enkel och kanske ful lösning för att centrera den gråa bakgrunden på skärmen, men det fungerar :-)
http://mikael.tylmad.com/files/2013/04/pussel_steg2.html.

För att nu lägga till intelligens till pusselspelet behövs jQuery samt jQuery UI. Dessa bibliotek används extremt mycket numera på nätet, och inkluderas bäst i koden genom att man använder deras egna CDN:er. För att få jQuery UI att fungera bra på enheter med petskärm behövs biblioteket jQuery UI Touch Punch. Detta får man ladda hem och lägga på samma plats som HTML-filerna.

Totalt behövs alltså tre inkluderade filer:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
<script src="http://mikael.tylmad.com/js/jquery.ui.touch-punch.min.js"></script>

Koden som behövs för att nu göra våra pusselbitar flyttbara är totalt en rad lång.

<script>
  $(".pusselbit").draggable();
</script>

Här väljer vi ut alla HTML-element som tillhör klassen pusselbit och gör dem dragbara. I HTML-koden kommer vi givetvis behöva ge bilderna rätt klass, men hela den resulterande koden blir fortfarande väldigt simpel:

<!DOCTYPE html>
<html lang="sv">
  <head>
    <meta charset="utf-8" />
    <title>Ett pussel!</title>
    <style>
      html
      {
        background-color: black;
      }
      #bakgrund
      {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -219px;
        margin-left: -367px;
        z-index: -1;
      }
    </style>
  </head>
  <body>
    <img id="bakgrund" src="http://mikael.tylmad.com/files/2013/04/Isabella_svartvit_bakgrund.png" />
    <img class="pusselbit" src="http://mikael.tylmad.com/files/2013/04/Isabella1.png" />
    <img class="pusselbit" src="http://mikael.tylmad.com/files/2013/04/Isabella2.png" />
    <img class="pusselbit" src="http://mikael.tylmad.com/files/2013/04/Isabella3.png" />
    <img class="pusselbit" src="http://mikael.tylmad.com/files/2013/04/Isabella4.png" />
    <img class="pusselbit" src="http://mikael.tylmad.com/files/2013/04/Isabella5.png" />
    <img class="pusselbit" src="http://mikael.tylmad.com/files/2013/04/Isabella6.png" />

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
    <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
    <script src="http://mikael.tylmad.com/js/jquery.ui.touch-punch.min.js"></script>
    <script>
      $(".pusselbit").draggable();
    </script>
  </body>
</html>

Testa att lägga pusslet:

http://mikael.tylmad.com/files/2013/04/pussel_steg3.html.

Nästa naturliga steg är att vidareutveckla designen på sidan och kanske ha några olika pussel som man kan lägga. Det skulle också vara snyggt med lite mer JavaScript-kod som exempelvis slumpar ut pusselbitarna på skärmen varje gång man laddar ett pussel, och som kanske inser när pusslet är färdigt. Jag återkommer!

Maila din kommentar till mikael@tylmad.com, så lägger jag in den under inlägget.