Skördetid

Vi byter blad i almanackan. Juli övergår i augusti och de ljusa sommarkvällarna börjar få ett stänk av augustinattens mörka toner. Det är skördetid. För min del förknippas skördetiden med skogsturer iförd bärplockare och hink. Skogens blå guld är det som lockar. Slutresultatet blåbärssylten blir godare för varje år. Antagligen har argumenten om deras nyttighet slagit sig på smaken. Varje morron förgylls när de utgör komplement till filen och flingorna. Så här ser det ut när det är dags för hemfärd från skogsturen.

Skogens blå guld

När blicken vänds mot arbetslivet och jag tittar i backspegeln så måste erkännas att jag också där varit med om en skördetid. Jag hittade fram till smultronstället. Inte planerat utan snarare lyckliga omständigheter. Det som brukas kallas ligga rätt i tiden. Vi förflyttar oss tillbaka till tiden innan internet. IBM satsade på en ny minidator som fick namnet AS400. En kombination av det bästa från föregångagarna S/38 och S/36. För plattformen lanserades programvara som passade perfekt för kunder i mellanskiktet. Några i raden var de tre i:na Intentia, IFS och IBS. Pusselbitarna stämde. Kunderna strömmade till. Allt föll på plats och skörden kunde inkasseras.

Bärställen kan vara flyktiga. Under några år fylls hinkarna men helt plötsligt till synes utan förvarning får man söka förgäves. Skördetiden är över. Så är det också om utsiktspunkten riktas mot arbetslivet och de erfarenheter jag har. De tidiga framgångarna för AS400:an får de ansvariga för plattformen att helt missa två avgörande förändringar. Det för användarna så tilltalande grafiska gränssnittet och revolutionen som förändrade allt, internet. Då hjälper det inte att byta namn till iSeries och i5 eller göra några halvhjärtade försök att haka på trenderna. Tåget hade redan lämnat stationen.

När Java gjorde sitt segertåg med “write once and run anywhere” så hakade Intentia på. De ville ta marknadspoäng genom att vara först. Tyvärr blir inte dålig strukturerad procedurkod bättre när det sker en rak konvertering till ett objektorienterat språk. Till en början var tillväxten god men peaken kom och med den problemen. Programvaran köptes upp först av Lawson och nu senast Infor. Användarna troppar av en efter en och nya tillkommer inte. Allt typiska tecken på en programvara som nått slutfasen i sin livscykel. Bärstället är rensat. Alla bär upplockade.

Hur ska man reagera när bären verkar ha övergett det vanliga stället. Ett sätt är att byta blåstället mot de finare inköparbyxorna. Ta sig ner till centrum och söka bären bland torghandlarnas utbud. Köpa in istället för att själv svara för hela förädlingskedjan. Från företagshorisonten är den möjligheten inte öppen om själva bärplockningen är inkomstkällan. Då återstår bara alternativet att bege sig ut i skogen på spaning. Var finns nya bärställen? Om terrängen är bekant underlättas sökandet.

Posted in Okategoriserade | Leave a comment

DCI

I min todo-lista har jag kommit fram till något som stavas D-C-I. Ännu en bokstavskombination. Står dessa tre bokstäver för något som stoppas undan i skrivbordslådan och faller i glömska eller kommer de att få allmän spridning. Vissa vill till och med hävda att det leder till ett så kallat paradigmskifte inom utveckling av programvara. En efterföljare och naturlig fortsättning av det objektorienterade synsättet.

Låt oss titta lite närmare. Bokstavskombinationen står för förkortningen av Data-Context-Interaction. En av förgrundsfigurerna är den nu över 80-årige norrmannen och professorn Tryggve Reenskaug. Det var också han som formulerade begreppet model-view-controller (MVC pattern) som fått stort genomslag. Är det våra grannar som ska sätta sina avtryck i databranschens historieböcker? Finland har sin Linus och Norge ja de har Tryggve.

Behovet av ett ändrat angreppssätt tar sin utgångspunkt i svårigheterna att följa och förstå koden i allt komplexare system. Det objekt-orianterade programmeringssättet isolerar objektens data och deras beteenden men interaktionen mellan objekten är ofta svåra att följa. Målet för DCI är att separera vad systemet är (data) från vad systemet gör (interaction). Därmed blir koden mer läsbar. Systemets runtime-egenskaper ska motsvara den mentala modellen och återspeglas i koden.

Begreppet roll införs. Det står för beteende. Förändringar av objekten. Genom att införa roller separeras objektens datastruktur från dess beteende (metoder). Den stora förändringen är begreppet context. Från användarens mentala modell via use case till context ska finnas ett klart samband. Varje use case ska återspeglas i ett context. Det ska visa vad som händer med objekten och mellan objekten under runtime. Fördelarna är uppenbara. Kommunikationen med användarsidan underlättas. När väl context identifierats framgår sammanhangen tydligt i koden. Läsbarheten ökar.

Låt oss följa hela kedjan. Utgångspunkten är användargränssnittet. Användaren triggar ett use case och ett request skapas. Från requesten letar serverdelen reda på rätt context. Context plockar in de data och roller som behövs. Sedan kan rollerna genomföra det som krävs.

Jag tycker angreppssättet verkar mycket tilltalande. Hur många timmar läggs ner på att följa och förstå kod? Åtskilliga! En av svårigheterna är mängden kod. Med DCI isoleras varje use case i greppbara delar. Det känns lovande. Naturligtvis är det först i den praktiska tillämpningen som tankesättet sätts på prov. Kan fördelarna göras synliga?

Posted in Programmering | Leave a comment

Peak oil

Sommaren har gjort sitt intåg i en blandning av sol och regn. Med värmen får man också ta myggen. De hör till. Gräsmattan växer och behöver sin ansning. Den gamla handgräsklipparen verkar ha gjort sitt. Lagret på ena sidan glappar rejält. Jag borde mana fram mekanikerintresset men det får bli en helt ny. Enklast så. På inköpslistan står varken robotgräsklippare eller traktorgräsklippare utan en mekaniskt konstruktion som kräver tillförsel av energi i form av personlig motion. Rätt investering i dessa tider när oljeepoken går mot sitt slut?

Det pratas om “Peak oil” vilket är den punkt när oljeproduktionen når sitt maximum. Därefter minskar produktionen. Vissa hävdar att denna punkt redan passerats. Befintliga oljefyndigheter sinar och nya som tillkommer är allt kostsammare att ta i drift eller så finns de helt enkelt inte. Ändliga resurser tar slut. En sanning som tål att upprepas när många hävdar att prismekanismen löser problemet.

Vad blir följden när en ändlig resurs börjar sina? Ja naturligtvis har vi priserna som sticker i höjden. Allt högre bensinpriser har blivit vardagsmat och prisökningen kommer att accelerera. Endast de köpstarka får tillgång till de exklusiva sista dropparna. Landmässigt har det alltid varit så. USA som är cirka 5 procent av värdens befolkning konsumerar en fjärdedel av världsproduktionen av olja. Med högre priser blir urvalet tydligare även på lokal nivå. Endast de rika befolkar bensinmackarna.

Ett annat sätt att hantera en brist är ransoneringskort som delas ut efter förmodat behov. Vi som var med 1974 kommer ihåg bensinransonering som infördes under några veckor i början av året. Ransoneringskortet var viktigt. De var en förutsättning för att få fylla tanken på sin bil. För min del en bubbla av årsmodell 64. Så här såg kortet ut som möjliggjorde inköp.

Oavsett om vi vill eller inte så tvingas konsumtionen av olja ner. Det område som berörs mest och där stora förändringar måste till är transportsektorn. Transporter är nästan totalt beroende av olja. Stanna upp en stund och fundera. Det är inte bara resandet som berörs utan indirekt slår godstransporter mot alla delar av samhället. Är det månntro denna bild vi ställs inför när vi passerar ett historiskt monument i människans historia.

Posted in Okategoriserade | Leave a comment