Bildeverktøy på kommandolinja: Imagemagick og ExifTool
Clarissa Littler har flere fine innlegg som overlapper med det jeg ønsker å oppnå med denne bloggen: Å finne en måte å bruke teknologi på som gir mer glede, mer kontroll, og foregår i en mer mennneskelig skala. Et av dem handler om at hun har blitt glad i kommandolinjeverktøy igjen. Hun opplever det som befriende å bruke mer tid i kommandolinja. Det er mindre visuell støy. Verktøyene gir mer kontroll. Det er også noe ryddig med å jobbe i ren tekst: enkle teksteditorer som lar deg fokusere på teksten du skriver inn, og ikke distraherer deg med andre ting.
Jeg jobber til vanlig som programmerer, og føler det på samme måten der. Jeg har blitt mer og mer glad i kommandolinja og i tekstorienterte verktøy. Jeg blir litt gladere hver gang jeg finner en måte å gjøre mer av jobben min i tekstmodus. På samme vis består hele denne bloggen av tekstfiler skrevet i Markdown-format. Jeg publiserer den av hjelp av kommandolinjeverktøy.
Jeg tror det er tre grunner til at jeg omfavner kommandolinja mer nå enn tidligere. Den første grunnen er at tekstverktøy i mindre grad enn resten av teknologiverden har blitt erobret av overvåkningskapitalister og andre onde giganter. Dette er en verden som ikke domineres av gratisverktøy som spionerer på deg, men av fri og åpen programvare. Du slipper ikke unna gigantene her heller. Jeg bruker Visual Studio Code fra Microsoft i jobben, og er så glad i den at jeg også bruker den til å skrive og publisere dette i. Men styrkeforholdet er annerledes. På kommandolinja og med andre tekstverktøy befinner du deg sjelden innenfor ett stort selskaps sfære hele tiden. Hvert verktøy føyer seg pent inn i et større økosystem som ingen enkelt aktør bestemmer over.
Den andre grunnen er nok nostalgi. Det er så mye som har gått feil med teknologiutviklingen de siste tiårene, at jeg i blant føler et behov for å skru tiden tilbake. Med kommandolinja på MacOS eller Linux er jeg tilbake på høyskolelinja i informatikk for tjue år siden. Nostalgi er litt farlig. Det er lett å forveksle sine egne nostalgiske minner med en slags løsning på dagens problemer. Svaret på Facebook og Amazon er ikke å be folk om å åpne kommandolinja, liksom.
Samtidig peker tekstorienterte verktøy i retningen en slik løsning ligger i, tror jeg. Den tredje grunnen er nemlig at dette er gode, fleksible verktøy som gir brukeren kontroll og ikke prøver å erobre verden. Hvis du lærer det å bruke et par slike verktøy, og i tillegg kan litt scripting, åpner det seg muligheter som du aldri kommer til å finne i et visuelt verktøy. Dette krever en del av brukeren, men mange av de samme prinsippene kunne vært overført til mer brukervennlig teknologi, om ikke gigantene la så mange sperrer i veien for det. Som det med å kunne koble sammen små verktøy som sammen skaper noe nytt som er unikt og verdifullt for akkurat deg. Hvem som helst klarer å sette opp en regel i If This Then That, for eksempel “hver gang jeg poster noe på Instagram, lagre en kopi på min personlige Google Drive.” Vi kunne fått til mye mer med slike verktøy, om bare teknologien vi brukte la til rette for det og for eksempel Facebook oppførte seg som det det burde være: En liten, åpen tjeneste som inngår i et stort økosystem.
En slik verden finnes ikke. Det nærmeste vi kommer er kommandolinjeverktøy og andre tekstorienterte programmer. Jeg har lyst til å dele noen eksempler på oppgaver jeg har løst med slike verktøy. Jeg vil prøve å gjøre forklaringen så enkel som den kan være. Alle kan ikke gjøre dette, men kanskje noen flere kan, hvis de får litt starthjelp.
Dagens oppgave: Vi har bildene våre i Google Photos. (Det liker jeg ikke, men jeg har ikke funnet noen vei ut ennå.) I blant har vi lyst til å lage bildebøker, som de vi ga bort til jul i fjor med Instagram-bildene til familien min. Da legger vi dem først i et album i Google Photos. Så laster vi dem ned, og bruker fotoprogrammet til Japan Photo til å designe boka, som vi så kan plukke opp på butikken borti gata en uke senere.
Problem 1: Bildene fra konas iPhone lagres i det relativt nye HEIC-formatet. Hun har en Mac laptop, men har ikke oppgradert til den versjonen av MacOS som kan lese HEIC. Det burde vi selvfølgelig gjøre, men da må vi først rydde plass til en enorm nedlasting, og da må vi løse noen andre problemer, og akkurat nå vil vi lage bildebok. Derfor ønsker vi å konvertere alle HEIC-bildene til JPG.
Problem 2: Bildefilene du får når du laster ned et album fra Google Photos er dårlig organisert. Det er ingen orden på filnavnene. De har en opprettet dato som forteller når bildet ble tatt, men det er ikke lett å se denne når man jobber i fotoprogrammet til Japan Photo. Derfor ønsker vi å inkludere datoen i filnavnet og fordele bildene på foldere alt etter hvilken måned de ble tatt i.
Her kommer to kraftige kommandolinjeverktøy til unnsetning: Imagemagick og ExifTool. Imagemagick hjelper deg med å behandle selve bildedataene, og kan blant annet lett konvertere mellom ulike formater. ExifTool hjelper deg med å jobbe med metadataene til bildet, for eksempel tidspunktet de ble tatt, og kan dermed brukes til å endre filnavn og organisere i en oversiktlig mappestruktur. De kan også mye, mye mer.
Begge verktøyene støtter Mac, Windows og Linux. Du finner installasjonsinstrukser på nettsidene deres. Selv liker jeg å bruke Homebrew til å installere verktøy på Mac. Når du først har det installert, trenger du bare å kjøre disse to kommandoene:
brew install imagemagic
og
brew install exiftool
Når disse verktøyene er installert, og du har tatt en backup av bildene, kan du så slippe dem løs på filene dine. Kommandoene jeg selv endte opp med å bruke, etter litt prøving og feiling, var:
magick mogrify -format jpg "*.heic"
for å konvertere alle HEIC-filer i mappa du står i til JPG. Og deretter
exiftool "-filename<CreateDate" -d "%Y%m%d_%H%M%s%%-c.%%e" .
exiftool "-directory<CreateDate" -d "%Y%m" .
for å først endre alle filnavnene til datoen bildet ble tatt, og deretter flytte dem inn i mapper etter måneden de ble tatt i. Straks blir det mye enklere å legge dem inn i fotoverktøyet til Japan Photo. (Noen av bildene våre manglet dato i metainformasjonen og kunne ikke behandles av ExifTool. De ryddet jeg opp i for hånd i stedet.)
Det fine med disse verktøyene er at de kan gjøre ikke bare dette, men også nesten alt annet du kan tenke deg innen bildebehandling. Teknologi gjør meg gladest når den får meg til å føle meg som en trollmann. Den følelsen får du ikke fra mobilapper, og du får den sjelden fra nettsteder og applikasjoner med grafisk brukergrensesnitt. Du må ned i kommandolinja. Det er der du finner magien. Det burde ikke være slik, og jeg skulle ønske jeg visste hvordan magien kunne gjøres mer brukervennlig. Samtidig er dette mindre vanskelig enn mange tror, og du blir en mye gladere teknologibruker hvis du får det til.