Archive for februari, 2009

Flyger med ett leende

februari 23, 2009

Mitt exjobb resulterade i en fungerande magnetometer (efter ännu en exjobbare fixat mina misstag och tweakat i ordning det det hela (sen dess har säkert ännu mer förrändrats)) som efter ett par års tvekan ska sättas i arbete. SMILE (som magnetometern heter) ska flyga med Cascades-2 missionen som i dagsläget endast väntar på rätta vindar, dels på solvindar och dels på att lokala vindar vid raketbasen ska lugna ned sig. Hanna och Tobbe, som doktorerade (och fortfarande doktorerar) på KTHs avdelning för rymd-och plasmafysik när jag gjorde exjobb/jobbade där, är i Toolit (Alaska) där de bland annat ska hjälpa till med att göra lite mätningar från marken under uppskjutningen (ifall jag förstått det hela rätt. Cascades-2 är ett sondraketsexperiment som skall undersöka elektronnederbörd i diskreta norrsken under specifika förhållanden:

”The purpose of the Cascades sounding rocket mission is the investigation of motions and structure of electron precipitation in pre-midnight poleward edge discrete aurora.”

Det är fruktansvärt roligt att saker man en gång var med och arbetade med får flyga på riktigt och eventuellt göra nytta.

Fortlöpande information om Cascades-2 finns att hämta från den officiella hemsidans nyheter och Hannas blogg kan säkert skänka insikter även den.

EDIT: vädret har inte klaffat så uppskjutningen är framskjuten ett par veckor.

Detektivbyrån

februari 21, 2009

För knappt tre veckor damp det ner ett vadderat kuvert i min brevlåda lite oväntat. Brevet var från min ömma moder och innehöll ett meddelande, en strumpa samt Detektivbyråns skiva Wermland. Detektivbyrån hade jag hört ett par gånger tidigare samt laddat ner låtarna de har publicerat på sin hemsida och gillade musik skarpt så jag blev överlycklig.

Detektivbyråns musik är en aning anorlunda, instrumenten som spelas är bland annat klockspel, dragspel, eltrummor, elpiano, mellotron och sax (typen som säger snip-snip). Musiken är ganska varierande men den är oftast glad och alltid melodisk. De verkar ha smak för valstakt (3:4-takt tror jag det heter egentligen) och jag funderar ifall det har något med dragspelet att göra, att dragspelsmusik passar bra i valstakt. (Ifall någon med erfarenhet av dragspel läser detta och vet säkert får ni gärna berätta i en kommentar). Musiken känns bitvis som en akustisk form av bitpop, ibland som en bitpopinfluerad kabaré, ibland som vals och ibland som något helt unikt! Låtnamnen är en blandning av dåliga ordvitsar, skumma referenser och vad som endast kan klassas som rent nonsens, jag tycker det är fascinerande! (Det påminner lite grann om Pluxus låtnamn fast inte riktigt.)

Förra lördagen spelade dom i Hässleholm på Markan och jag kunde inte låta bli att fara och se/lyssna på dom. Det var riktigt skoj, Detektivbyrån spelade fantastiskt och var väldigt avslappnade och verkade öppna och trevliga. Snacket mellan låtarna var aningen förvirrat och på Värmländska men väldigt roligt. De berättade bland annat att de gör så mycket som möjligt själva och detta innefattar allt från reparation av instrument till produktion, men de hade iallfall med sig en ljudtekniker och en trumslagare (som de tackade varmt för deras insatser). Trummisen gjorde ett strålande jobb och arbetade med allt från vanliga trummor till eltrummor och saxar.

De må vara suddiga men spela kan dom!

De må vara suddiga men spela kan dom!

Detektivbyrån är vänliga nog att lägga ut ett par smakprov för nedladdning på deras hemsida.

Åkes topp-tre från skivan Wermland:

  1. Life/Universe
  2. Partyland
  3. Kärlekens alla färjor

Bunny downloader

februari 16, 2009

Mitt första python-program laddade ner den senaste bunny-comic-stripen och presenterade den på mitt skrivbord. Jag var ganska nöjd med funktionen eftersom det gav en hel del nöje, men koden var något som skulle ha passat bättre som ett bash-script. Det var väldigt linjärt och anropade wget som ett externt program flera gånger och sedan utgick det från bunny-comic’s webb-sida som förändrades då och då så att programmet slutade fungera.

Bunny-comic, av Huw Lem Davies.

Efter att ha bekantat mig med python ett tag skrev jag om programmet för att använda python mer än externa program samt för att använda seriens rss-flöde. python är lyckligtvis fruktansvärt välutrustad med bibliotek och de två som behövs för att ladda ner och tolka ett rss-flöde är socket och xmllib. Socket används för att koppla upp sig mot servern i fråga och ladda ner rss-flödet, xmllib används för att tolka det nedladdade flödet.

Nedanstående klass skrev jag ihop för att hantera rss-flödet, det laddar ner rss-flödet och ersätter html-koder med motsvarande tecken. Vid initieringen av klassen laddas flödet ner med hjälp av en socket (inställd för att skicka data som en ström, och kommer därför bete sig ungefär som en fil). Data läses så läng det finns data kvar i strömmen och lagras i en intern sträng.

htmlCodes = {"‘":"\'", "&rsquo":"\'", "“": "\"", "”": "\"",""" : "\""}
#download feed
class rssFeed:

    host_str = ""
    path_str = ""
    #rssSock
    file = ""

    def cleanFeed(self, feed_str):
        for i,j in htmlCodes.iteritems():
            subst = re.compile(i)
            feed_str = subst.sub(j, feed_str)

        return feed_str

    def __init__(self, rssAddress):

        parts = re.split("/", rssAddress)
        if(len(parts) < 2):
            return
        self.host_str = parts[2]
        self.path_str = rssAddress[len(parts[2]) + 7:]

        print "host = " + self.host_str
        print "path = " + self.path_str

        self.rssSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        self.rssSock.connect((self.host_str, 80))

        self.rssSock.send("GET %s HTTP/1.0\r\nHost: %s\r\n\r\n" % (self.path_str, self.host_str))

        while 1:
            read_str = self.rssSock.recv(2048)

            self.file = self.file + read_str
            if not read_str:
                break
        self.file = self.cleanFeed(self.file)

Klassen rss_parser utökar xmllib‘s XMLParser-klass och bygger vidare med instruktioner för hur den skall tolka början/slut av de olika sektionerna. I mitt fall är det description-fältet som är mest intressant, här finns nämligen referens till bilden och bildtext. Med hjälp av reguljära uttryck plockar jag ut sökvägen till bilden i fråga och sparar undan den. Jag lagrar all data jag plockar ut i en lista så att jag kan välja vilken av de seriestripar som för tillfället finns i flödet som jag vill plocka ut.

#RSS parser
class rss_parser(xmllib.XMLParser):
    data  = ""
    title = []
    link  = []

    comic = []
    desc  = []

    def start_title(self, attr):
        self.data = ""

    def end_title(self):
#       print "TITLE", repr(self.data)
        self.title.append(self.data)

    def start_link(self, attr):
        self.data = ""

    def end_link(self):
#       print "LINK", repr(self.data)
        self.link.append(self.data)

    def start_description(self, attr):
        self.data = ""

    def end_description(self):
        exploded = re.split('\"', self.data)

        #self.desc.append = {exploded[1]:exploded[3]}
        #print "DESCRIPTION", self.data
        if(len(exploded) > 3):
#           print exploded[1], ":", exploded[3]
            self.comic.append(exploded[1])
            self.desc.append(exploded[3])

    def handle_data(self, data):
        self.data = self.data + data

    def get_strip(self, number):
        returnStrip = strip()

        if(number < len(self.title)):
            returnStrip.title = self.title[number]

            returnStrip.link        = self.link[number]
            returnStrip.comic       = self.comic[number]

            returnStrip.desc        = self.comic[number]

            return returnStrip

tyvärr skall man helst inte använda xmllib längre så jag är i färd med att undersöka SAX och se ifall jag kan lista ut hur det fungerar. Ifall någon som kan python/sockets/XML på riktigt läser det här får ni gärna kommentera och peka ut eventuella (eller kanske troliga) fel.

Å ä ö i Python

februari 8, 2009

Jag får många sökträffar på python å ä ö och likande och det finns information om detta på bloggen men det är undangömt i en kommentar. För att göra denna information mer lättillgänglig sammanfattar jag vad man behöver göra nedan.

Python (2.5 åtminstone) arbetar som ett eget shell och tar inte alltid hänsyn till systemets språkinställningar. Detta innebär att felmeddelanden kan dyka upp ifall tecken som ‘å’, ‘ä’ och ‘ö’ används ifall språkinställningarna är felaktiga eller att scriptet/programmet körs på ett system någon annanstans i världen där teckenkodningen skiljer sig från UTF-8 eller latin-*. För att komma runt detta problem kan man tvinga python att använda en specifik teckenkodning enligt PEP-0263.

Det kan till exempel se ut så här  överst i en python-fil som ska använda UTF-8:

#!/usr/bin/python
# -*- coding: utf-8 -*-

#Här börjar programmet/skriptet/biblioteket
#Titta åäö ger inga fel!

Filmer sedda under Januari -09

februari 4, 2009

Nu har jag haft månadens filmer i ett år, och jag har nog aldrig varit mer en 10-dagar sen med att få den publicerad på bloggen. Det har varit bra att verkligen tänka på vad jag tycker om filmer och jag kommer nog fortsätta ett tag till. Jag har varit på bio två gånger den här månaden och har blivit påmind om hur mycket bättre film är på bio än hemma.

  • Corpse Bride: Tim Burton är alltid ett säkert kort, även denna gång lyckas han göra en intelligen rolig och rörande film om kärlek, svek och ond bråd död. Denna film är mästerligt animerad och har en rolluppsättning som skulle få vilken storfilmsproducent som helst att dregla.
  • Northanger Abbey: Northanger Abbey följer en ung dam från en nedre-överklassfamiljs strapatser efter hon förälskat sig i sonen till en general vars familj bor i titelns Northanger Abbey. Filmen är fängslande trots att historien numera är klassisk (baserad på romanen med samma namn av Jane Austen) och att slutet är en aning abrupt.
  • Picnic at Hanging Rock: Den här verklighetsbaserade filmen beskrivs ofta som ”Eerie” eller ”kuslig” på svenska och det med all rätt. Tempot är inte direkt högt men den håller tankar och funderingar igång hos åskaderen. Handlingen kretsar kring tre flickors försvinnande från en årlig Picknic vid Hanging Rock, samt de efterspel händelsen får i flickornas skola.
  • The Station Agent: Finbar MacBride, en man med dvärgväxt, har precis förlorat sin bästa vän och ärvt av honom ett stationshus mitt ute i obyggden. För att komma bort från allting flyttar Finbar ut till stationshuset och försöker gräva ner sig i sin hobby trainspotting, dock är det inte så lätt som man kan tänka sig när en understimulerad korvförsäljare vill ha sällskap. En riktig må-bra-film som gjorde mig glad.
  • The Day the Earth Stood Still: Vanligtvis tycker jag inte att remakes är något särskillt men eftersom jag inte sett originalet tänkte jag att det inte kunde skada att se den här när den gick på bio (science-fiction-utbudet på biografer är aningen begränsat). Keanu Reeves gör sig bra som en väldigt uttryckslös och stel Klaatu.
  • Changeling: Manus av J. Michael Straczynski och regi av Clint Eastwood gör det här dramat till en riktigt stark film. En pojke försvinner spårlöst och efter ett par månader påstår polisen sig ha hittat pojken ifråga och återförenar de två trots att modern starkt hävdar att det är en komplett främlig de kommit med. Filmen bygger på verkliga händelser och visar på hur korrumperad poliskåren i Los Angeles var på slutet av 20-talet.
  • Ultraviolet: Ultraviolet försöker verkligen vara snygg och cool men lyckas inte riktigt, den har massor av tuffa effekter och cool teknologi och till och med vampyrer men lyckas ändå inte bli en bra film. Jag tror det blev en aning mycket av det goda så att filmen saknar fokus. Det finns dock ett par tuffa sekvenser som gör att filmen kan vara kul att titta på men i det stora hela är det inte mer än en halvbra film.