Sommarsummering

september 7, 2014

Semestern började med vansbrosimmningen och gick sedan mycket snabbt. Mycket hanns med men vila var det lite brist på. Universum gjorde sitt bästa för att kompensera med värme men det visade sig snabbt att detta inte var vidare lyckat. Bilen rullade ca 320 mil och jag hann både se höga kusten och uppleva den ultimata köupplevelsen på Gröna Lund. Vi hann ha det rätt fint värmen till trots och det hjälpte mycket att sova i tält så nätterna blev uthärdliga.

Utsikt över Ulvön

Utsikt över Ulvön

Direkt efter semestern åkte jag på jobbresa till Florida för att validera en produkt mot vår partners skrivare. Florida är på tok för varmt och fuktigt i Juli för att man ska kunna uthärda utomhus i många minuter. Det blev mest att jobba och sova. En halvdag ledigt fick jag iallafall och gick en sväng på stranden.

När jag återvände från landet i väst (USA, inte Norge) packade vi oss ombord på ett tåg och åkte upp till Dalarna för att se Kraftwerk uppträda på Dalhalla. Innan föreställningen hade vi lyxen att bli bjudna på fördring vid ett par bekantas husvagn på parkeringen. Bandet levererade och körde samtliga klassiker till publikens stora jubel.

Kraftwerk

Kraftwerk

Dalhalla är en riktigt häftig plats och det förgyllde nog upplevelsen avsevärt.

Efter Kraftwerk-konserten följde en lugn tid fram till Kalabalik på Tyrolen. En festival med synth och EBM-musik förlagd på en upprustad folkpark i Blädinge utanför Alvesta. Banden var för mig som vanligt i helt okända men många var riktigt bra. Planet, Video Look och Koloroïd imponerade mest. Sedan spelade också det fantastiska bandet Playa Del Igles som sjöng om bilar eller att bada eller nått.

Playa del Igles på Scen

Playa del Igles på Scen

Vi hade också riktigt tur med tältgrannar, ett gäng trevliga filurer dök upp kring vårt tält medan vi var borta och hade annat för oss.

Vid ingången lirade enmansbandet Anders Flanderz.

Vid ingången lirade enmansbandet Anders Flanderz.

Vansbrosimmet genomlevdes

juli 7, 2014

image

Årets sim var kallare än förra årets, vattnet var så pass kallt att de halverade sträckan.
Trots kylan var jag bra mycket lugnare än i fjol, det gick ju sist och d å var det ju dubbelt så långt tänkte jag. Trots dessa tankar var jag spänd när jag stod med min startgrupp och värmde upp. Det kalla vattnet fick mig dock att slappna av och koncentrera mig på andningen och simtagen. Efter ett par hundra meter var jag lugn och det hela kändes behagligt.

När jag sedan vände upp i Västerdalälven sänktes temperaturen ner till obehagliga nivåer men fårullsfettet höll förter och händer från att domna bort. Motströmspartiet var väldigt trångt i år och ibland fick jag simma hundsim för att ta mig fram.

I mål kom jag efter 38 minuter och 37 sekunder, och på väg för att hämta upp mina kläder började jag fryaa ordentligt. Ansiktet var så pass stelfruset att jag sluddrade när jag skulle prata. Väl inne i duschen släppte frossan och jag tinade upp, fårullsfettet ville dock inte släppa lika lätt. Trots flera tvagningar är mitt skinn fortfarande lite klibbigt.

Jag är mycket nöjd.

Kodtäckning i vim

juni 12, 2014

Jag börjar sakta men säkert komma igång med enhet/integrationstest av den kod jag skriver. Det hjälper och är inte allt för besvärligt när man kommit in i tankesättet. Jag använder mig av gtest och lär mig sakta men säkert dess funktioner.

13 Test och allt funkar, men vad säger det?

13 Test och allt funkar, men vad säger det?

Frågan man bör ställa sig är hur mycket av koden som faktiskt körs av mina tester och vilka olika vägar genom funktionerna som testas, dvs vilken kodtäckning har mina test.

gcc inkluderar verktyget gcov för att generera den här typen av information. Efter att ha lagt till kompilatorflaggorna -fprofile-arcs -ftest-coverage genereras gcov-filer när mina tester körs. Och när man sedan kör

gcov [filnamn.c]

får man en kort sammanfattning samt en gcov-fil

File 'filnamn.c'
Lines executed:64.90% of 510
viacode.c:creating 'viacode.c.gcov'

Den skapade *.gcov filen innehåller information om hur många gånger varje kodrad i filen har exekverats. För att gör det smidigare att använda ville jag ha in resultatet i min editor vim. Efter lite googlande hittade jag ett vim-skript som med lite modifieringar resulterade i detta:

" Based on Gautier DI FOLCO's vcov.vim found in
" https://groups.google.com/forum/#!msg/vim_use/tk9sG714b3I/LyMnXOQAqpMJ
"
" Modified by Åke Forslund <ake.forslund@gmail.com>

hi gcovCovered ctermbg=2
hi gcovNotCovered ctermbg=1

function! Setcov(filename)
exe ":sign unplace *"
for line in readfile(a:filename)
let d = split(line, ':')
let c = substitute(d[0], " *", "", "")
let l = substitute(d[1], " *", "", "")
if c >= 100
let c = '*'
endif
if '-' != c && c !~ '#'
exe ":sign define c" . c . " text=" . c . " texthl=gcovCovered"
exe ":sign place " . l . " line=" . l . " name=c" . c . " file=" . expand("%:p")
elseif c =~ '#'
exe ":sign define cd text=# texthl=gcovNotCovered"
exe ":sign place " . l . " line=" . l . " name=cd file=" . expand("%:p")
endif
endfor
endfunction

function! Unsetcov()
exe ":sign unplace *"
endfunction

map <F11> :call Setcov(expand(@%).".gcov")<cr>
map <F12> :call Unsetcov()<cr>

Skriptet finns på github med.

När jag nu trycker på F11 får jag in information om hur många gånger en viss rad anropas, alla rader som inte exekveras överhuvudtaget markeras i rött och rader som inte räknas in markeras i vitt.

gov-data Visualiserat i vim.

gcov-data Visualiserat i vim.

Det fungerar finfint och hjälper mig extremt mycket i mina taffliga försök att skriva relevanta testfall. Ytterligare funktioner kan med all säkerhet vara önskvärt och min plan är att slipa det ytterligare. T.ex hantera en saknad .gcov-fil på ett snyggt sätt.

PyCon Sweden 2014

maj 30, 2014

Tisdag till Onsdag förra veckan gick första upplagan av PyCon Sweden av stapeln och ett par hundra python intresserade människor trängde ihop sig i KTHs Q-hus för att lyssna på föredrag och umgås. Jag var där, lyssnade på intressanta föredrag och pratade med ett gäng intressanta personer.

Administrativt fungerade det mesta bra, finfina luncher och bra info (även om schemat släpptes rätt sent). Inga katastrofer och stämningen var bra. Lunchuppehållen var rätt långa vilket gav tid till att umgås och prata med folk.

Pythonistas på grönbete.

Pythonistas på grönbete.

Föreläsningarna var överlag intressanta och innefattade många olika ämnen, allt ifrån att bygga ett tag-in-system för ett gym till hur kryptografi fungerar på internet och vad svt pejl sysslar med.

Den i särklass bästa föreläsningen var Kenneth Reitz föredrag om den splittring som håller på att ske i Python. Skillnaderna mellan python2 och python3 skapar sprickor i python-gemenskapen. Dels mellan användare av de olika varianterna (min mjukvara kan inte köra på din dator för att du har en äldre version av python), och dels mellan användare och utvecklare (de flesta användare använder fortfarande python2 medan utvecklare är mer intresserade av python 3). Enligt en snabb överslagsräkning är det endast 4.3% av användarna som använder python3. Detta är problematiskt då det lämnar mycket buggar i bibliotek som portats till python3 till och med i standard biblioteket finns det mycket oegentligheter. Lösningen är enkel men svår, vi måste engagera oss. Vi måste göra vad vi kan för att ena vår gemenskap. Stöd python3, stöd python2, ansträng dig, rapportera de buggar du hittar!

På tåget hem reflekterade jag över hur fantastiskt det är med den gemenskap som finns. Alla dessa människor som rest in för att hålla ett föredrag utan att få mer än fri entré till konferensen. Alla dessa smarta människor som tar den tid det krävs för att utbilda och dela kunskap med sådana som mig. Alla dessa människor som har slitit i veckor för att fixa alla luncher, lokaler, scheman och alla andra detaljer som skall klaffa.

Ett stort tack till arrangörerna, föreläsare och deltagare!

Kompasskalibrering på Samsung Galaxy Express

maj 11, 2014

Telia gav mig en Samsung Galaxy Express när jag bytte abonnemang och den har fungerat bra (för att vara en budgettelefon) men den inbyggda kompassen strulade. Vid sms och telefonering är detta inget direkt problem men ifall man är ute och letar en geocache eller försöker använda Google Sky Map stöter man snabbt på problem.

Med att ”den inbyggda kompassen strulade” menar jag att den inte gav någon tillstymmelse till att indikera annat än norr +- 5 grader. Först var jag inte ens säker på att telefonen i fråga hade en kompass-sensor, men lite googlande efter specar indikerade att telefonen var utrustad med en liten magnetfältskänslig pryl. Detta betydde att något var fel på den, men kanske kunde man försöka sig på att kalibrera den?

Detta var nu inte det lättaste, det finns ingen standard-app för kalibrering av android-telefoners kompass. Däremot lyckades jag efter många om och men hitta ett GPS-test-program som löser detta.

Ifall den inbyggda kompassen i din telefon krånglar:

  1. Installera GPS Status
  2. Öppna inställnings-menyn och välj Verktyg->Kalibrera kompass
  3. Rotera telefonen kring dess tre axlar enligt instruktion
  4. Njut av att kunna avgöra i vilken riktning solen går ner

Är det äntligen över nu?

april 3, 2014

Jag har varit förkyld i två veckor. Inte bara förkyld heller, det har varit tydliga inslag av halsfluss.

Jag hade feber i en dryg vecka. Inte jättehög utan bara tillräckligt för att jag skulle må som en murken gurka. När jag har feber tappar jag allt intresse för allt, det mest kreativa jag orkade med var att byta Futurama-dvd i spelaren. Jag hade inte tillräckligt med intresse för att ens spela tv-spel. Det är slöseri med tid! Jag har inte gjort ett något, inte orkat måla en enda figur, inte skriva klart något av de halvfärdiga blogginlägg som bara dräller, inte bakat, inte städat. Inget.

Den Vanliga Förkylningen

Den Vanliga Förkylningen

Efter ett par dagar fick jag ögoninflammation och klegg hämtat från specialeffekterna till någon B:ig science fiction-rulle grumlade mitt vänsteröga. Ett par dagar senare var det dags för högerögat gå samma öde till möte.

Nu har jag inte  feber längre och mina ögon har lugnat sig, det är bara på natten som slagg pumpas ur tårkanalerna. Det som kvarstår är en ihärdig hosta, lite halsont samt nattliga svettningar. Hostan och halsen kan jag nog hantera men att varje natt vakna upp täckt av ett kallt lager svett och vara tvungen att byta sovplats för att madrass och täcke är för blött är mindre roligt.

Med lite tur lugnar svettningarna ner sig innan helgen och jag kan få mig lite ostörd nattsömn. Dagarna är rätt problemfria och jag har varit pigg hela veckan.

Är det äntligen över nu? Eller kommer det en andra våg om ett par dagar?

Intervalometer på github

februari 16, 2014

Min första Android-app Intervalometer ligger nu på github i ett någorlunda fungerande skick. Intervalometer skrevs för att hantera springintervaller (eller annan intervallträning), dvs man sätter en serie tider som genererar en larmsignal som indikerar att intervallet är slut.

En ganska simpel applikation men den krävde en del trixande och kanske viktigare förståelse för hur Android fungerar. Ett tag slogs jag med att få koll på hur Android’s services fungerar och hur man kommunicerar med dom. Sedan slogs jag en del med att få till det så min tjänst kunde exekvera medan skärmen är släckt.

Tanken är att jag ska putsa på den fixa buggar och lägga till de funktioner som jag anser saknas (radera intervall, välja ljud, olika kategorier på intervalltiderna) och sedan lägga ut den på Google Play. Känner jag lust funderar jag på att lägga till GPS-stöd och möjligheten att sätta intervallerna som sträckor istället för tid.

En annan sak jag slogs med rätt länge var att en Sony Xperia-telefon inte ville identifiera sig för Android studio. Detta var frustrerande men efter ett tag luskade jag ut att adb-tjänsten var tvungen att köra som root för att det ska fungera. För den med liknande problem hjälpte följande rader i terminalen mig

sudo adb kill-server
sudo adb start-server

Jag är hyggligt säker på att jag inte har gjort ”rätt”(TM) i alla lägen, senast idag lärde jag mig om att det finns en alarm-hanterare som kan göra underlätta en del och göra saker och ting enklare.

Eftersom jag både är Android- och Java-rookie mottar jag gärna kommentarer på min kod.

Första intrycket av Android Studio

januari 27, 2014

Jag är som vanligt sen på bollen men jag tänkte ändå att App-utveckling kunde vara roligt att prova på. I ärlighetens namn provade jag att installera android-utvecklingsverktygen en gång tidigare men eclipse fick mig att vilja tugga på tangentbordet. Hela upplevelsen var seg och rätt rörig.

Installationen är relativt enkelt, jag laddade ner ett paket med Android-studio och android-SDK vilket bara var att starta efter jag hade installerat Java ordentligt. Att hitta rätt variant av Java var det mest besvärliga med installationen.

Android Studio är baserad på intelliJ, ett öppet Java IDE, och byggverktyget Gradle som uppenbarligen är bra på alla möjliga vis (men jag tänker inte gå närmare in på det eftersom detta är ett första intryck).

IDEt känns rappare än eclipse och upplägget är mer logiskt och en mindre uppsättning inställningar gör det hela mer lätt att greppa. Att skapa ett relativt vackert användargränssnitt går snabbt och lätt i layout-editorn.

Androids applikation med aktivitets-klasser vars olika funktioner anropas av Android är förvånansvärt lätt att sätta sig in i även för inbitna C-programmerare. För den som inte är insatt så skrivs android-applikationer traditionellt i Java. Ett objektorienterat högnivåspråk som skall vara helt plattformsoberoende (men har aldrig varit det på riktigt). Man kan säga att C är Javas farfar, C utvecklades vidare till C++ som Java sedan lånade mycket ifrån. Denna nära relation gör att det är lätt att sätta sig in i grunderna och Python har gett mig lite insikt i objekt orientering så det känns relativt intuitivt.

Efter ett par timmar med Android Studio och ett par googlingar har jag lyckats ta mig från en app som säger ”Hello World” till en app med en knapp som byter text när man trycker på den till ett stoppur. En stor fördel är att det går snabbt och enkelt att ladda ner sitt projekt till sin telefon och köra det. Vilket innebär att det går snabbt att prova saker.

Mitt Projekt "Intervalometer"

Mitt Projekt ”Intervalometer”

Hastigheten att komma igång är ett plus med dessa avancerade programmeringsmiljöer, dock saknar jag fortfarande mycket förståelse för att vara helt bekväm med det hela. Men det kommer kanske?

Allt är inte guld och gröna skogar… Det mest frustrerande är att kompileringsprocessen tar makalöst lång tid, minst en minut. Sedan har jag stött på fall där visningen på min bildskärm skiljer sig från det som visas i telefonen när jag kör programmet där, detta är av mindre vikt men lite förvirrande.

Första intrycket är positivt, det är mest roligt att programmera och inte så mycket frustrerande alls. Jag har kommit igång oerhört snabbt och är redan produktiv även om jag måste googla en hel del ännu.

Läst under 2013

januari 13, 2014
  • Manifold: Time – Boken är en storslagen berättelse om Reid Malenfant’s försök att ta människan framåt samtidigt som författaren filosoferar om universums öde och vad vi skulle kunna vänta oss av tidsresenärer. Berättelsen innehåller många intressanta koncept som t.ex. ett skepp som styrs av en genetiskt modifierad bläckfisk och Feynman Radio.
  • SnuffTerry Pratchett är utan tvekan tillbaka på banan trots den tragiska sjukdom han lider av presterar han en fantastisk skivvärldsroman. Vimes tar semester från vakten och åker ut på landet. Dock är landsbygden nästan lika härjad av brott som staden och Vimes som herre över området måste försöka hålla ordning på torpet. Han tvingas blanda sig i tvister, brott samt frågor som ”vilka rättigheter har Goblins”?
  • ShadaShada är en roman baserat på ett ovisat Doctor Who-avsnitt som i original skrevs av Douglas Adams. Författaren har lyckats bra med att överföra Adams humor från manus till bokform. Det är en fartfylld historia med elaka skurkar artificiella intelligenser som är en aning för mänskliga, supervapen och K-9! Jag rekommenderar denna till alla fans av Doctor Who.
  • Exultant – Andra delen i bokserien som började med Coalescent avviker kraftigt från tidigare och utspelar sig i Baxers Xeele-universum. Efter att ha åkt snabbare än ljuset återvänder Pirius innan han åkt på ett uppdrag som gick helt åt skogen. Uppdraget skrotas och Pirius har helt plötsligt en tidsklon, en yngre version av honom. På grund av den information som Pirius besitter blir han nyckeln till en lösning på det uråldriga kriget med Xeelee, men vill verkligen samhället att kriget tar slut?
  • Amberville – I Mollisan town lever mjukdjuren som vi människor lever i våra städer. Vissa arbetar och bor i villa, andra är korrupta vissa stjäl andra mördar. Eric Björn är desperat på jakt efter den som upprättar dödslistan, den lista som säger vilka djur som skall hämtas upp och tas av chaufförerna. Eric är dels anställd av en Maffia-boss och dels är Eric’s bror på listan. Teddybjörnen måste rota igenom lager efter lager av hemligheter för att avgöra vem som sitter på makten och beslutar vilket djur som dör och vilket som lever och sedan få denne att ändra listan.
  • Kanonerna på NavaroneAlistair MacLean’s klassiker håller vad den lovar. Boken var precis lika spännande som min far fått mig att tro. Premissen är enkel, för att en evakuering skall kunna klara sig mellan de grekiska öarna måste Navarones kanoner tystas, en liten insatsstyrka ledd av en viss före detta alpinist vid namn Kieth Mallory måste ta sig i land på ön undvika de tyska patrullerna och spränga kanonerna i luften. Ett fartfyllt äventyr upp för klippor genom snö och under kulregn tar fart.
  • Lanceheim – Andra boken om mjukdjuren i Mollisan Town tar inte vid där den första slutade utan berättar en annan historia i mjukdjurens stad. Historien kretsar kring Maximilian som en dag hittades i skogen utanför staden. Maximilian visar sig kunna utföra mirakel och pratar mest i svårtydda liknelser. När Maximilian kommer till staden får han snabbt ett följe och blir också sedermera förföljd av staten. Konfliker uppstår, är han en frälsare eller är han en lurendrejare? Kan han hjälpa Rueben Valross?
  • Manifold: Space – Andra boken i Manifold-serien är en alternativ historia till den första boken. Denna utforskar Fermis paradox (det kan den första också ha gjort nu när jag tänker på det), varför ser vi inte tecken på mer liv i universum? Liv upptäcks i vår eget solsystem och Reid Malenfant försöker ta kontakt och blir den jordens första interstellära resenär. Boken utspelar sig under många hundra år och mänskligheten hinner genomgå många katastrofer innan boken når sitt slut.
  • Lords and Ladies – Jag har skrattat hysteriskt medan jag läst denna, sängen har formligen skakat. Alverna hotar att återkomma till skivvärlden och endast en trio häxor kan stoppa dem, men varför vill man stoppa dem? Alver är väl vackra och trevliga varelser? Detta är nog en av de bästa skivvärldsromaner jag läst och den har allt. Spänning, olika varianter av kärlek, en krigardrottning i bystig rustning, häxor, trollkarlar och en hel del förnuft!

I år har jag läst mycket av Stephen Baxter (Manifold: Time, Exultant och Manifold: Space) och jag dras fortfarande mot hans böcker eftersom de är så episka. Imperier reser sig och faller under tusentals år men historien fortsätter ändå eftersom den är ankrat i ett universum där det vi tycker är en eon är ett ögonblick. När jag tänker i de storlekar som omnämns i böckerna får jag nästan svindel samt lite ångest över entropi och att universum stadigt blir kallare och kallare och att människorna kanske inte kan ta sig bortom den kollaps som finns vid tidens ände. Sedan tänker jag lite mer realistiskt och inser att vi kanske inte överlever den kollaps som sker här på jorden som ligger mycket närmre till hands. I vilket fall får hans böcker mig att tänka och det är ett tecken på bra böcker.

Fem bitar räcker inte längre

december 28, 2013

Jag är nu 32, binärt 100000. Fem bitar är inte nog längre och jag uppdaterar alla mina digitala system för att hantera denna höga ålder. Med sex bitar klarar jag mig tills jag är 64 och det är ju ett bra tag tills dess!

Jag tror inte jag har någon kris ännu men vem vet snart kanske jag får panik och tar flygcert., dykcert. eller något annat certifikat.

Tusen tack för alla gratulationer! Det värmer och gör mig glad.


Följ

Få meddelanden om nya inlägg via e-post.

Gör sällskap med 202 andra följare