Monthly Archives: January 2014

Blog: Vi bliver klogere med tiden – lad os bruge det til noget!




En anden måde at perspektivere viden på er ved at se på det dilemma som findes i alle projekter. Hans Mikkelsen og Jens O. Riis præsenterer nedenstående figur i deres bog: Grundbog i projektledelse (jeg har tilladt mig at lave en enkelt tilføjelse med blåt til figuren – herom lidt senere).

Ser vi på den viden, som vi opbygger gennem et projektforløb, så kan den beskrives med den grønne kurve på figuren: I begyndelsen af projektet har vi en meget begrænset viden om projektet, det produkt som vi udvikler og det marked, som det skal anvendes i. Undervejs opbygges vores viden og når projektet er færdigt, vil vi så at sige have maksimal viden i dette domæne.

Ser vi ligeledes på de beslutninger, som vi tager gennem projektforløbet, og i hvor højt grad disse indvirker på, om vores projekt bliver en succes eller ej, så følger disse beslutningers betydning en kurve som den røde i figuren. Beslutninger taget tidligt i projektet har stor betydning for, om vores projekt bliver en succes eller ej, mens beslutninger taget sent i projektet ikke gør den store forskel.

Dilemmaet er, at vi træffer alle de vigtige beslutninger på det tidspunkt, hvor vi har mindst tilgængelig information og viden om projektet – dér hvor det største gab er mellem vidensniveauet og beslutningers betydning.

Hvordan løses dette dilemma?

I Waterfall vil man sige, at løsningen er at gøre sit hjemmearbejde bedre således at vidensniveauet bliver højere tidligt i projektet. Projektet skal altså front-loades med yderliger kravanalyse, yderligere specifikation, mere detaljeret Work Breakdown Structures osv. inden det igangsættes. Problemet med denne tilgang er, at den foregiver, at vi kan forudsige fremtiden – at vi i dag kan træffe de rigtige beslutninger i forhold til en fremtid som vi ikke kender. Denne tilgang holder ikke i komplekse projekter!

Den agile tilgang vil være, at vi i kombination med PDCA-cyklussen lever med, at der er beslutninger, som vi skal tage, men at vi ikke tager dem lige nu. Man kan sige, at vi udskyder beslutningerne – udskyder dem til det vi kalder det seneste ansvarlige tidspunkt (tendensen er angivet med den blå pil i figuren). Det er det tidspunkt, hvor en beslutning skal tages for ikke at skabe en risiko i vores projekt. Frem til dette tidspunkt gennemfører vi aktiviteter i forbindelse med udviklingen af produktet, som gør at vores viden vil være tilstrækkelig, når det seneste ansvarlige tidspunkt indtræffer og beslutningerne skal tages.

Som værende en Waterfall-bog fremhæver Riis og Mikkelsens bog naturligvis den førstnævnte tilgang, men de nævner faktisk også, at man kan lave en delvis konkretisering for af imødegå dette dilemma. Det er lige nøjagtig, hvad seneste ansvarlige tidspunkt handler om og rigtig godt set af forfatterne, når man tænker på, hvor tidligt denne bog udkom i forhold til introduktionen af agile metoder.

Bevistheden om seneste ansvarlige tidspunkt, sammen med PDCA-cyklussen, går igen i rigtig mange aspekter af, hvordan vi arbejder med Scrum. Eksempelvis hvordan vi håndterer vores Product Backlog som en dynamisk liste over funktionalitet, vi ønsker at udvikle. En liste med varierende detaljeringsgrad afhængigt af sorteringsrækkefølgen. Dette vil jeg komme ind på i et senere blog-indlæg.

Posted in computer.

Undersøgelse: Her er fem danske top-CIO’ers løn














Fra rundt regnet 75.000 kroner til 108.000 kroner.

Sådan lyder forskellen i månedsløn for den højest og lavest betalte CIO hos landets fem regioner.

Imidlertid har topscoreren, direktør Mikael Skov Mikkelsen fra Center for IT, Medico og Telefoni fra Region Hovedstaden, også ledelsesansvaret for 629 ansatte.

Den lavest lønnede af de fem –  koncern it-chef Claus Wegener Kofoed fra Region Nordjylland – har ledelesesansvaret for cirka 150 ansatte.

Lønstigning siden 2007
I 2007 lavede Computerworld samme undersøgelse, hvor der blev sendt fem identiske anmodninger om aktindsigt i lønnen for den øverst ansvarlige CIO i landets regioner.

Dengang var topscoren fra Region Syddanmark med en månedsløn på 94.703 kroner.

Lavest lønnede regionale CIO dengang var i øvrigt den nuværende CIO hos Rigspolitiet, Michael Steen Hansen, der fik 66.163 kroner om måneden tilbage i 2007.

Ser man på gennemsnitslønnen for de fem top-CIO’er hos regionerne i 2014-undersøgelsen, hvor aktindsigterne dog blev udsendt i slutningen af 2013, lander den på 85.523 kroner om måneden.

Tilbage i 2007 var det tilsvarende gennemsnit 79.184 kroner om måneden.

Ergo er lønnen steget med 6.339 kroner per måned. Men fordelt på årene fra 2007 til 2013 er der tale om en stigning på 1.057 kroner.

Oplysningerne i undersøgelsen er kommet frem via aktindsigt, hvor der er sendt ens aktindsigter til samtlige regioner. 

Det sker blandt andet for at belyse lønudviklingen på området, men også andre forhold kan belyses.

Fire ud af fem har nye på posten
For flere regioner har faktisk skiftet en del ud på posten de seneste år – på et tidspunkt blev der ligefrem talt om “masseflugt“.

I analysen indgår da også Jørn Lodahl fra Region Midtjylland, der efter anmodningerne er blevet besvaret, har forladt sin post.

Han fortalte inden sin afgang til Computerworld, hvordan det kan være, at der er så stor udskiftning på CIO-posterne i regionerne.

Læs om det her.

Det har ikke været muligt for Computerworld at få oplyst, hvorvidt der er fundet en afløser for Jørn Lodahl til posten hos Region Midtjylland.

Oplysningerne i udersøgelsen viser i øvrigt, at hos fire ud af fem regioner har den øvereste it-ansvarlige mindre end et års anciennitet.

Forskelt syn på bonusordning
Undersøgelsen viser også, at to af de fem regioner bruger såkaldte resultatslønskontrakter, der lidt populært også kaldes bonusordninger.

Her opstilles typisk en stribe mål, der skal opfyldes, hvilket så udløser en pose penge i lønposen.

Hos Region Midtjylland var ordningen skruet sådan sammen, at beløbet svarede til en halv månedsløn, mens man hos Region Syddanmark opererer med et maksimalt beløb på 100.000 kroner.

Endelig oplyser Region Sjælland, at der er mulighed for at udbetale såkaldte engangsvederlag.

For lav løn?
For nylig har debatten desuden verseret om, hvorvidt lønnen hos det offentlige faktisk var så lav, at man reelt kun kunne tiltrække de næstbedste.

Læs blandt andet formanden for de kommunale it-chefer Jørgen Raschs holdning til det her.

Fortsættes …

Posted in computer.

Malerisk middelalderbog viser naturen fra den mirakuløse side

Der var engang, hvor et stormvarsel ikke kom fra DMI – men fra overleveringer. Vejrfænomener som storme, lyn eller heftig nedbør måtte være mirakler eller tegn fra Gud. Det samme med meteorer og solformørkelser.

I middelalderen blev kraftige vejrfænomener derfor set som varsler: Først et heftigt snefald, så en plage – eller en oversvømmelse efterfulgt af en højtstående persons død.

‘Miraklerne’ blev viderefortalt, malet og skrevet ned, blandt andet i ‘Miraklernes bog’ – ‘Das Wunderzeichenbuch’ – der for nylig er blevet genoptrykt på det tyske forlag Taschen.

Ifølge forlaget selv er bogen lidt af en sensation. En sjælden sag, der først blev kendt for offentligheden i 2007, da den blev solgt via et tysk auktionshus til den britiske samler James Faber. Med hjælp fra papireksperten Peter Bower fandt Faber frem til, at bogen ikke som først antaget var fra 1700-tallet, men fra omkring 1550.

Bogen, der også indeholder et manuskript, stammer fra den sydtyske fristat Augsburg, hvor protestantismen og Luther gjorde sit indtog netop på den tid. En del kunstnere, der tidligere havde beskæftiget sig med kirkekunst, måtte se sig om efter andre steder at slå deres streger. Som i Danmark blev alle billeder og afbildninger i kirkerummene bandlyst, men bibelske mirakler var ikke bandlyst i ‘Miraklernes bog’


Miraklernes bog er på 560 sider på 32 x 21,5 cm med tilhørende booklet. Hele herligheden leveres i en kassette og koster 1.000 kr.

Verdenskort uden verden

Den farverige bog er således ikke bare en dokumentation af de overleveringer og fortællinger, der huserede i Europa på den tid, men også et indblik i det verdensbillede, der herskede i middelalderens Sydeuropa.

I afbildningen af pagten mellem Gud og menneske er de tolv stjernetegn afbilledet. Stjernetegnene har altså spillet en rolle. Kunstnerne har heller ikke prøvet at forestille sig, hvilket tøj Moses og Johannes Døberen og de andre bibelske personer har båret på deres egen tid. De er alle afbilledet iført middelalderkutter og samtidens klædedragter. Ganske pudsigt.

Det samme er det verdenskort, der er afbilledet som bibelverset Daniel 7, 1-4, hvor Daniel i en drøm ser de fire himmelske vinde blæse over rørte vande og fire bæster komme op af vandet fra hvert deres verdenshjørne. Syd- og Nordamerika eksisterer ganske enkelt ikke. Heller ikke Australien eller det sydlige Afrika.

Det er dog vejrfænomenerne, der er de mest spøjse. Som den aftegning fra Romerriget – nærmere sted vides ikke – hvor en gylden kugle blev observeret i 73 f.Kr. Ifølge vidner var den så stor, at den helt dækkede for Solen. Det blev set som et varsel. Siden kom den store romerske krig, står der i manuskriptet. Det samme gælder for det, der blev rapporteret efter Julius Cæsars død. Da stod tre sole på den østlige himmel. De bevægede sig henimod hinanden, står der i manuskriptet, således at de til sidst blev til én. Manuskriptet fortæller endvidere, at en okse samme dag spurgte en mand, hvorfor han arbejdede så hårdt. For inden længe ville der være større knaphed på mennesker end på korn.

Bogen beretter også om kometen, der blev set på himlen i 595 f.Kr. et helt år over Konstantinopel – det nuværende Istanbul. Ifølge manuskriptet sætter det en forbindelse til den tid, hvor profeten Muhammed levede.

En anden historie fra mirakelbogen er rapporten om år 1126, hvor vinteren var så kold, at fuglene døde i luften, og historien om da månen var blodrød, og et jordskælv rystede Italien i ni dage.

Der er også historierne om en fisk med menneskehoved fanget i ‘Det danske hav’ og bragt levende til København. Den ser lige så sær ud som den firbenede kylling, den er afbilledet ved siden af.

Ja, den tids mirakler er desværre forbi. Nu er det DMI, Nature og Science, der rapporterer om usædvanlige vejrfænomener. Det er knap så poetisk.

Till-Holger Borchert, Joshua P. Waterman: ‘The Book of Miracles’. Forlaget Taschen. 560 sider, 1.000 kr.

Posted in computer.

Metamaterialer kan speede matematiske beregninger op

Metamaterialer er kunstigt fremstillede strukturer, der er mest kendt for at kunne fungere som ‘usynlighedskapper’ ved på snedig vis at afbøje lys eller mikrobølger, så en genstand bag kappen ikke kan ses eller detekteres.

Men de kan også anvendes til at fremstille komponenter, der kan udføre matematiske operationer som differentiation og integration.

Det beskriver Nader Engheta fra University of Pennsylvania, USA, i en artikel i Science, som han har skrevet sammen med kolleger fra University of Texas og Università degli Studi del Sannio i Italien.

I artiklen forklarer forskerne, at ‘sådanne designs kan føre til direkte, ultrahurtige, bølgebaserede beregninger, løsning af ligninger og signalbehandling på hardwareniveau’.

Ari Sihvola fra Aalto-universitetet i Finland skriver i en kommentar i Science, at forskerne fremlægger realistiske beskrivelser af, hvordan det er muligt at lave et metamateriale, der udfører de ønskede matematiske operationer. Ari Sihvola bemærker i sin kommentar, at Fouriertransformation er et kraftfuldt matematisk værktøj, som Engheta baserer sit design på.

For et signal, der varierer med tiden, svarer en Fouriertransforma­tion til at finde frekvenserne, der indgår i signalet. Teknikken kan dog også anvendes til analyse af rumlige signaler, som eksempelvis fotos.

Der eksisterer en sammenhæng mellem matematiske operationer på funktioner og andre matematiske operationer på deres Fouriertransformationer.

Det er det forhold, som Engheta udnytter til at lave beregninger på analoge eller kontinuerte signaler.

Fouriertransformation med linser

For et optisk signal er det muligt at udføre en Fouriertransformation med en linse. Engheta udnytter, at det samme er muligt ved et kasseformet materiale, der har en gradueret-index (GRIN)-profil, hvor brydningsindeks har en parabolsk variation, så det er højest i midten af materialet og lavere i kanten af materialet. Sådanne GRIN-linser anvendes i mange sammenhænge.

Enghetas idé er nu at placere et tyndt materiale med særlige egenskaber mellem to sådanne GRIN-linser. Det svarer til, at man foretager en Fouriertransformation af det indkommende signal, hvor­efter det tynde materiale foretager en matematisk operation i form af en spektral filtrering. Sluttelig fortages en invers Fouriertransformation.

Resultatet er, at der nu er udført en matematisk operation på det indkommende signal.

Opgaven, som Engheta og co. har løst, er at udregne, hvordan de elektriske og magnetiske egenskaber af det tynde materiale i midten skal være, for at den samlede virkemåde svarer til en differentation, integration eller foldning.

Hvor GRIN-linser udelukkende er baseret på en rumlig variation af permittiviteten, som er materialets elektriske egenskab, så skal både permittivitet og permeabilitet (den magnetiske egenskab) variere i det tynde materiale i midten.

Der findes ingen naturlige materialer, hvor disse varierer på den måde, som de skal gøre, for at beregningen kan udføres. Materialeegenskaberne skal designes ved at lave en særlig rumlig fordeling af to forskellige materialer.

Forskerne viser i deres artikel, at hvis man bruger tre lag i længderetningen, hver med en tykkelse på 1/9 af bølgelængden af lyset, og fordeler silicium og aluminiumdoteret zinkoxid (AZO) i hvert lag på en bestemt måde, så er det muligt at designe midtermateriale, så det får de korrekte egenskaber.

Det er afgørende for designet af et metamaterialer, at de indgående grundmaterialer (silicium og AZO) har en rumlig udstrækning, der er mindre end lysets bølgelængde.

Silicium og AZO er karakteriseret ved at have permittivitet med forskelligt fortegn ved infrarøde frekvenser, hvorfor de er velegnede til design af metamaterialer ved disse frekvenser.

Selvom metoden med GRIN-linser giver mere kompakte systemer end tilsvarende enheder med konventionelle linser, er det et problem, at GRIN-linsen skal være forholdsvis tyk – omkring 12 gange bølgelængden. Ved en bølgelængde på 3 mikrometer er den samlede tykkelse omkring 75 mikrometer.

Forskerne angiver også en metode, der kan skrumpe den samlede længde til omkring 5 mikrometer. Men det stiller krav om, at man kan kontrollere materialeparametrene i længderetningen inden for meget små tolerancer på en længde, der er mindre end 1 mikrometer. Det er ikke en simpel opgave.

Science 10. januar 2014.

Posted in computer.

Snart ved din computer, om det er dig, der fører musen

‘Hvem sidder der bag skærmen?’ spurgte Jeppe Aakjær. Og svaret var som bekendt: Jens Vejmand. Siden da er verden blevet fyldt med webbutikker, netbanker og online-casinoer, og svaret er nu knapt så entydigt. I sagens natur er det dog alligevel vigtigt at kunne fastslå identiteten af personen bag skærmen med nogenlunde sikkerhed for at undgå svindel.

At bekræfte eller autentificere sin identitet på nettet kan imidlertid kræve et bøvlet sammensurium af brugernavne, kodeord, nøglekort og mobiltelefoner, hvor brugervenlighed og sikkerhed bliver hinandens modsætninger. Men den nød mener den internationale virksomhed Worldline dog at være godt i gang med at knække. Worldline leverer blandt andet login-løsninger til banker og står bag flere kortterminaler, også til Dankort herhjemme.

Det kunne Oliver Maas fra World­lines R&D-afdeling inden for betroede services fortælle under en rundvisning af Ingeniøren i virksomhedens afdeling i Belgien.

Autentificering tilpasser sig

»Vi arbejder på næste generation inden for autentificering. Vi vil skabe en situation, hvor vi kombinerer brugernes forskellige enheder i forbindelse med autentificering,« fortæller han.

Worldline kalder det for Adaptive authentication, hvilket kan oversættes til autentificering, der tilpasser sig.

»Vi tror på, at det kan bruges til at gøre autentificering mere gnidningsfri. Hvis du køber to ting lige efter hinanden hjemmefra, hvorfor så spørge om en pinkode, når man er sikker på, der er tale om den samme person?«

I den forbindelse vil en måde at fastslå identiteten på eksempelvis være ikke bare at se på den IP-adresse, et køb foretages fra, men også på det såkaldte browser-­fingerprint. For eksempel ved at tjekke, om den skærm­opløsning og de plugins, browseren rapporterer til serveren, svarer til, hvad der måtte være blevet rapporteret i forbindelse med et tidligere køb.

Hvad med privatlivet?

Umiddelbart kan det lyde praktisk ikke at skulle indtaste oplysninger hele tiden, men hvad med beskyttelse af privatlivet? Umiddelbart er prisen for bekvemmeligheden jo, at personlige oplysninger fra webcam, Bluetooth, accelerometer, GPS, browser og andet bliver indsamlet for at verificere brugerens identitet.

Oliver Maas erkender at privacy er en udfordring, som han dog mener, kan overkommes. Blandt andet ved at bygge kryptering og andre sikkerhedstiltag ind i løsningen fra starten.

»Når vi begynder at overvåge alle de ting, der sker på enhederne, og hvad brugeren gør, så er databeskyttelse et kerneområde,« siger han.

Det vil blandt andet sige, at de rå data, der bliver indsamlet på enhederne, ikke bliver sendt direkte ud på nettet, men anonymiseret.

Oliver Maas fortæller, at adaptive authentication gradvist vil blive rullet ud til World­lines eksisterende sikkerhedsløsninger.

Posted in computer.

Norsk raket skal drive verdens hurtigste bil

Der skal både en jetmotor og en raket til at bringe ‘bilen’ med navnet ‘Bloodhound’ op på 1.000 miles (1.600 km) i timen. Jetmotoren er på plads, det bliver en prototype af EJ200, som normalt sidder i en Eurofighter. Nu er der så indgået en aftale med den norske raketspecialist Nammo om levering af en motor til bilen.

Siden 2008 har en flok britiske ingeniører, rigmænd og tidligere RAF-piloter arbejdet på at sætte en eftertrykkelig verdensrekord for transport på land. Det er derfor planen, at den sylespidse Bloodhound i 2015 første gang skal fyres af på en 19 km lang bane i Sydafrika for at slå den nuværende rekord.

Den nuværende rekord blev sat i 1997 af Richard Noble (projektleder) og Andy Green (pilot) og lyder på 763 mph eller 1.228 km/h. Det er de selvsammen personer, som nu står bag Bloodhound.


Lidt data for Bloodhound-projektet.

Et perfekt match

Bloodhound har tidligere testet en raketmotor fra britiske Falcon Project Ltd., men der var for mange ting, som skulle redesignes, for at raketten kunne fungere. Men den norske raket kalder chefingeniør Mark Chapman for ‘et perfekt match’:

»Det var nærmest mystisk, da vi begyndte at kigge på vores behov for power, forbrænding og størrelse og så opdagede, at Nammo allerede arbejdede på en raket, der var meget tæt på det vi havde brug for,« siger han.

Den norske raket er en såkaldt hybridraket, hvor brændstoffet består af en kombination af Hydroxyl-terminated polybutadiene (HTPB) og koncentreret hydroperoxide.

Nammos raket adskiller sig fra Falcons ved at have erstattet et stort forbrændingskammer med fire til fem mindre kamre. Det er et design, som Nammo har udviklet i samarbejde med ESA.

Hvis rekorden skal slås, bliver det jetmotoren, som skal bringe Bloodhound op til 350 mph, herfra tændes raketmotoren og sammen skal de altså bringe fartøjet op på 1.000 mph. Tilsammen skal de levere en kraft på 212 kN.

Posted in computer.

Blog: Endelig god hardware information på Linux

En af de ting jeg aldrig har været helt tilfreds med på Linux er adgangen til at se hvilken hardware en given maskine har.
Som eksempel har jeg ofte brugt

til at se hvilken CPU der sidder i en maskine

På min nuværende Intense-PC giver den f.eks. en masse linier f.eks.

Hvis jeg herefter gerne vil se hvilken audio-hardware maskinen har, så er det en anden kommando – det er rodet….

Jeg er lige faldet over en god løsning på det problem. Programmet inxi (link) giver en logisk præsentation af HW på maskinen.
På en Debian/Ubuntu maskine installeres det nemt med “sudo apt-get install inxi”.

Uden nogen argumenter giver inxi ikke så meget ud

Men med lidt højere “verbose level” er det mere interessant:

Programmet tager også argumenter “-N” for netværk, “-G” for grafik og “-A” for audio – og de kan naturligvis kobles sammen

Lækkert!

/pto

Posted in computer.

Nyt materiale kan sikre gennembrud for flowbatterier til vindmøllestrøm

I flowbatterier kan man lagre elektrisk energi ved at omdanne det til kemisk energi, som sidenhen kan konverteres tilbage til elektrisk energi. Det sker ved at man har to forskellige elektrolytter i den positive og negative halvcelle. Flowbatteriet har sit navn, fordi de kemiske stoffer pumpes gennem batteriet og lagres i adskilte eksterne tanke.

Det er det forhold, som muliggør lagring af store energimængder, og som gør flowbatterier interessante i forbindelse med vindmøller og solceller.

Inden for de seneste år er det især vanadium-flowbatterier, der har været studereret og taget i anvendelse i en række specialsituationer.

Når vanadium-flowbatteriet oplades, fjerner man en elektron fra V4+-ioner i den positive halvcelle, som omdannes til V5+, samtidig med at V3+ tilføres en elektron i den negative halvcelle, som omdannes til V2+. De to halvceller er adskilt af en membran, der tillader passage af protoner. Ved afladning sker de modsatte reaktioner.

Problemet er blot, at vanadium er dyrt.


Vedvarende energi kan lagres i grønne og blå kemikaler i et såkaldt flowbatteri. (Ill: Lauren Aleza Kaye)

Michael Aziz’ forskningsgruppe fra Harvard University i USA har nu et langt billigere alternativ.

I den positive halvcelle bruger de en elektrolyt bestående af Br2 og HBr – som allerede i dag anvendes i andre flow-batterier.

Det afgørende gennembrud er sket ved at benytte en elektrolyt i den negative halvcelle, der er baseret på reaktion mellem quioner og hydroquioner.

Benzoquinon (C6H4O2) er dannet ud fra benzen (C6H6) ved, at en dobbeltbinding mellem to kulstofatomer brydes, og der indsættes to styk dobbeltbundet oxygen.

Forskerne benytter en variant af en kompliceret quinonforbindelse (C14H8O2), der kaldes AQDS og dets hydroquinon-varianter.

De har dermed lavet et metalfrit quinon-brom-flowbatteri med en galvanisk effekttæthed på 0,6W/cm2 ved en strømstyrke på 1,3 A/cm2. Cellespændingen er 0,9 V.

Forskerne estimerer de kemiske omkostninger pr. kilowatttime lagret energi til 33 kr. for brom og 115 kr. for AQDS. Til sammenligning er den tilsvarende pris ved vanadium på 445 kr. og omkring 2.500 kr. ved lithium-ion-batterier.

Nature, 9. januar 2014

Posted in computer.

Blog: Et Mozartøjeblik

Jeg sidder og skal have skrevet noget hobbykode.

Ude i datamuseum.dk har vi brug for et “bitarkiv” hvor vi kan arkivere historiske bits — for evigt.

Det er denne lille tilføjelse der gør at det ikke bare bliver et par shell-scripts eller noget andet hurtigt klamp.

Selve lagringen kommer til at foregå i “WARC” fil-format, som er ved at blive defacto standarden i digital bevaring og efter at have tænkt lidt over tingene er jeg kommet frem til hvordan det skal hænge sammen for os.

Vi skal have en rå storage-service, hvor man kan tilføje et objekt eller hente det igen givet dets unikke “WARC-Record-ID”.

Servicen leveres via HTTP/1.1 med POST, GET og HEAD requests og er utroligt simpel, hvilket naturligvis er med vilje.

Fordi WARC formatet er et “append only” format (et af grundene til at vi valgte det) skal alle POST requests serialiseres for ikke at have race-conditions og det gør også nogle boundary-conditions når en WARC fil når den ønskede størrelse nemmere at håndtere.

I teorien kunne man godt nøjes med at åbne WARC-filen i append mode og skrive hele records i en writev(2) operation, men da vi kan finde på at lagre hele diskimages kan det blive endog meget store write-operationer og det løser i særdeleshed ikke den race-condition der er når filen er ved at være fyldt.

Men alt i alt er det hele sådan set klar, jeg mangler bare lige at taste sourcekoden ind.

Hvilket fik mig til at tænke på en sætning Mozart skrev i et brev til sin far Leopold:

“Nun muß ich schließen, denn ich muß über Hals und Kopf schreiben; componirt ist schon alles, aber geschrieben noch nicht.”

(For dem der ikke er helt stærke i tysk mere: “Nu må jeg slutte og skrive over hals og hoved; Alt er komponeret, men ikke nedskrevet.”)

Vel er jeg ikke Mozart og dette ikke Idomeneo, men jeg må erkende at jeg lider af skriveblokering.

Ikke fordi jeg ikke kan, eller ikke vil, men jeg ledes ved at skulle skrive det samme kode endnu en gang.

Der skal bruges en tråd der accept(2)’er på en socket, der skal bruges en thread-pool, der skal bruges en HTTP/1.1 modtager/parser osv. osv.

Jeg har ikke tal på hvor mange gange jeg har skrevet den kode tidligere, og det er forsvindende få gange i forhold til hvor mange gange alle mulige andre har gjort det og det udstiller hvor antikt og ærligt talt utidssvarende UNIX API’et er.

Det er 30 år siden BSD4.2 blev releaset med socket(2) API’et, burde vi ikke i mellemtiden have kunnet blive enige om at bygge lidt bekvemme biblioteksrutiner ovenpå ?

F.eks:

Så vi ikke alle skal igennem hele socket(2), getaddrinfo(3), bind(2), listen(2) rutinen hver gang vi skal skrive en server ?

Og hvad med en:

Nu hvor vi er igang, så vi ikke alle skal sidde og lede efter [CR]?NL[CR]?NL og skille linierne og kigge efter ‘:’ mens vi husker på HTTP’s hjernelamme “continuation lines” og alt det der ?

Ja, jeg har kigget igennem /usr/ports for at se om der var noget jeg kunne bruge, men enten får jeg kvalme af kodekvaliteten, eller også trækker autocrap alt fra OpenSSL til g77 ind for at bygge noget der kalder sig noget i stil med “en simpel lille HTTP server.”

Hele ideen i systembiblioteker er at de indeholder veldesignede implementeringer af standard funktionalitet som har et velgennemtænkt API og som er testet helt ud i hjørnerne, så man bare uden videre kan bruge dem, uden at skulle bekymre sig om de nu også gør tingene rigtigt.

Det er f.eks derfor vi ikke sidder og skriver vores egne kvadratrodsrutine eller Quicksort hver gang vi skal bruge dem.

Men UNIX API’et forstenede i slutningen af 1980erne og bortset fra IPv6′s kvaksalverisk plastikkirugi er der intet sket siden og derfor ender vi med tusindevis af implementeringer af HTTP, XML, krypto-algoritmer og andre helt fundamentale ting.

Jeg er så træt af det pis, at jeg seriøst har siddet og kigget på om jeg skulle starte fra en kopi af Varnish kildeteksten, bare for at komme uden om min lede ved at skrive den N’te version af kode der burde have været en del af systembibliotekerne i mindst 15 år.

Det kommer til at vare lang tid før fremskridtet går for vidt.

phk

Posted in computer.

(10 + 9) x ( 8 x 7 + 6 – 5 – 4) x (3 – 2 + 1 + 0) = 2014

Alex Bellos stillede lige før nytår på sin matematikblog i The Guardian sine læsere en opgave:

Indsæt regneoperationer i talrækkefølgen 10 9 8 7 6 5 4 3 2 1 0, så resultatet bliver 2014.

Han gav selv eksemplet i artiklens overskrift og udfordrede læserne til at komme med andre løsninger.

Der kom en lind strøm af forslag fra læserne indtil debattøren SukhinovAnton kom med den samlede løsning med – hold nu godt fast – 8.568 løsninger baseret på brug af de fire operationer (addition, subtraktion, multiplikation og division) samt parenteser.

Under den forudsætning at udtryk, der kun adskiller sig ved at have minus inden for eller uden for parenteser, betragtes som værende identiske, og at minus nul og plus nul anses som forskellige.

Løsningerne kan findes her.

For at fuldende beretningen er her, hvorledes det forgang år og de kommende kan skrives efter denne opskrift.

(10 + 9 – 8) x (7 – 6 + 5 x 4 x 3) x (2 + 1 + 0) = 2013

og

(10 x 9) x (8 + 7 + 6) + (5 x ((4 x 3 x 2)+1)) + 0 = 2015

Posted in computer.