Mac OS X ja dynaamisten kirjastojen käyttäminen

Olen viime viikkojen aikana yrittänyt saada Firefoxin mozvoikko-lisäosaa toimimaan asiallisesti Mac OS X:ssä ja teoriassa lisäosa toimiikin. Ainoana negatiivisena puolena on, että se vaatii kirjastojen sijoittamisen hakemistoon, jonne ne kääntäessä asennettiin, eli esimerkiksi /usr/local/lib -hakemistoon. Linuxissa ja Windowsissa lisäosa toimii, kunhan vaadittavat kirjastot löytyvät lisäosan sisään leivottuina.

Mac OS X:ssä dynaamiset kirjastot toimivat hieman eri lailla ja haluavat täydellisen polun asennushakemistoonsa. Asiasta löytyy blogikirjoitus ja selventävä ohje, jotka kertovat miten asioiden laita on. Kirjoituksissa neuvotaan toimivien dynaamisten kirjastojen luontiin käyttämällä install_name_toolia ja LDFLAGS-muuttujien käytöllä.

Hieman asian ympärillä iteroiden ei kirjastojen kääntäminen toivotulla lopputuloksella kuitenkaan onnistunut. Vaikka LDFLAGS-muuttujiin laittoi ehdotetun -Wl,-dynamic,-install_name -Wl,@executable_path/kirjasto.dylib -loitsun, eivät lisäosan vaatimat gettext, iconv, glib-2, malaga, suomi-malaga ja voikko -kirjastot suostuneet toimimaan lisäosan sisältä. Gettextin libintl -kirjastoa varten joutui LDFLAGS-muuttujat lisäämään suoraan Makefileen, mutta muuten loitsiminen onnistui configuren parametreina.

En tiedä onko vika kirjoittajassa, vai missä, mutta ei voi sanoa, että asiaa olisi turhan helpoksi tehty. Joku jippo tässä täytyy olla, kun kirjastot kuitenkin /usr/local/lib -hakemistosta toimivat. Ehkä tämäkin asia joskus selkenee.

Skotlanti tarjosi hyvää viskiä ja värikästä historiaa

SASin kone laskeutui viime sunnuntaina Helsinki-Vantaalle ja näin oli vajaan viikon loma (14.7 - 19.7.2009) Skotlannissa ohitse. Hieno loma olikin, viskit maistuivat hyviltä ja tällä reissulla niitä oppi maistelemaankin kunnolla. Juomakulttuuriin tutustumisen lisäksi tuli vuokra-autolla kierreltyä katsomassa hieman Skotlannin linnoja ja niiden raunioita, sekä ihailemassa ylämaiden lampaiden kansoittamia maisemia.

Matkamme alkoi Helsingistä Blue1:n lennolla Heathrow:n kentälle Lontooseen, josta bmi:n kone jatkoi parin tunnin vaihtoajan jälkeen eteenpäin Skotlannin pääkaupunkiin, Edinburghiin. Vuokra-auto alle ja kohti noin kolmen kilometrin päässä Edinburghin keskustassa sijaitsevaa Royal Ettrick Hotellia. Ensimmäinen automatka väärällä kaistalla apukuskin paikalta ajettuna oli kuskin mielestä kuulemma "mielenkiintoinen" ja apukuskia ajoittain hirvitti. Hotellimme oli pienehkö 16 huoneen viihtyisä kokonaisuus ja hintaan sisältyi aamiainen, joka tarjosi perinteisen puuro-jugurtti-muro-paahtoleipä -annoksen tai Skotlantilaisen aamiaisen pekonin, munan, haggiksen ja sienien kera.

Matkaohjelmamme rakentui suuripiirteisesti Skotlantilaiseen viskiin tutustumiseen, mutta nähtävyydet toimivat hyvinä välipaloina. Keskiviikkona suuntasimmekin kohti Edinburghin nähtävyyksiä kuten Edinburghin linnaa, jossa aikaa kului Skotlannin kansallisessa sotamuseossa, Sodan vangit -näyttelyssä ja rakuuna-museossa. Museoita ja linnojen kiertelyä varten hankimme Explorer -passin, jolla pääsi viiden päivän aikana vapaasti valittavina kolmena päivänä kaikkiin linnoihin ja raunioille. Passista sai vielä kätevästi opiskelija-alennusta. Juomakulttuurin puolesta keskiviikkona huolehti Scotch Whisky Experience -kierros, jossa opetettiin maistelemaan viskiä ulkonäön, hajun ja maun perusteella ja kerrottiin eri viskialueiden ominaispiirteistä.

Maisema Royal Mile
Säkkipillimies Closed

Torstaina suuntasimme kohti Fort Williamia ja Ben Neviksen tislaamoa, samalla käyden matkan varrella olleissa Blackessin linnassa ja Stirlingin linnassa. Stirlingin jälkeen alkoikin varsinainen ajomatka pitkin kapeita ja mutkaisia teitä kohti Fort Williamia, jonne saavuimme juuri parahiksi viimeiseen kierrokseen tislaamolla (16.40). Tislaamon miehellä oli rento asenne viskin tislaamiseen ja tarinoiden jälkeen matkaan tarttui pullo 12-vuotiasta Ben Nevis Deluxe Blended -viskiä. Sitten vielä hieman ruokaa ja takaisin kohti Edinburghia kiertäen maisemareittiä pitkin. Kuskikin pääsi pidemmän ajorupeaman aikana vauhtiin ja välillä takapenkilläkin tuntui, että peilit jäävät matkan varrelle.

Matkareittimme oli suurin piirtein seuraava:

Torstai Torstai
Navigaattori Maisemat

Perjantaina suuntasimme pitkin rannikkoa kohti Aberdourin linnan raunioita, josta pienen arpomisen jälkeen tähtäsimme Famous Grousen tislaamolle Crieffiin. Tänään olin itse ajovuorossa, joten viskin maistelu jäi niukoille, mutta matkaseurue nautti tislaamon viskivalikoimasta senkin edestä. Matka jatkui Loch Levenin linnan raunioille, jotka tosin jäivät järven keskelle. Kaikki nähtävyydet sulkevat ovensa ikävän aikaisin jo hieman virka-ajan loputtua (keskimäärin klo 17.30). Burger Kingin aterioiden jälkeen suunta kohti kiintopistettä ja pyörähtämään vielä Edinburghin keskustassa. Vuokra-autosta olin positiivisesti yllättynyt ja Vauxhall Astra 1.9 cdti hoiti homman mainiosti. Diesel ja turbo toivat ajoon sopivaa pehmeittä ja ripeyttäkin löytyi riittävästi. Aika nopeasti sitä tottui vaihtamaan vaihteita vasemmalla kädellä ja kapeat tietkään eivät häirinneet.

Reittimme kiersi rannikkoa mukaillen kohti sisämaata ja moottoritietä takaisin:

Torstai Torstai

Juomakulttuurin osalta Skotlantilaiset oluet kuten Belhaven Best, McEwan's 80, Old Speckled Hen, Deuchar's IPA ja Tennets Lager olivat erinomaisia ruokajuomia. Mutta oluita varten ei Skotlantiin matkattu, joten viskien osalta tuli tutustuttua 38 erilaiseen makuun. Viskit tarjoiltiin nippeinä, eli noin 2,5cl annoksina, jotka soveltuivat mainiosti maisteluun. Iän ja tislaamon sijainnin vaikutus makuun tarjosi paljon maisteltavaa ja suuriakin eroja eri juomien välille. Viskin juomisesta matkalla selvisi yksi yhtenäinen näkemys: ei jäitä, koska ne imevät maut. Vettä voi hieman lisätä maun selventämiseksi, mutta vain teelusikallisesta ruokalusikalliseen.

Eri viskejä on hankala laittaa paremmuusjärjestykseen, sillä hyvissä viskeissä on makua, mutta erilaisina luonteina. Ardberg ja Lagavulin olivat omaa luokkaansa savuisina ja maultaan vahvoina viskeinä ja pehmeämmistä, helposti lähestyttävistä, viskeistä Macallan, Highland Park ja Talisker kuin sulivat suuhun. Myös Balblair ja ancnoc olivat maukkaita ja pääsääntöisesti hyvät viskit vain paranivat iän kasvaessa. Toisaalta "huonoa" viskiä kuten Tomintoulia ei ikä oikein pelastanut, kuin vasta 27 vuoden kohdalla. Sekoitetut viskit jäivät hieman pienemmälle painoarvolle, vaikka hyviä nekin muutamat oli, joita tuli testattua. Esimerkiksi Famous Grousessa on yhdistetty muun muassa Macallania, Highland Parkkia ja Glenturretia.

Pienet annokset, suuret maut:

Viskin maistelua
Viskit Viskit

Tislaamot olivat sisältä päin hyvinkin samanlaisia, tislauspannuja lukuun ottamatta:

Ben Nevis Famous Grouse

Skotlannista jäi hyvä mielikuva, vaikka sää koittikin ajoittain kastella. Ruoka toki oli mitä oli, kalaa ja ranskalaisia tai kuivahkoja hampurilaisia, mutta silti ihan maittavaa. Haggiskin oli kuin suomalaista maksalaatikkoa. Nähtävyyksissä oli oppaat kertomassa tarinaa värikkäästä historiasta rotevalla murteella, josta sai selvää aika hyvin, joten linnojen ja raunioiden kiertely ei ollut aivan oman mielikuvituksen varassa. Lauantaina kävimme vielä Edinburghin Deep Sea Worldissa, jossa oli muun muassa haita ja muita meren eläviä.

Skotlannin nähtävyyksistä jäi vielä paljon näkemättä, koska käytettävissä olleen ajan puitteissa keskityimme vain Edinburghin lähialueisiin. Skotlannin ylämailta löytyisi muun muassa Loch Ness, lisää linnoja ja enemmän kuuluisia viskitislaamoja. Eli seuraavaa reissua varten on jo kohdelista haarukassa. Ainakin Edinburghin alueelle kannattaa suunnata kolmen-neljän vuoden päästä, kun Stirlingin linnan restaurointi ja Edinburghin pääkadun, Princess Streetin, raitiovaunukiskot on saatu valmiiksi.

Kohti saarivaltakuntaa

Kävin viime perjantaina Finnconissa kuuntelemassa George R. R. Martinin Guest of Honour -puheen, joka conin teemaan liittyen käsitteli matkaa: mielikuvituksessa tai reaalimaailmassa. Puheen ydinajatuksena oli, että kirjoja lukemalla pääsee matkustamaan uusiin maailmoihin ja kohtaamaan uusia tuntemattomia asioita; paljon enemmän kuin fyysisesti matkaamalla.

Matka ei ole pelkästään paikasta A paikkaan B taivaltamista, vaan myös elämää: uuden oppimista ja henkistä kasvua. Usein matkustaminen yhdistää nämä matkan molemmat puolet, ja niinpä huomenna suuntaankin viikoksi kohti uusia maailmoja, päämääränä Edinburgh, Skotlanti. Yhdistyneiden kuningaskuntien saarivaltakunnan maa, josta ensimmäisellä ajatuksella tulee mieleen viski, kiltti, säkkipilli, haggis, linnat ja Roope Ankka. Saa nähdä mitä muuta viikon aikana tulee koettua vuokra-auton avustuksella, jolla on tarkoitus matkata kokemaan kulttuuria, viskitislaamoja ja maisemallisesta luontoa, palaten aina yöksi takaisin lähtöpisteeseen. Britannista löytyisi myös Martinin Tulen ja jään laulu -kirjojen maailman Muurin esikuvana toiminut Hadrianuksen valli, mutta mielenkiintoisuudestaan huolimatta se jäänee näkemättä.

Matka alkaa aina odotuksella kohti uusia jännittäviä maailmoja ja irtautumaan arjesta, ja tapahtui matka sitten mielikuvituksessa kirjojen avustuksella tai ei.

Web-palveluissa sijaitseva tieto ei ole ikuisia

Nykyään yhä enemmän ihmisten datasta, oli se sähköpostia, kirjanmerkkejä tai muistiinpanoja, on sähköisessä muodossa jossain Internetin lukuisista Web-palveluista, eli poissa käyttäjän "omistuksesta". Käyttäjä on ulkoistanut tiedon säilyttämisen palveluntarjoajalle, mutta ei usein tule ollenkaan ajatelleeksi, että etenkin ilmaispalveluiden osalta tiedon säilyvyys ei välttämättä ole niinkään varmaa.

Kävin jokin aika sitten läpi eri Web-palveluihin tekemiäni tunnuksia ja muutaman vuoden takaisista palveluista oli osa jo ehtinyt lopettaa toimintansa. Tällaisia olivat muun muassa Pownce, Widsets ja Ma.gnolia. Kahden ensimmäisen palvelun lopettamisesta tuli aikoinaan sähköpostiin tiedotteita, mutta sosiaalinen kirjanmerkkipalvelu Ma.gnolia päättyi tarinan mukaan yllättäen tietokannan hiljaiseen hajoamiseen. Onneksi en aikanaan vaihtanut Delicious -kirjanmerkkipalvelusta pois, vaikka Ma.gnolia tarjosikin muutamia käteviä ominaisuuksia. Siinä olisi samalla hävinnyt kasa kirjanmerkkejä, ellei niistä olisi ollut varmuuskopioita omassa tallessa, jotka palvelusta halutessaan sai.

Useissa Web-palveluissa ei ole välttämättä edes tarjolla mahdollisuutta itse tuottamansa sisällön tuomiseen omaan talteen, joten pahimmassa tapauksessa esimerkiksi urheilupäiväkirjan tai blogipalvelun kaatuessa rahoitusvaikeuksiin tai laiterikkoon, häviää käyttäjän "kallisarvoinen" tieto. Esimerkiksi GMailista omien sähköpostien tallettaminen on hankalaa ja Tumblr -blogipalvelusta, Flickr -kuvapalvelusta, Snipplr -koodiotteista, Moozement-urheilupäiväkirjasta tai Sports Tracker -urheiluseurannasta on turha varmuuskopiointimahdollisuutta etsiä. Vastaavasti muun muassa WordPress -blogipalvelusta ja Delicious-kirjainmerkkipalvelusta voi oman sisältönsä ottaa kätevästi talteen.

Tietenkin Webissä on lukuisia palveluita, joiden sisällöllä ei ole juurikaan arvoa myöhemmin, joten menetyksen arvo ei ole kovin suuri. Tällaisia ovat muun muassa tiettyyn ajan hetkeen sidottut palvelut, kuten Facebook-yhteistösivusto ja Twitter -lyhytviestin tai "portfolio-sivustot" kuten LinkedIn -verkostoitumissivusto. Monien foorumeiden keskusteluiden tai Wiki-tyyppisten sivustojen osalta sisällöllä on merkitystä myöhemminkin, mutta yhteisöllisestä luonteesta johtuen se on kollektiivista omaisuutta.

Tiedon turvaamisen näkökannalta Web-palvelut eivät paljoa eroa perinteisistä työpöytäsovelluksista ja vastuu on aina käyttäjällä. Muista siis ottaa varmuuskopiot, jos tieto on sinulle arvokasta.

Joustavat sisennykset selkeyttävät koodin lukemista

Ohjelmoijat ovat usein erittäin pikkutarkkoja siitä, miten he kirjoittamansa koodin jäsentelevät: käytetäänkö sisennyksessä tabulaattoria vai välilyöntejä, miten asiat rivitetään, tuleeko sulkeiden jälkeen väli vai ei ja niin edelleen. Teoreettisesti koodi on samaa, jäsenteli sen miten halusi, mutta käytännössä koodin lukeminen on huomattavasti helpompaa, jos se on rakenteeltaan selkeää ja yhdenmukaista.

Koodin jäsentelyyn liittyvien sisennysten toimintaan on Nick Gravgaardin ideoinut niin sanotun joustavan sisennyksen eli "elastic tabstops" -ominaisuuden, jossa rivit sisentyvät selkeiksi ryhmiksi. Ominaisuudessa tabulaattorin pituus voi vaihdella eri riveillä ja teksti on jaoteltu tavallaan kuin taulukon soluihin ja sarakkeisiin.

Esimerkiksi ryhmän rivit sisennetään automaattisesti samalle tasolle.

Tab Stops

ja rivin muuttuessa ryhmän rivien sisennystä muutetaan automaattisesti uuteen pituuteen.

Tab Stops

Ideasta saa paremman käsityksen, kun vilkaisee enemmän esimerkkejä miten Code Browser -ohjelma asian toteuttaa tai testata ominaisuutta käytännössä. Sisennyksen automaattinen muuttaminen tekstin muuttuessa tuo selkeyttä koodin lukemiseen muun muassa switch-case -rakenteissa, muuttujaryhmissä ja kommenteissa.

Ominaisuus näyttää kätevältä, mutta harmillisesti se ei ole vielä yleistynyt. Toivoa kuitenkin herättää, että ominaisuudesta on tehty kehitysehdoitus Eclipseen ja ominaisuus löytyy kuulemma Swingistä, GTK:sta ja tulevasta Visual Studiosta. Gedit-editoriin tämä mullistava uudistus on saatavissa Nick Gravgaardin tekemän lisäosan avulla.

Rätinää ja räimettä elokuvateatterissa

Elokuvissa käyminen on jotenkin aina yhtä hankalaa, kun ensin pitää valita kiinnostava elokuva, sopiva esitysaika ja varata liput ennakkoon tai toivoa, että salissa on vielä kelvollisia penkkejä jäljellä. Vastineeksi tosin saa ison ruudun, isosti tehosteääniä, mukavan penkin ja enemmän tai vähemmän kanssakatsojia. Onneksi elokuviin lähtemistä oli pakottamassa joululahjaksi saamani elokuvaliput, joiden kelpoisuusaika oli uhkaavasti hupenemassa käsiin.

Leffavalintani osuivat alkuvuoden toimintapläjäyksiin eli Terminator Salvation, Star Trek ja Transformers: Revenge of the Fallen -elokuviin, jotka pohjasivat aikaisempiin elokuviin ja tarjosivat siis tuttua tarinaa. Valinnat eivät pettäneet, mutta eivät juuri yllättäneetkään, sillä ruudulta sinkoili runsaasti tehosteita ja köykäisesti rakennettua tarinaa. Toisaalta, kyseisiltä elokuvasarjoilta on muuta hieman vaikea odottaakaan, joten elokuvat tarjosivat mitä lupasivatkin.

Star Trek oli ihan mielenkiintoinen, kun tarina kertoi U.S.S. Enterprisen miehistön syntytarinan, vaikkakin Kirkin nuoruus oikaistiin hieman kömpelösti. Terminator Salvation vastaavasti ei visuaalisia efektejä ja toimintaa lukuun ottamatta juuri kelvollista juonta tarjonnut, mutta oli sentään kolmatta Terminatoria hieman parempi. Transformers: Revenge of the Fallen oli tiukkaa visuaalisesti näyttävää toimintaa ja tarinaan oli saatu myös hieman huumoria, jonka mielekkyydestä voi olla montaa mieltä. Ihan viihdyttävää katsottavaa kaikki tyynni ja pari tuntia per elokuva kului nopeasti.

Alkuvuodesta kirjoittelin vuoden 2009 leffatarjonnasta ja listalla olisi vielä paljon katsottavaa ja odoteltavaa. Saa nähdä mitä elokuvia sitä elokuvateatteriin viitsii vielä lähteä katsomaan.