Clojure för webbapplikationer

Jag har tidigare skrivit om Clojure, och nu fick jag chansen att leka loss lite med det igen. Den här utmärkta tutorialen från Mark McGranaghan förklarar hur man bygger webapplikationer, eller åtminstone ett ramverk för det.

Grundapplikationen är trivial (summera två tal och ge svaret i din webbläsare), men tutorialen går förtjänstfullt och kort igenom projektverktyget Leiningen, enhetstester och hur man hanterar olika miljöer, utvecklingsmiljön och produktionsmiljön.

Clojure är förvisso inte starkt typat, men det blir ibland fortfarande svårt att veta exakt hur det hanterar olika saker. Det är dock förmätet att skylla det på språket. Att bygga html har aldrig varit enklare än med hiccup-biblioteket.

Pride!

Gaytek ordnade som vanligt tält i Pride Park, där man berättar om KTHs verksamhet, och vad folk gör där. Det är alltid intressant att höra om folk som pluggat där tidigare, och folk som är intresserade av att börja på KTH.

Vi gjorde experiment med såpbubblor, flytande kväve, helium och olika optiska fenomen. Jag hoppas att Anna fixar upp bilder på Gaytek.se så snart som möjligt.

Skärmavbild 2010-08-01 kl. 12.28.19

Jag lyckades även hinna filma seminariet Vem har makten över din framtid? med LUF och Liberati och lägga upp det på Bambuser. Den här gången filmades seminariet med en Logitech 9000 för Mac. Jag spelade in utljudet direkt vid den schysst kondensatormicen jag pratade om i ett tidigare inlägg.

Som vanligt grät jag lite i Paraden när Mille kom med tiger och allt på sin enorma pansarkryssare till motorcykel. Marching for those who can’t blir också alltid starkt. Det finns en hel drös med paradbilder på www.stockholmpride.org.

Bilden stals från qx.se och är tagen av Jonas Norén, och beskuren dessutom

Mille på motorcykelpansarkryssare. (Bilden stals från qx.se och är tagen av Jonas Norén, och beskuren dessutom)

Jag hann dessutom diskutera migrationspolitik med migrationsminister Tobias Billström. Jag undrade frankt varför vi inte kunde ha helt fri invandring. Billström menade att det dels fanns en folklig opinion mot fri invandring, och dels att man i Sverige helst vill ha koll på vilka som är i landet. Dessutom är det lite baklänges att bara Sverige vill ha fri invandring, om inget annat land i världen vill ha det. Det bygger lite på att alla deltar.

Billström hävdade att man från Alliansens sida gjort sitt bästa för att göra invandringen så fri som möjligt, till exempel har man tagit bort en del av de begränsande reglerna för arbetskraftsinvandring – bra tycker jag. De fria universiteten för studenter från tredje land har man ju dock tagit bort, och det är ju ett steg tillbaka.

Om femtio år tror jag vi kommer ha fri migration i världen.

Almedalen och seminariefilmning

Skärmavbild 2010-07-20 kl. 11.43.00

Vi i Liberati var i Almedalen.

Vi hade ett frihetsseminarium som jag filmade. Kolla gärna på frihetsseminariet på Bambuser. Om man ska vara lite teknisk filmade jag med en Sony 3CCD-kamera (ansluten via Firewire till min dator) och spelade in ljudet med en (!) Studio electronics sEX1 som gick in i mitt M-Audio Fasttrac Pro-ljudkort. Anledningen till att det inte behövdes en massa myggor var att vi inte hade förstärkt tal (det var en välbyggd föreläsningssal). Allt streamades via högskolans trådlösa nätverk via bambusers vanliga webklient.

För övrigt är Johan Öbrinks resonemang om politiker som borde ha en exit helt lysande.

ftw!

A reasonable man adapts himself to suit his environment. An unreasonable man
persists in attempting to adapt his environment to suit himself. Therefore, all
progress depends on the unreasonable man.
  -- George Bernard Shaw

Pluxus – European Onion

Skärmavbild 2010-06-01 kl. 22.00.09

Det fanns en tid i mitt liv då jag tyckte Pluxus var det coolaste som fanns. Ja, inte riktigt kanske, men nästan. De var roliga och hade munter musik. Efter en spelning bestående av bara manglat brus på Färgfabriken var jag plötsligt inte så imponerad.

Men det är lite bra fortfarande. Lyssna bara på European Onion (Spotify), det verkar nästan som att Skype har snott både estetik och ljud från plattan. Lyssna bara på “Igår, Idag & From nu” så hör du Skype-lägg-på-ljudet hela tiden i bakgrunden liksom. Pluxus kan ju också ha stulit det från samma samplingsskiva, i och för sig, och båda är uttryck för zeitgeist á la 2002.

Brunnsviken runt

Idag var det ett fantastiskt tillfälle att springa ett brunnsviken till. Jag måste börja intervalträna så att jag kan springa maraton någon gång. Jag trodde aldrig jag skulle klara Göteborgsvarvet ens, men det gick ju bra. 2.05.13. Det finns till och med bilder på mig, kompletta med vattenmärken och allt, för den som inte tror mig.

4.2 mil är enligt Dago inga problem alls, förutom att man blir väldigt stel i benen.

Brunnsviken är inte mer än en mil runt, jag trodde ju faktiskt att det var mer. Hmm, det gäller att hitta något annat stort att springa runt, som är väldigt svårforcerat – det är så lätt att fuska när man kan genvägar hur som helst. Om jag springer Lidingö runt blir det 4.2 mil. Men det är lätt att fuska.

Man kan förstås springa Edsviken runt.

9530_165985779045_136396579045_3725704_533586_n

Kolla in Skillnicker på facebook förresten. Det är världens grymmaste band.

Förresten så har det kommit en ny grym ledningsgrupp på THS, och allt börjar om, nu utan kårobligatorium.

Svarta hål

VIC Stockholm ordnade idag en föreläsning om astronomivisualiseringar, där Kambiz Fathi från Astronomi på SU, och han berättade om supermassiva svarta hål, som verkar finnas i mitten av de allra flesta galaxer.

Det är oklart hur de enorma svarta hålen (stora som solsystem) faktiskt bildas, och exakt vad de har för betydelse för hur galaxer bildas och hålls ihop. Ett som är säkert är i alla fall att de frigör osannolika mängder energi. I vissa galaxer frigör själva hålen mer energi än resten av hela galaxen tillsammans.

En kille jag projektarbetade med, Rickard Åhslund, gjorde visualiseringar för hålet i mitten av Vintergatan. Hålet i mitten av vår galax har för övrigt råkat ut för en supernovaexplosion för bara några tiotusental år sedan, varför det verkar som att hålet inte riktigt beter sig som det brukar.

Fathi visade också simuleringar av hur det såg ut kring andra hål. Det verkar nämligen som att hålen “dansar” kring varandra innan de slukar varandra. Detta formar hela galaxers utseende.

Studier, summa summarum

Jag har en väldigt konstig skolgång bakom mig. Allt gick bra i grundskolan, jag behövde inte plugga något alls. Det enda som gick dåligt med den taktiken var engelska och franska, eftersom jag inte riktigt förstod vad man skulle med dem till. Jag ägnade väldigt mycket tid åt att sitta uppe på kvällarna och programmera och andra saker på vår dator.

Såhär i efterhand tycker jag kanske att det var synd att jag inte fick så mycket stimulans i skolan för att lära mig mer om till exempel programmering. Vissa saker blev direkt löjliga, som när jag lärde mig om variabler i mellanstadiet, långt före alla matematikböcker kommit dit. Jamen, så svårt är det faktiskt inte. I synnerhet i datorprogram.

På gymnasiet blev det inte så bra. NV innebär att man läser extremt många ämnen samtidigt, och antagligen måste göra läxor. Eftersom jag aldrig lärt mig det, blev det svårt. Det hela blev inte enklare av att min mor då var svårt sjuk och jag som bäst höll på att komma ut som bög. Jag valde medieteknik, och det var ganska intressant. Det var åtminstone inte både naturvetenskap och samhällskunskap samtidigt. Jag klarade mig tack vare fantatiska och engagerade lärare på något vis igenom, nästan i alla fall. Det var ett arbete om genus i media som jag inte förmådde mig att klara igenom. Och en författarintervju med plogbilsaktivisten Per Herngren. Det har grämt mig sedan dess.

Efter en sväng med värnplikt i en surrealisk norrländsk miljö kom jag till Stockholm, klarade Tekniskt basår med bravur, och kom in på Teknisk Fysik. där jag prompt skulle gå med i mottagningen. Det engagemanget tog många poäng av min utbildning och gjorde att jag kom ohjälpligt efter. Engagemangens praktiska och roliga skola, som till slut fick mig att arbeta ett helt år heltid Tekniska Högskolans Studentkår, skilde sig markant från min den bild elektronik för alla och liknande böcker jag läst i min ungdom att ingenjörsutbildning skulle te sig.

Egentligen borde jag förstått långt tidigare att jag inte trivdes med atmosfären på programmet. Lärarna hade extremt stora klasser och svårt att hinna se studenterna, somliga försökte nog faktiskt inte ens. Det gjorde mig förstås heligt förbannad, vilket är mitt problem. Om en person som ska lära ut något inte ens själv tycker att det är intressant – varför skulle jag då tycka det? På KTH var det en svaghet, eftersom att tentorna obönhörligen lades på hög om man inte läste in kurserna. Och tentor sedan – vilket trams. Varför ska hundra personer lösa exakt samma uppgifter? Tankar om en utbildningsfabrik verkade vara djupt rotade.

Under mitt år på studentkåren (vilket jag rekommenderar alla som vill lära sig mycket här i livet) träffade jag bland annat på Kristina Edström, som arbetar på KTH Learning Lab, och hävdade att man kanske inte alls bara måste ha tentor (och framför allt förekommer inte tentor i arbetslivet särskillt ofta i vilket fall). Jag insåg också hur svårt det är att bedriva förändringsarbete i en så stor organisation som KTH är. Inte bara för att det är akademiker i organisationen, utan också för att personer ges ganska lite tid för att utföra ledandet. Förfärligt lite tid skulle somliga säga.

Nu är jag ett år efter kåren, och vad kan jag säga? Det har inte gått något vidare, jag har tagit på mig en alldeles för stor arbetsbörda, och kommer under inga omständigheter hinna färdigt med allt jag skulle vilja göra. Förhoppningarna och önskningarna om utlandsstudier grusas ständigt på grund av mina resttentor (jag överväger att strunta i vad internationella koordinatorer och studievägledare säger och åka i vilket fall, förvissad om att det löser sig).

Vad har jag fått ut av min tid, då?

Jag har lärt mig ohyggligt mycket matematik, även om jag tröttnade på ämnet som sådant. Jag hann åtminstone förstå principerna bakom fouriertransformer innan jag tröttnade.

Datalogi lärde jag mig en del nytt i. Den inledande javakursen var bisarrt konstig, även om den lärde mig objektorienterad programmering, i alla fall grundläggande. Göran Manneberg lärde oss en hel del om vågrörelselära, och jag förstår grundläggande relativitetsteori. Eftersom jag tröttnade på att gå på föreläsningar (det går vanligtvis för långsamt och är helt sjukt att man inte får koncentrera sig på ett ämne i taget, och det mesta man säger står vanligtvis i boken – platsen för personliga reflektioner från läraren är minimala) så läste jag till slut in reglertekniken själv och klarade den med näst högsta betyg. Å andra sidan gjorde jag inte mycket annat just den terminen.

Somliga kurser var farsartat dåliga. Läraren som man inte kunde höra vad han sa, eller den där föreläsningen om informationssökning, där powerpointpresentationen var fem eller sex år gammal (Metacrawler? Hotbot?) var surrealistisk.

Sorgsenheten över insikten att studienämndernas arbete var helt förgäves, eftersom att det kunde ta tre år att byta ut en lärare. Sorgsenheten över att institutioner delade upp kurser mellan sig, inte av pedagogiska skäl, utan krasst ekonomiska. Det eviga flängandet mellan föreläsningar och “övningar” (vilket allt som oftast degraderats till tavelräkning). Ännu mer ledsamt var det kanske att inse att det ibland inte verkade finnas någon tanke bakom pedagogiken alls.

Höjdpunkter var antagligen att göra konvergenskartor över elliptiska polynoms konvergens i numeriska metoder, några beräkningar på interferens i tunna skikt i vågrörelseläran, att jag förstod hur en värmepump fungerade, att lära sig rekursiv programmering (äntligen), och att typsätta några formler i LaTEX. Henrik Erikssons anteckningar till grundläggande datalogi och Människa-dator-introduktion grundkurs med Gulan förtjänar också ett omnämnande bland kurserna. Någon ettans fest, sub rosa och Gaytek (och att jag fick pris i stadshuset för mitt arbete med det), middagar på elab, finurliga fadderiet, en sen kväll i sqrubben spelandes bastuba, alla intressanta diskussioner med vänner och föreläsningar (oftast utanför schemat), sensommar på campus, att högljutt diskutera pedagogik med KTH förvaltningschef och ett antal THS-middagar, fjällresa, att lära sig tyska.

Jamen det är klart att fördelarna överskuggar det mesta. Det är bara lite tråkigt att det är så många krav och så låg densitet på aha-upplevelserna. Det är dags att gå vidare då, oavsett om man är klar eller inte.

Ett par veckor med Clojure

Senaste veckorna har jag försökt lära mig Lisp och framförallt Clojure, en Lisp som bygger på Javas virtuella maskin, och dessutom kan använda alla Javas bibliotek för att kommunicera med omvärlden, där de åldrande biblioteken i standarden Common Lisp har varit något av ett problem.

Jag blev först frälst av Paul Grahams bok “Hackers and painters” (tack för lånet, Fredrik), där Paul Graham skriver essäer om vilka programmeringsspråk man kan tänkas använda om hundra år. Svaret är troligtvis något som liknar Lisp, snarare än de mest populära språken idag. Graham ställer upp trender, och går från assembler till Cobol, C och C++, för att sedan komma till Java och sist Python, Haskell och Erlang. Alla dessa språk saknar viktiga paradigm, eller riktar in sig på ett av dem. Lisp menar han, har alla paradigm och är homoikont – dvs alla delar av språket ser likadana ut, och språket kan utvidga sig själv.

Clojure då? Är det hundraårsspråket? Nej, troligtvis inte. Javas virtuella maskin är enligt Clojures skapare Rich Hickney en riktig “state-of-the-art”, men jag kan själv se att skapelsen inte kommer att kunna hänga med för evigt. Kommer JVM till exempel att kunna hantera FPGA:er när de kretsarna blir allmänt tillgängliga? Och byte till nya operativsystem?

Även politik hotar förstås Java och JVM. Oracle verkar ha köpt upp Sun, som ursprungligen utvecklade Java (och satsade stora pengar på utveckling). Nu är allt Open Source, vilket är bra. Men kommer Oracle – som tjänar stora pengar på att sälja SQL-databaser, att vara tillräckligt innovativa för att acceptera en förändring från SQL till helt andra databasmodeller, som kommer att kräva omfattande nyutveckling?

För en introduktion till det äldre Common Lisp, kolla in Practical Common Lisp, boken finns helt gratis på nätet.

Rixmöte, filming och en avhjälpt wordpresskrasch

Vilken dag, upp tidigt efter en sen kväll med filmning av pjäsen Nocturne av Peter Bark, på Teaterverket vid Odenplan. Det blev senare en halvtimmes Queerklubbande i min källare med resten av Gaytek och en hel del andra.

Kosan bar mot Västerås, och folkpartiets Rixmöte. Jag och Alex filmade ett seminarium med LUF, där en av andemeningarna var att vuxna politiker kanske inte göre sig besvär på skolor, universitet och i annan kommunikation. Jag kan förstå dem, samtidigt som det är synd att man känner sig tvingad att isolera kommunikationen. Å andra sidan har folkpartiet inte varit särskilt ungdomsvänliga i sitt tilltal det senaste. Och det precis efter att FRA-frågan ebbat ut en smula.

Slutredigeringen kommer, men det kommer att ta en hel del arbete. Ni kommer att bli varse.

Det visade sig att jag lyckats krasha en viktig wordpressinstallation genom att fylla hårddisken med säkerhetskopior. Oproffsigt. Jag ska se till att lösa backupen på ett bättre sätt, men löste det tillfälligt genom att ta bort gamla överflödiga säkerhetskopior. Finns det inget effektivt vis att göra det och enkelt automatisera det?

Roligaste dagen på länge.




bookcase headboards wisconsin
850 fiat pics
hollywoodcomics.com
nellie c offutt
geschlechtsverkehr mit kinder ist legal erlaubt
aquatic center gainesville fl
thebrandywine.com
askmen com brooke burke photo
african lion pride
chaparral letterman jackets
allstate nicholas palmieri legal issues ny
myprojectorlamps.com
21st century tower dubai
2008 ensemble theatre cincinnati seasoin
tasha evilsizer
adapter for iphone headphone jack
jackie lyman
rickseaney.com
reo west los angeles california westside
filthy-britain.co.uk
06 cummins turbo