Alle innlegg av Jørn Støylen

Yak-barbering

Når man driver med data, og spesielt når det gjelder programmering, kommer man før eller siden i en situasjon hvor man bedriver yak-barbering.

Uttrykket, som jeg har fått bruk for mang en gang, husker jeg ikke hvor på nettet jeg fant første gang. Men jeg fant et fint eksempel som viser hvordan man kan ende opp med å barbere en yak når man egentlig hadde tenkt å vaske bilen. (Samme blogger kom senere med en oppklaring som viser hvor uttrykket egentlig stammer fra.)

Min versjon av yak-barbering

Jeg har tenkt å lære meg ActionScript 3 (eller Flash-programmering om du vil), og har tenkt å gjøre dette på iBook-en min på toget til og fra jobb.

Akkurat nå sitter jeg og venter på at Linotype FontExplorerX skal bli ferdig og laste ned og installere nyeste versjon, slik at jeg kan installere skrifttypen Deja Vu slik at jeg kan få iTerm til å se ut som jeg vil. Og iTerm lastet jeg ned fordi den er nødvending for å få TextMate til å kompilere ActionScript 3 med flex compiler shell, som jeg også nettopp har lastet ned og installert. Og fcsh trenger jeg fordi det visttnok er mye raskere til å kompilere AS3-kode enn standard-kommandolinjekompilatoren.

Ulike typer yak-barbering

I definisjonen fra sjargong-leksikonet defineres yak-barbering som “en tilsynelatende meningsløs aktivitet som egentlig er nødvendig”. Dette er slik jeg oftest bruker uttrykket.

Men i min omtalte situasjon er det jo egentlig ikke nødvendig å laste ned en alternativ skrifttype til iTerm. Og det er heller ikke nødvendig å bruke fcsh. Det hadde sikkert gått fint uten, bare noen sekunder treigere hver gang det skal kompileres.

For å jobbe effektivt er det av og til nødvendig å ta et skritt tilbake og se på det store bildet, og vurdere hva som er godt nok i forhold til å få den egentlige jobben gjort. Dette er noe jeg burde være flinkere til, men samtidig er og blir jeg en “arbeidssituasjonsestetiker”. Jeg trives mye bedre når arbeidsmiljøet mitt ikke irriterer meg. Det er nok derfor jeg er Mac-entusiast.

Og da får jeg lyst til å nevne et annet uttrykk jeg nettopp har lært meg, og som jeg og mange andre har godt av å bli minnet på av og til:

The perfect is the enemy of the good. – Voltaire

Backup er ikke så vanskelig

Denne historien forhåpentligvis til inspirasjon for andre som ligger like langt etter. (Min G5 er fra 2003, og aldri tatt backup av før, med unntak av at jeg kopierte brukermappa mi over på en ekstern disk for ei stund sia.)

Min situasjon var: En nesten full 160 GB HD i G5-en, en ekstern LaCie Porsche 250 GB HD (FireWire), samt en iBook G4 med 60 GB HD. Alt skulle sikres, og helst slik at dersom originalen går ad undas, skulle det være mulig å starte fra backupen umiddelbart.

Jeg tenkte det ville være fint å kunne bruke den gamle 160 GB-er’n fortsatt, så jeg ville kjøpe et eksternt kabinett til den.

Gjennomføringsplan:

  • klone gammel 160 GB HD over til ny 250 GB HD
  • dele ny 500 GB HD i to partisjoner
  • ta backup av begge 250 GB-er’ne til hver sin partisjon av 500 GB-er’n
  • ta backup av iBook til den nå eksterne 160 GB-er’n

Maskinvarehandleliste:

  • større HD i G5-en – 250 GB – kr 550
  • backup av intern 250 GB og ekstern 250 GB – 500 GB – kr 832
  • eksternt kabinett – kr 417

Totalt: kr 1799, hvorav 360 er mva som jeg får igjen siden jeg kjøper det på enkeltpersonsforetaket mitt.

Prisene kommer fra Datakjeden i Møllergata i Oslo (rett ved Stortorget). Jeg kunne ha bestilt på nettet, men jeg sjekka priser og hadde spart ca. 150 kroner, og da uten å regne med porto og ekspedisjonsgebyr. Jeg betaler heller noen kroner ekstra og får ting gjort mens initiativet er der!

Kabinettet var av type USB, noe som betyr at en ikke kan starte opp maskinen fra den. Jeg fant rett og slett ikke FW-kabinetter til SATA-disker. Men jeg godtok at jeg ikke nødvendigvis kan få iBook-en tilbake umiddelbart, da den ikke er kritisk for meg på noen måte. Det jeg eventuelt gjør på den maskinen synker jeg uansett til en USB-minnepinne likevel – med Synk Standard og Do Something When. Sistnevnte kjører Synk når minnepinnen plugges i, og for å mate minnepinnen ut kjører jeg et AppleScript som kjører Synk før utmatingen skjer. (AppleScriptet kjøres forresten via LaunchBar)

Klone gammel 160 GB HD over til ny 250 GB HD

Som backup-program på begge maskinene brukes SuperDuper (heretter kalt SD), som er superenkelt og tydelig på hva det gjør, og vel verdt de USD 35 (ca. NOK 200) det koster.

Jeg installerte den nye 250 GB-er’n på den ledige plassen i G5-en, og måtte deretter sørge for å overføre alt fra gammel til ny HD. Det gjorde jeg ved å bruke SD fra iBook-en: Jeg startet G5-en i FireWire target disk-modus ved å holde inne T-tasten ved omstart. Da fungerer maskinen som en ekstern FW-disk, det vil si at hvis man kobler den sammen med en annen maskin med en FW-kabel, dukker HD-ene i maskinen opp på skrivebordet til den andre maskinen (iBook-en i mitt tilfelle).

Aller først da jeg gjorde dette fikk jeg beskjed om at den nye disken ikke kunne brukes, og fikk tilbud om å bruke Disk Utility til å fikse saken, så det gjorde jeg. Den ble formattert til en “Mac OS Extended (Journaled)” HD, slik som alle andre HD-er jeg bruker.

SuperDuper er som sagt kjempelett å bruke, og programmet er nesten overtydelig på hva det sier om hva det kommer til å gjøre. Men dette er selvsagt utelukkende positivt – man har ikke lyst til å gjøre feil i slike situasjoner!

Men å klone 145 GB (som sagt, disken var nesten full!) med en iBook via en FW-kabel tar sin tid – nærmere bestemt omtrent ti timer – så den fikk stå og kose seg over natta. Følgende backup-er av samme disk vil gå mye raskere takket være SDs “Smart Update”-funksjon, som bare gjør det som er forskjellig fra sist backup.

Dele ny 500 GB HD i to partisjoner

Neste ettermiddag kunne jeg altså ta ut den gamle disken og flytte den nye over til den gamles plass. Sistnevnte ble installert i sitt nye eksterne kabinett.

Selve partisjoneringen av backup-harddisken var fort gjort, også dette ved hjelp av Disk Utility. Den ble selvsagt da delt i to like deler på 250 GB hver. Jeg kalte dem det samme som originaldiskene som skal tas backup av heter, men med “Backup” på slutten.

Ta backup av begge 250 GB-er’ne til hver sin partisjon av 500 GB-er’n

SuperDuper ble satt i gang med full backup av først den nye interne systemdisken, noe som denne gangen gikk på et par timer siden det nå var snakk om overføring mellom to interne harddisker i en mye kraftigere maskin.

Deretter satte jeg SD til å ta backup av systemdisken hver natt kl. 04:05, samt å sette maskinen i dvale når den er ferdig. I tillegg ba jeg Mac-en, via “Energy Saver Preference Pane”, om å våkne opp hver natt kl. 04:00. Voila – automatisk, full og bootbar backup hver natt!

Ta backup av iBook til den nå eksterne 160 GB-er’n

SD klonet også iBookens HD over til den “nye gamle” eksterne, etter at denne var delt inn i en 60 GB og en 100 GB partisjon, slik at jeg kan bruke den ekstra plassen til andre ting dersom jeg trenger det.

Sjelefred – i alle fall delvis

Så nå er alt sikkerhetskopiert og dermed ganske godt vernet mot harddisk-feil, -kræsj eller lignende. Det jeg mangler er sikkerhetskopi “off-site”, eller beskyttelse av dataene mine mot brann, tyveri og denslags. En gang i blant tror jeg at jeg skal brenne hjemmemappene mine på DVD og ta dem med på jobben …

Det krevde litt innsats, men ikke avskrekkende. Og nå er mine bilder, musikk, dokumenter og andre uerstattelige bits og bytes mye sikrere enn de har vært på årevis!

HDR ≠ pent

Jeg fant en serie kalt 20 kreative Flickr-fotosett på DinSide. Litt forskjellig morsomt her, så den er absolutt verdt et gjennomsyn. (Liker transparent screens veldig godt, prøvde meg på et slikt bilde tidligere og fikk det til, men har ikke lastet det opp noe sted da jeg ikke var helt fornøyd med motivet …)

Men nummer ti i serien er en brukers portfolio hvor det blant annet presenteres en god del HDR-bilder (HDR = High Dynamic Range). Disse lages ved at det tas flere bilder av samme motiv, der man eksponerer for ulike deler av motivet slik at man sikrer seg detaljer i både høylys og skygger. (Alternativt gjør man flere ulike RAW-konverteringer av samme bilde.) Deretter bruker man en datamaskin for å kombinere disse slik at man får mest mulig detaljer gjennom hele lysskalaen.

Da jeg først hørte/leste om teknikken syntes jeg det hørtes veldig interessant ut. Endelig har man en teknikk for å overkomme bildesensorenes begrensninger.

Men jeg har sett på en del HDR-bilder, og blir nesten kvalm av alle sammen. De framstår som en svimlende røre av glorete farger og løpsk kontrast, og ser alt annet enn naturlige og pene ut.

Jeg trodde poenget med HDR var å hente fram detaljer i skyggene samtidig som man ikke blåste ut høylysene. Er det noen som har lenker til HDR-bilder gjort på den rette måten?

Det viktige første-, andre- og tredjeinntrykket

Hver dag – det vil si hver arbeidsdagsmorgen – kjøper jeg kaffe på 7-Eleven. Jada, de har bedre kaffe på ordentlige kaffebarer, men til prisen synes jeg den er helt OK, jeg gidder ikke betale det dobbelte for halvparten så mye kaffe. Og en stund fikk vi faste koffeindrankere til og med VIP-behandling og slapp unna med ti kroner koppen.

Jeg har sett eiere og ansatte komme og gå, og prøver å holde en god tone overfor dem alle. Med noen få har det vært litt vanskelig; ti ville hester kunne ikke ha dratt et smil ut av dem. Jeg forstår ikke åssen man kan jobbe i et sørvisyrke og ikke gidde å smile. Det gjør jo arbeidsdagen så uendelig mye bedre og lettere.

For ikke lenge siden sto det ei ny jente bak disken. Hun er søt og hyggelig, og ser ut til å være på randen av 20-tallet, spedbygd, med mørkt hår og store dådyrøyne. Og bitteliten. Vel, ikke dvergstørrelse, men et sted mellom 1,50 og 1,60. Selv ligger jeg nærmere 1,90, så det er et stykke ned.

Jeg har fabulert om å entre sjappa en sen lørdagskveld og be om grønne Pringles, Petterøes 3 og en pakke kondomer (noe jeg anser for et ikke usannsynlig lørdagskveldsinnkjøp), for så å lene meg tilbake og nyte forestillingen, og se om hun kanskje tar poenget i spøken før hun har plukka alle tre tinga ned fra øverste hylle. Jeg lurer på om Arbeidsmiljøloven gir henne krav på stige …

Første gang jeg kjøpte kaffe av henne klarte jeg noe jeg bare har gjort én gang før: Jeg sølte kaffen utover disken – og meg selv. Jeg er usikker på hva som skjedde, men det var en kombinasjon av fomling med kortholder, penger og en kopp hvor lokket ikke var ordentlig satt på – noe som forundrer meg, siden jeg alltid bruker å passe på slike ting.

Det var det førsteinntrykket. Jeg satset på at det ville gå bedre dagen etter. Så feil kan man ta.

Ny morgen. Hun står igjen bak disken. Jeg trykker på LCD-displayet på knappen med mitt sedvanlige valg: cappuccino. Men i stedet tror maskinen at jeg ber om espresso, som står på knappen over. Jeg er et sted mellom 95 og 100 prosent sikker på at jeg trykket riktig, og mener at det er berøringsskjermen som begynner å bli sliten.

Vel, gjort er gjort, og jeg velger å fylle på melk ved å trykke på “Melk i kaffen”-knappen. Her kommer det omtrent en teskje hver gang, så det skal en del trykking og tålmodighet til før nivået i koppen nærmer seg akseptabelt.

Da skjer det: Etter noen suksessrike trykk på “Melk i kaffen” mener maskinen at jeg i stedet skal ha “Fairtrade kaffe”, og begynner å spy ut en full kopp med nettopp dette. Siden jeg allerede har en espresso og litt melk i min kopp, går det som det må: Koppen renner over.

Allerede litt beskjemmet tar jeg kontakt med henne og forklarer situasjonen. Hvorvidt det er min feil eller ei er ganske irrelevant; kunden har alltid rett. Hun kommer bort til maskinen for å ta med seg den mislykkede kaffekoppen bak disken og helle den ut i vasken. Hun finner fram en serviett mens hun forklarer at hun trenger den fordi hun ikke har lyst til å brenne seg på fingrene hvis hun søler. Hun tømmer ut litt, men ikke nok, og søler kaffe både på hendene sine og på gulvet foran maskinen.

Jeg lager cappuccinoen min, betaler og går dukknakket til jobben.

Det var det andreinntrykket. Jeg satser på at det vil gå bedre neste gang.

Nok en ny dag, ny setting: Hun står ved den ene av de to kaffemaskinene og holder på med noe. Jeg gliser og sier: “Jeg håper det går bedre i dag! Det er bare etter at du begynte her at jeg har rota så mye.” Hun ler litt.

Jeg setter koppen under tuten. De som har kjøpt kaffe på 7-Eleven har kanskje registrert at det finnes en hendel på siden av tuten som man man kan dra opp og ned for å heve og senke den. Jeg tar tak i denne for å senke tuten litt nedover, men nå sitter plutselig hendelen fast, slik at jeg i stedet for å dra tuten ned, drar frontluka litt opp. Den er låst, men bare halvveis, slik at maskinen ikke vil lage kaffen min. Så jeg må, enda et hakk flauere, tilkalle hennes oppmerksomhet for å få lukket luka ordentlig.

Maskinen setter i gang med kaffeproduksjonen igjen, men bare kaffen kommer ut; melka renner ned på innsiden av luka. Hun er bak disken igjen og ekspederer en kunde. Jeg bytter stilltiende til den andre maskinen, men advarer neste kaffekunde om problemet.

Det var det tredjeinntrykket.

De siste to gangene har det derimot gått bra. Det betyr at jeg overfor henne har en feilfri-rate på 40 prosent. Herfra kan det bare gå bedre. Nesten garantert.

Det gode liv

La meg også kalle det den offisielle starten på min norske blogg her på Prikkprikkprikk.no1. (Jeg har også en engelsk blogg: travholt.net)

Behovet for å ha et sted å skrive på norsk er ikke nytt for meg. Jeg kommer ofte på ting å skrive om som egner seg best for lokale forhold, enten av språklige eller kulturelle årsaker. Men jeg har slitt med å finne en flerspråklig publiseringsløsning2. Løsningen jeg har funnet nå, med to separate nettsteder, tror jeg kommer til å fungere helt fint. Antallet oversatte artikler blir sannsynligvis ikke så veldig mange.

Men altså: Det gode liv

Bare så det er sagt: For meg handler det gode liv i alle fall ikke om å ligge på en strand utenfor en bungalow et solvarmt sted. Jeg hadde nok fort gått på veggene og enten blitt helt apatisk eller satt i gang med å bygge flåte av tømmerstokker eller noe slikt. (Jeg tror nok jeg til en viss grad hadde likt utfordringene i en Robinson-tilværelse, men det er ikke noe jeg aktivt oppsøker.)

Jeg har samboer og en stedatter. Jeg har flyttet fra byen til et hus på landet, med gullfisk, to rotter, to katter, fem høns og en haug med fluer. Med unntak av fluene (og en del flytrafikk på vei inn til Gardermoen) bor jeg og familien godt.

Jeg har en jobb hvor jeg får gjort det jeg kan og det jeg liker i en ganske fin blanding. Jeg vet ikke om det er drømmejobben, men jeg drar i alle fall til jobben med en god følelse. Og jeg tror jeg trenger å ha en jobb for ikke å føle at jeg sløser bort livet mitt på å gjøre ingenting.

På den andre siden er jeg nok ikke typen til å jobbe med ideelt arbeid. Jeg må gjøre noe jeg synes er morsomt og utfordrende for å trives, og mitt hode liker seg best når det får bryne seg på en blanding av kreativitet og teknikk.

Utfordringer jeg liker – og misliker

Jeg liker problemløsing. Jeg elsker å programmere små skript som automatiserer visse repetitive oppgaver. Jeg bruker gjerne en dag eller to på å redusere en oppgave fra en halv time til to minutter. Slik jeg ser det er dette mye mer kreativt utfordrende, og det vil lønne seg relativt raskt. (Man får også erfaring som gjør at man senere løser lignende utfordringer enda raskere.)

Noen mennesker elsker å bli utfordret – å bli satt i situasjoner hvor de virkelig får brynt seg, og hvor de virkelig kan gå på trynet dersom de mislykkes. Jeg er nok ikke der – dessverre, kan jeg kanskje si, for det er en god egenskap å ha. Felles for mange suksessrike gründere er at de har feilet spektakulært flere ganger før de endelig lykkes.

Jeg har mange interesser og hobbyer, men jeg klarer aldri å fullføre et eneste prosjekt jeg starter på. Når jeg møter motgang i et prosjekt, er det alltid mer interessant å begynne på noe nytt. Dette er kanskje den tingen jeg er minst fornøyd med i livet mitt, og kanskje det jeg burde starte å jobbe med for å komme et steg nærmere det gode liv.

For en stund siden kjøpte jeg boka The Now Habit (mer om boka på Amazon) og må innrømme at den nok treffer meg ganske godt. Men jeg har ennå til gode å få gjort så mye med det. (Ironisk nok har jeg også boka Getting Things Done …)

Mestring og feiling

Det slår meg plutselig at det gode liv for meg nok handler om mestring. Når jeg mestrer ting, har jeg en god følelse. Og jo mer jeg mestrer, jo bedre føler jeg meg. Men det betyr også at jeg trenger å utfordres, for i det lange løp gir det ikke den samme gode følelsen å mestre noe man allerede vet man kan.

På den andre siden liker jeg ikke å feile. Jeg kan rasjonelt forestille meg at det er bra å feile først for så å lykkes, men magen min lurer på hvorfor i all verden man skal feile først. Kan man ikke bare lykkes med en gang?

Dette fører til at jeg ikke utfører det jeg potensielt kan mislykkes med. Dette erfarer jeg i disse dager i det prosjektet som kanskje er aller viktigst for meg nå. Jeg må få magen min med på at det er bedre å prøve og feile enn å aldri prøve og dermed heller aldri feile.

Vil du vite hvordan det går, må du følge med på denne bloggen …

Jeg avslutter med et sitat jeg kom over via Daring Fireball:

If we listened to our intellect we’d never have a love affair. We’d never have a friendship. We’d never go in business because we’d be cynical: «It’s gonna go wrong.» Or «She’s going to hurt me.» Or, «I’ve had a couple of bad love affairs, so therefore …» Well, that’s nonsense. You’re going to miss life. You’ve got to jump off the cliff all the time and build your wings on the way down. Ray Bradbury

1 Utseendemessig er det relativt skralt her foreløpig. Innholdet er viktigst, men jeg er nå en gang grafisk formgiver og webmaster, så man kan forvente stadige endringer her – forhåpentligvis til det bedre.

2 Problemet har vært at jeg ikke har funnet noen god og enkel måte å drive et flerspråklig nettsted. Det finnes en flerspråklig plugin til Textpattern, men det er to ulemper: Den er for det første litt overkill, siden jeg for det meste kommer til å skrive artikler bare på det ene eller andre språket. For det andre gjør den at jeg muligens ikke kan bruke andre plugins. Jeg fant en artikkel om tilpassing av Textpattern for flere språk som ga meg grunnideen. I skrivende stund er ikke tilpassingen gjort, men det kommer snart, og innebærer et gjensidig “custom field” på hvert nettsted.

Bookmarklet for kryssordhjelperen på Ordnett.no

Jeg liker godt å både løse og lage kryssord. (Ta kontakt dersom du trenger et!)

Før Internett kom, måtte man gå gjennom lister med ord i kryssordbøker for å finne ut hvilken by, elv, hunderase etc. det var snakk om. Nå finnes det kryssordhjelpere, for eksempel hos Caplex og ordnett.no. Jeg liker sistnevnte best, da søkeresultatene inkluderer både ordbok- og leksikon-søk, og dessuten presenterer egennavn med store forbokstaver.

Men begge tjenestene er svært dårlige på brukergrensesnitt. Man må først skrive inn antall bokstaver, deretter skrive bokstavene man allerede har inn i hver sin boks.

Jeg liker mye bedre å gjøre det slik Bokmåls- og Nynorskordboka gjør det: Manglende bokstaver erstattes med _ (understrek).

Så jeg googlet litt etter hvordan man lager såkalte “bookmarklets” (nettleser-bokmerker som består av Javascript-kode og som gjør smarte ting når de brukes), og snekret sammen denne:

Bookmarklet for kryssordhjelperen på Ordnett.no

Den er bare testet i Firefox, og jeg vet ikke om den virker i Internet Explorer også.

Slik gjør du for å bruke den:

  • Høyreklikk på den, og lagre som et bokmerke i Firefox (“Bookmark This Link…”).
  • Velg “Organize Bookmarks” fra “Bookmarks”-menyen, og finn fram til bokmerket der.
  • Høyreklikk på bokmerket og velg “Properties” (eller velg bokmerket og klikk på “Properties”-knappen i verktøylinjen).
  • I feltet “Keyword” skriver du en forkortelse for dette bokmerket. Personlig har jeg valgt “kr” her.
  • For å slå opp et ord, skriver du forkortelsen etterfulgt av mellomrom pluss ordet du vil slå opp, med ukjente bokstaver erstattet med understreker, i adressefeltet i Firefox (altså der URL-en står), og trykker Enter.

La meg ta et eksempel fra dagens kryssord i Magasinet: En stat på 8 bokstaver, hvor de tre siste bokstavene er “sas”:

kr _____sas

Her er Javascript-koden før den ble konvertert til bookmarklet ved hjelp av TextMate og Kenny Smiths TextMate-versjon av John Grubers Bookmarklet Builder.

var str = "%s";
if(str){
    loc = "http://www.ordnett.no/kryssordhjelper.html?length="+str.length;
    ary = str.split("");
    for (i=0; i<ary.length; i++) {
        loc = loc + "&letter=" + escape(ary[i]);
    }
    location.href = loc;
}

Kom gjerne med innspill!