Archive for maj, 2010

Raindrops

maj 27, 2010

I veckan har det regnat, men inte jämnt utan sporadiskt och kraftigt. Lyckligtvis fungerar Data/Lore’s (min bil) vindrutetorkare efter en period av inte så mycket fungerande.

I solens sken kan man fortfarande se regnets spår. Regndroppar ligger spridda över marken, luften är fräsch och färgerna är starkare än vad man minns dom som.

Även om vädret vänder ett nytt blad så är naturens blad desamma. (detta gäller inte för mer extrema väder, t.ex. gräshopp-svärmar…vad menar du nu ”inte väder”?)

Regnet förde mig ut på fotojakt och ibland är det ett par steg runt kvarteret som kan vända en kväll av slöhet till en energisk kakofoni av städning, målning och peppande musik.

P.S. Ifall denna blogpost var osedvanligt osammanhängande ber jag om ursäkt med hänvisning till att jag inte sovit tillräckligt. Om ni sedan skulle poängtera att det är en något dålig ursäkt klockan elva på kvällen, skulle fråga hur ni nu resonerar och ifall tid borde anses vara ett absolut begrepp eller ett begrepp relativt hur högt du spelar Ebba Grön jämfört med volymen på grannens stereo (som enligt en extrapolering av Lagen om Alltings Djävlighet spelar den musik som du gillar minst).

But I digress… God Natt

Selection Sort

maj 21, 2010

The Reinvigorated Programmer utfärdade en ny utmaning, implementera selection sort. Selection Sort är en ganska enkel (läs ineffektiv) sorteringsrutin som letar igenom en uppsättning värden och väljer ut det lägsta och placerar det först i en lista (kan vara in-place, dvs samma lista som innehåller de osorterade värdena).

Jag tyckte det här var en bra övning att träna på lite mer formella algoritm-beskrivningar så jag började med att sätta upp invarians, gränsfunktioner och pre/post-conditions (hur översätts dessa?) och skrev sedan min algoritm utifrån dessa beskrivningar. Eftersom det är första gången jag skriver dessa formella beskrivningar är jag lite osäker på om jag uttrycker det jag vill att algoritmen skall göra på rätt sätt. Jag uppskattar därför alla kommentarer på nedanstående c-kod och beskrivningar.

/*
 * Invariant: if val at any position i in an array array of length len
 *  is lower than the current value at j in the array the value is at
 *  an i > j and i < len
 *
 * bound function: 0 <= j < length - 1
 *                 j <  i < length
 *
 * precondition:  a[] is an unsorted array of integers of the size len
 * postcondition: a[] is an array sorted higher to lower
 * */
void selectSort(int a[], int len)
{
  int tempStore, i, j;

  for (j = 0; j < len - 1; j++)
  {
    for (i = j + 1; i < len; i++)
    {
      if (a[i] < a[j])
      {
	tempStore = a[j];
	a[j] = a[i];
	a[i] = tempStore;
      }
    }
  }
  return;
}

syntax highlighted by Code2HTML, v. 0.9.1

Parallella serier

maj 18, 2010

(Jag tycker fortfarande att ”parallell” i alla dess former är roligt att skriva, fyra ‘l’!)

Jag läser just nu en hel hög seriealbum samtidigt, Sandman (Vol IX The Kindly Ones), Death’s Head (Vol 2), RASL (Vol 2 The Fire of St George) och Captain Britain (Vol 4 The Siege of Camelot). Och det är intressant hur olika de är stilmässigt, och nu menar jag i språk, i bild och i berättande.

Captain Britain startade som en Brittisk klon av spindelmannen med vaga referenser till de brittiska öarnas mytologi (Merlin är väl den mest framträdande figuren). Tempot och stilen förändras ganska abrubt när Captain Britain dyker upp i en Black Knight historia vandrandes på stranden utan en aning om sin egen identitet. Den här historien har ett långsammare tempo och är tecknat i svart/vitt utan grå skalor vilket ger en ganska dyster stämning. Denna story drar in mer brittisk mytologi med Otherworld, Camelot och Kung Arthur. Längre fram förändras serien igen, denna gång går stilen tillbaka till mer standardiserad Marvel-stil och den sista storyn produceras av Alan Moore och Alan Davis.

Sandman är en klassiker i serievärlden, skapad av den fantastiska författaren Neil Gaiman och tecknad av en uppsjö olika tecknare. Historien är komplex och får en till synes omnipotent protagonist (Oh yes, dom orden!) Dream/Sandman/Morpheus visa svagheter och en rätt sorgsen personlighet. De återkommande karaktärerna är starka och jag tycker särskilt om Delirium, en ung förvirrad, glad, ledsen, uppsluppen, osannorlik flicka i tonåren. Hennes dialog går i rengbågens alla färger och är sällan sammanhängande men ändå ofta full av insikter. Serien är för lång och komplex, referenserna till litteratur och mytologi för många, karaktärerna för färgstarka för att sammanfatta på några rader.

Death’s Head anser sig vara en ”Frilansande fredsbevarande soldat” även om de flesta anser honom vara en prisjägare. Den här serien är en mer brittisk Marvel-serie än (åtminstone den tidiga) Captain Britain då serien är mer våldsam och humoristisk. Death’s Head som karaktär sticker ut pga. sin vana att formulera var och varannan mening som en fråga. Det är imponerande hur mycket karaktär bara ett visst sätt att tala kan ge en karaktär, och hur lätt det är att tycka om denna frilansande fredsbevarande soldat trots alla hans brister. Som egen serie existerade Death’s Head inte särskilt länge, men som karaktär/fenomen har han haft ett långt och brokigt liv och dykt upp i allehanda serier.

RASL är en enkel konsttjuv på samma vis som en fraktal är ett enkelt mönster, varje sida jag läser lägger till en ny dimension i karaktären och varje kapitel ger nya större frågor samtidigt som frågor från tidiga kapitel besvaras. Jag har tidigare skrivit om RASL del 1. Del två spenderar större delen av tiden till att fylla ut bakgrundshistorien, förklarar tekniken bakom RASL‘s dimensions-drift-utrustning samt varför RASL nu är laglös. Det tråkiga är att det lär dröja minst ett år innan del 3 dyker upp i handeln.

else