Een nieuwe versie van een shell klinkt als iets waar alleen ontwikkelaars warm van worden. Toch zit er een les in die verder reikt dan de terminal: het gereedschap waarmee je team dagelijks werkt, bepaalt hoeveel er van een werkdag overblijft.

Fish 4.4.0 is daar een aardig voorbeeld van. Geen spectaculaire nieuwe functies, wel een stapel wrijvingspunten die verdwijnen.

Wat er veranderde

De grootste wijziging zit in de vi-modus. Woordbewegingen — w, W, e en E — gedragen zich nu grotendeels zoals in Vim. Underscores gelden als scheidingsteken, en je kunt tellingen gebruiken in operator-modus. Wie tussen Vim en de terminal heen en weer springt, hoeft niet langer twee net iets verschillende sets spierherinneringen aan te houden.

Verder in deze release:

  • Nieuwe catppuccin-kleurenthema’s
  • Een verbeterde bind-ingebouwde functie die toetscombinaties uit alle modi kan tonen
  • Schonere autosuggesties: regelbrede suggesties worden onderdrukt zolang je nog geen commando bent begonnen
  • OSC 133-promptmarkeringen markeren nu ook het einde van de prompt, wat de integratie met terminals als iTerm2 verbetert
  • Toetsbindingen die afhangen van het besturingssysteem worden nu bepaald op basis van de host waarop de terminal draait

Inmiddels staat fish alweer een aantal versies verder. Dat maakt deze release niet minder illustratief — juist het patroon is interessant.

Waarom dit meer is dan gepiel in de marge

Neem die vi-modus. Een ontwikkelaar verplaatst zijn cursor honderden keren per dag. Werkt dat net anders dan in de editor ernaast, dan kost elke keer een fractie van een seconde plus een kleine correctie. Op zichzelf niets. Vermenigvuldigd met een werkweek wordt het iets.

Belangrijker nog is wat het met je aandacht doet. Elke keer dat gereedschap zich anders gedraagt dan verwacht, word je even uit je werk getrokken. Die onderbrekingen tellen zwaarder dan de seconden die je kwijt bent.

Zo’n OSC 133-markering lijkt al helemaal een detail. Het effect is dat je terminal weet waar een commando begint en eindigt — en dus dat je met één toetsaanslag naar de vorige opdracht kunt springen, of de uitvoer van precies één commando kunt kopiëren. Weer zo’n handeling die je tientallen keren per dag doet.

Wat dit betekent als je software laat bouwen

Je hoeft als opdrachtgever niets van shells te weten. Maar er zit wel iets in voor je afweging bij het kiezen van een bouwer.

Teams die hun gereedschap bijhouden, houden ook hun stack bij. Wie de moeite neemt om een shell-update door te voeren en toetsbindingen op orde te brengen, doet dat doorgaans ook met dependencies, security-patches en testtooling. Andersom geldt hetzelfde: waar de terminal uit 2019 stamt, staat de rest meestal ook stil.

Snelheid komt uit optelsommen, niet uit heldendaden. Dat een eerste werkende versie er bij ons doorgaans binnen vier tot acht weken staat, komt niet doordat we harder typen. Het komt doordat er weinig tussen het denken en het doen zit — gereedschap dat meewerkt in plaats van tegenwerkt. Hoe we dat aanpakken lees je op onze aanpak.

Wrijving is meetbaar, ook bij jou. Precies hetzelfde principe geldt voor de software waar jouw mensen mee werken. Een scherm dat drie klikken vraagt waar één zou volstaan, of een export die elke week handmatig moet — dat is dezelfde optelsom, alleen dan in jouw organisatie. Meestal is die veel duurder dan een shell-update, en veel makkelijker op te lossen dan mensen denken.

De kern

Goed gereedschap valt niet op. Het is er gewoon, het werkt zoals je verwacht, en het houdt je niet op. Dat geldt voor een shell, en het geldt voor de applicatie waarin je team zijn dag doorbrengt.

Loopt er bij jou iets dat elke dag een beetje schuurt? Stuur een paar zinnen — vaak is de oplossing kleiner dan het probleem voelt.


Bronnen: release notes fish 4.4.0 en de release op GitHub.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *