Most recent comments
Jogging og blogging
Are, 9 måneder, 1 uke
Liveblogg nyttårsaften 2016
Are, 9 måneder, 1 uke
Reading in dark times
Are, 11 måneder, 1 uke
Moldejazz 2016
Camilla, 1 år, 2 måneder
Dørskilt
Karoline, 1 år, 3 måneder
Halifax
Tor, 1 år, 4 måneder
Sony Smartwatch 3 review
Tor, 1 år, 4 måneder
Numerikk, takk
Tor, 1 år, 4 måneder
Topp tur
Camilla, 1 år, 6 måneder
Tolkien reading day
Tor, 1 år, 6 måneder
50 book challenge
Camilla, 9 måneder, 2 uker
Ten years ago
Oppdageren Tor
Tor
Controls
Register

stacktracker

Programmerere, meg selv inkludert, liker gjerne å snakke om hvor irriterende det er å bli avbrutt i arbeidet, spesielt hvis noen spør hva du driver med. Ofte er det slik at man prøver å løse en oppgave, hvorpå man oppdager at man først må løse et annet problem, og så et tredje og fjerde, ogsåvidere. Og slik kan det ha seg at man sitter på stackoverflow og leser om noe som kan virke fullstendig urelatert til det man opprinnelig drev med, når noen kommer inn og spør hvordan det går. For å forklare må man da utføre det som kalles en backtrace, altså gå gjennom alle skrittene som tok deg dit. Litt som når man bare skulle sjekke noe på wikipedia, og så sitter man plutselig og leser om noe helt annet.

Akkurat som at man har en bakover-knapp i nettleseren kunne det av og til vært kjekt å ha et hjelpemiddel for å huske hvor man egentlig kom fra når man jobber på denne måten. Først begynte jeg å tenke på interaktive hjemmesider og apper og greier, slik at man kunne ha en kul visualisering av arbeidsprosessen sin, også videre, men så innså jeg at nei, disse nymotens greiene er bare tull. Kommandolinjen er det opprinnelige brukergrensesnittet, og det er fortsatt det beste. Ferdig diskutert. Dermed implementerte jeg det jeg har valgt å kalle (anti)produktivitetsverktøyet stacktracker på fem linjer shellscript.

En stack er en datastruktur som minner litt om en bunke med for eksempel bøker. Den støtter to enkle operasjoner, push, som legger en bok øverst i bunken, og pop, som tar av en bok fra øverst i bunken. En stack opererer etter prinsippet Last In First Out (LIFO), siden du alltid tar av den øverste boken først. Stacktracker funker ved å gi deg tre kommandoer, push, pop og stack, der push legger til en oppgave på stacken, pop fjerner den øverste oppgaven, og stack viser deg hele stacken, inkludert det du egentlig begynte på før du måtte gjøre noe annet. La oss se på noen eksempler
> push "Skrive calcuttaguttaartikkel"
> push "Lage kaffe"
> stack
Lage kaffe
Skrive calcuttaguttaartikkel
> pop
Pop'd Lage kaffe
> stack
Skrive calcuttaguttaartikkel

For interesserte lesere har jeg lagt uten koden, i all sin herlighet, på github. Jeg diskuterte konseptet med et par kollegaer, og jeg tror jeg har bestemt meg for å utvide funksjonaliteten til også å kunne legge ting nederst i stacken, i tilfelle du kommer på noe du heller vil gjøre senere, så følg med for nye oppdateringer. For å installere er det bare å klone repoet fra github, og lage en symlink i en mappe som ligger på pathen din, så får du automagisk med nye oppdateringer.
Camilla, Matteus, Are, Jørgen likes this

Comments

Are,  12.04.15 12:42

Med denne hangen til å dokumentere hva du gjør på til enhver tid må du vel være en prosjektleders drøm?
Jeg foreslår du også implementerer en timer på stacken, slik at du i ettertid automatisk kan oppdatere timeføringssystemet med tiden brukt på hvert nivå ;)
Tor likes this
Tor,  12.04.15 17:39

Det der er faktisk ikke så dumt. Og det burde være grei skuring å implementere også.

Kikket du på koden, forresten?

Eg skal søren meg byrje å bruke den her (anti)produktivitetsreiskapen. Den er akkurat det eg har ønskt meg.
Tor,  16.04.15 19:49

Husk å sende en pull request om du gjør noen frekke endringer.

B,  12.05.15 15:51

ref: http://doc.norang.ca/org-mode.html
Tor,  12.05.15 19:26

Men kjære deg, B, å bruke emacs er jo et helt annet nivå av galskap enn å implementere sitt eget todo-verktøy i shellscript.

Jeg ser imidlertid det finnes en org mode-plugin for vim. Den skal jeg sjekke ut.