onsdag den 27. januar 2010

Trælst

Prøv at forstille jer følelsen af, at være en dreng på otte, som lige har fået overbevist sine forældre om, at man er blevet for stor til sin cykel. Så bruger man tid på at besøge forskellige cykelhandlere, og endelig finder man en drøm af en ny cykel: sort med røde flammer, 7 gear og nav-dynamo. Og selvom den er dyr, så er det den, som bliver købt ... og selvfølgelig får man den med hjem med det samme.

Der går så to dage, hvor man kan sole sig i den opmærksomhed, som en ny cykel giver blandt skolebørn i den alder, men da man tredje dag kommer ud fra sidste time for at tage sin cykel op til SFO, så er den der ikke. Væk. Borte. Stjålet!

Det skete for den store af mine drenge i dag. Trælst.

søndag den 24. januar 2010

Avisoverskrifter og graffiti

Hvad har graffiti og avisoverskrifter til fælles? En hel del, i hvert fald rent sprogligt, for begge dele har reduceres sproget, ja nærmest kogt det ind til den pure essens. Det betyder også, at det engang imellem bliver utilsigtet tænkevækkende.

Tag f.eks. denne overskrift, som jeg læste over skulderen på en med-passager i bussen den anden dag:

Ubegrundet frygt er farlig

Hmm.

Bortset fra, at der sikkert tænkes på angst, så er der udtryk for en interessant selvmodsigelse - for hvis ubegrundet angst er farlig, så er den vel ikke ubegrundet? Eller er det måske angsten for angsten, som er velbegrundet?

Uden alle omstændigheder, så er det næppe nogen nyhed, at angst fortærer sjæle (...og det var så den anden underhåndsreference til Fassbinder - nu skal jeg nok holde!).

Jeg lovede vist også noget graffiti - her er lidt fra tunnellen under vejen, hvor jeg står på rutebilen:

Jeg kommer til at smile hver gang, at jeg går forbi, for jeg kommer til at tænke på trolden Detritus fra DiscWorld, der jo som bekendt gør karriere i Ankh-Morpork City Watch - og på hans "piecemaker", som er et ombygget belejringsvåben, som Detritus bruger som et overdimensioneret armbrøst.

Eller hvad med den her, taget samme sted fra:

hvor til man kun kan tilføje: "...og alle andre voldelige intolerante!".

Hov, ventligeetøjeblik! :-)

mandag den 11. januar 2010

Statsautoriserede dummebøder

En af de ting, som sker i disse dage, er at vores stat begynder at opkræve almindelige bankrenter for det mellemværende, som vi som borgere og skatteydere måtte have med den. Første gang at jeg hørte om det, synes jeg nok, at det lød ... lad os sige "interessant", men jo mere jeg tænker over det, jo mere betænkelig bliver jeg.

Misforstå mig ikke, jeg kommer ikke til at græde en eneste tåre over, at folk, som bevidst har udnyttet reglerne, nu ikke længere har den mulighed (eller i det mindste ikke længere bliver belønnet for det). Det gælder både dem, som bevidst har brugt skattevæsnet som en billig finansiering ved systematisk at underspille deres økonomiske formåen - og dem, som jeg har kendskab til brugte skattesystemet til at lave en gunstig ferieopsparing ved at forskudsregistrere en højere indkomst end de selv regnede med.

Næh, min betænkelighed går mere på, at man først laver et system så overmåde kompliceret, at ingen almindelige mennesker har en jordisk chance for at gennemskue det, og så bagefter kræver penge op af alle som gætter forkert - både dem, som gætter for meget, og dem som gætter for lidt. Det lugter temmeligt meget af dummebøder.

Fornemmelsen af, at man i virkeligheden slet ikke ser noget problem i tingenes tilstand, men snarere er ude efter endnu en finansieringskilde, som ikke er omfattet er det selverklærede skattestop, bliver forstærket, når man graver lidt mere i de bagvedliggende tal: Der har altid været flere skatteydere, som har overskydende skat til gode, end der er skatteydere med udestående restskat, og tilsammen har de altid haft en større samlet overskydende skat end den tilsvarende samlede restskat. Skatteyderne har derfor altid været med til at nettofinansiere staten.

Lidt fakta fra Danmarks statistik:
I 2008 var der ca. 3 mio. skatteydere, som samlet set skulle have 25 mia. kroner tilbage for overskydende skat. Tilsvarende var der ca. 1,4 mio. skatteydere, som skulle efterbetale en restskat på i alt 9 mia. kroner. Der var ca. 0,5 mio. skatteydere, som hverken havde overskydende skat eller restskat.

Antallet er skatteydere har ligget nogenlunde stabilt i hele perioden, og specielt over de sidste 10 år (i 2001 hhv. 2004 var der dog en forskydning på ca. 0,5 mio skatteydere fra overskydende skat til restskat - de to år ses også som knæk i ovenstående diagram)

tirsdag den 29. december 2009

Om minareter og folkets vilje...

Det vakte en del opmærksomhed rundt omkring i verden, og da i særdeleshed i Danmark, da svejtserne fornyligt i en folkeafstemning mønstrede et flertal for et forslag om forbud imod minareter. Det blev - vel i sær i Danmark - udlagt som et grimt eksempel på religiøs chauvinisme eller måske endda islamofobisk betinget religionsforfølgelse.

I Danmark blev nyheden ofte ledsaget af udsagnet om, at nu fik Svejts også sin Muhammed krise; jeg forstår ikke det tilsyneladende traume, som vi som nation åbenbart stadig har over, at nogle i sin tid hidsede sig voldsomt op over nogle tegninger, og jeg forstår da slet ikke, hvorfor vi har så travlt med, at andre tilsyneladende også skal udsættes for det samme. Krise blev det nu ikke til - i hvert fald ikke i første omgang - det blev mest til nogle skuldertræk og en del advarende ord om det principielle i problemstillingen (sjovt nok mest fra andre religiøse bevægelser).

Den mest forstandige behandling af begivenheden stod weekendavisen for i en kommentar, og jeg hæftede mig specielt ved bemærkningen om, at det ville blive vanskeligt at udmønte det resultat i konkret lovning. Svejts har vedkendt sig det udbredte og snusfornuftige princip om, at man i lovgivning ikke vil gå efter manden, men altid kun efter bolden - og det har man i øvrigt stadfæstet både i grundlovsmæssigt regi, og ved at bakke op om adskillige internationale konventioner.

Hvad vil det sige i praksis - ja, skal man udtrykke det populært, så vil det aldrig blive forbudt at være blondine, og jeg vil bestemt heller ikke bryde mig om et samfund, hvor det kunne ske - men det vil bestemt være muligt at forbyde brugen af afblegningsmidler, hvis det kunne ske med henvisning til f.eks. sikkerheds- eller sundsmæssige hensyn. Det er ikke udtryk for blondine-diskrimination, også selvom det sikkert vil blive opfattet som sådan af mange brintoverilte-blondiner, for det forhindrer hverken naturlige blondiner eller f.eks. solafblegning af håret.

Men tilbage til minareterne og folket vilje: Selvom inspirationen til forslaget om forbud imod minareter sikkert udspringer fra kredse med islamofobisk eller såmænd "bare" xenofobisk baggrund, så tvivler jeg personligt på, at det reelt er det, som ligger bag resultatet. Næ, jeg tror, at bevæggrunden er langt mere lavpraktisk af natur, og det synspunkt synes jeg faktisk, at jeg fik opbakning til i en omgang agurketidsjournalistik, når den er bedst, i nyhederne i går (beklager, men jeg husker ikke, om det var den ene eller den anden kanal):

Når agurketiden truer, så finder man jo gerne et kontroversielt emne at lave en såkaldt "meningsmåling" om (hvad ofte bliver udlagt som en "folkeafstemning-light", hvilket er helt urimeligt, men lad det nu ligge i denne omgang), og denne gang var det minaretforbudet, som skulle igennem vridemaskinen. Ikke overraskende kom man frem til samme resultat som i Svejts.

Her kunne historien så havde stoppet i en almindelig bedre-moralsk fordømmelse af folket stemme(!), men journalisterne havde været snedige, for de havde ledsaget det åbenlyse spørgsmål med spørgsmålet om, hvorvidt at man havde noget imod moskeer i det hele taget. Det havde man overraskende nok ikke, og det kom måske nok bag på journalisterne - det kom i hvert fald i første omgang bag på mig.

Men ved nærmere eftertanke, så giver det måske ganske god mening - hvis man ikke bryder sig om tanken om en muezzins højlydte bedekald fem gange dagligt, men kun bliver spurgt om, hvordan man har det med moskeer, så vil man nok svare negativt - jeg ville i hvert fald. Den samme tanke havde man åbenbart også haft blandt journalisterne, for man havde efterfølgende været rundt og spørge folk på gaden om, hvad de mente om minareter uden bedekald, og det havde de åbenbart ikke kunnet finde nogen, som havde noget imod - og så blev historien rundet af med bemærkningen om, at det faktisk end ikke tilladt med den slags bedekald i den eksisterende lovgivning.

Lad mig sige det igen: glimrende agurketids-journalitisk. Mere af det, tak!

Og her ligger løsningen til svejtserne kattepine sikkert også - det vil give mening at forbyde højlydte bedekald, men i øvrigt tillade minareter i det hele taget (givet at bygningsregulativer og anden fornuftig håndhævelse af naturlig byudviklingen behørigt respekteres) - teknisk set vil det nok kræve endnu en folkeafstemning for at tilfredsstille deres forfatning, vil jeg tro uden at kende noget særligt til det. Højlydte bedekalde vil jo nemt kunne komme til både at overdøve kukure og udløse laviner ;-).

Der løb den sag så ud - der er rent politisk set ikke fugl føde på den. Men hvis man alligevel tager den opgave på sig, at lave lovgivning imod højlydt påkalden af opmærksomhed i det offentlige rum - kald som rækker ud over de allerede omvendte og velvillige lyttere - så synes jeg bestemt, at man seriøst skal overveje at ophæve "folke"-kirkens monopol på at ødelægge byboeres søde skønhedssøvn søndag morgen - det hører efter min mening heller ingen steder henne. Eller i det mindste lave et krav om, at der kun måtte ringes, når kirken var over 80% fuld, til almindelig oplysning om, at så er det nu, hvis man stadig vil have en plads (det vil nok i praksis blive det samme som et totalforbud :-)).

Og når vi er i gang, så kast lige et blik på det vedlagte billede - ja, det er en kirke, men se lige på begge sider af dens kønne tårn: der er nogen, som har tilladt opsætning af lyskastere til en eller anden mere eller mindre tilfældig sportsplads. Sådan noget kan ses 10-20 km væk (dem i Randers kan ses fra motorvejen hele vejen forbi Randers, og er faktisk mere generende end modkørende med langt lys). Og for hvad? Fordi at 22 folk kan rende rundt omkring en bold, mens et par hundrede andre kigger på, medens de forsøger at drikke sig bøvede i lunken fadøl.

Eller hvad med de såkaldte "forlystelsesparker", som åbenbart gerne vil placere sig midt i de bynære skove ... hvis ikke de da kan komme helt ind i centrum ved siden af rådhus og hovedbanegård. Lad os også få dem med, når vi skal lovgive om ro og orden.

søndag den 20. december 2009

Tragedien om COP15

Parternes 15. konference (COP15) viste sig ikke at handle om klima, men om fordelingspolitik. Bevares, klimaet var i høj grad anledningen, eller om man vil, undskyldningen, men efterhånden som skåltalerne klingede af, så blev det hurtigt tydeligt, at det mere handlede om retten til rigdom.

Der er ingen tvivl om, at festen er ved at blive noget overfyldt, og de oprindelige deltagere i festen (den første verden) er alvorlig bekymrede for, om der i det hele taget kan blive ved med at være en fest, hvis alle andre også skal være med. De andre (anført af G77) er i høj grad af den overbevisning, at nu er det deres tur til at feste, og hvis der ikke er plads til alle, så må de, som allerede har festet længe, jo bare afgive pladsen.

Det er ikke nogen ny diskussion, ja faktisk er den ældgammel - den har bare fået nye klæder at svøbe sig i - og derfor er det ret forudsigeligt, hvad der kommer til at ske (eller rettere, ikke ske).

Nogle vil jo mene, at vi bare skal rykke lidt sammen, og så skal det nok altsammen gå. Andre mener, at man bare skal appelere til den sunde fornuft, for det er tydeligt, at hvis der ikke sker noget, så vil det hele blive ødelagt for alle.

Det er i virkeligheden meget anerkendelseværdige synspunkter, som udspringer af gode hjerter, men desværre er det ikke så nemt i praksis, for vi står jo med noget der ligner ærkeeksemplet på "Tragedy of the Commons" (jeg tror at det på dansk oversættes til "Fælledens kollaps") - problemstilling som overfiskeri og anden form for rovdrift på naturressourcer er vand imod de problemer, som vi angiveligt står over for her. Og jeg beklager at sige det, men sporene skræmmer - løsninger, som har fungeret i mindre målestok, ser ikke ud til at kunne virke her.

Spilteoretikerne giver os heller ikke meget håb - vi står med et ikke-nulsums spil, med store ligheder med "Fangernes dilemma". Enhver kan se, at den eneste rigtige løsning på fangernes dilemma, er at stå sammen, men fristelsen for at "free-ride" er i praksis for stor, og sanktionerne tilsvarende alt for små.

COP15 var en chance som skulle tages, også selvom den var spinkel, mend det gik desværre som frygtet. Det eneste håb jeg kan se for en ændring, er at en gruppe af den tunge spillere går sammen, og bliver enige om at ændre spillets regler ... og samtidig gør det klart for alle andre deltagere, at hvis de stadig vil være med i spillet, så skal det være efter de nye regler.

onsdag den 2. december 2009

Julen er startet

I har sikkert også opdaget det, men ellers så kan jeg oplyse om, at julen er startet. For os startede den i går (1. december) kl. 05.38. Der kunne jeg ved selvsyn konstatere, at begge drenge var lysvågne og igang med at åbne julekalendre og checke gavesokker. Og så har jeg endda hørt fra nogle af mine kollegaer, at det var sent - hans dreng havde første gang vækket dem kl. 3 for at spørge, om han ikke snart måtte stå op.

Det med gavesokkerne var ellers tæt på: Aftenen før, da jeg var ved at lægge drengene i seng, da kigger den yngste af dem alvorligt på mig. "Far, der er ingen gavesok", siger han så. Åh, nej, det havde vi lige glemt alt om. Jeg roder mig ud i en lang bortforklaring om, at nisserne at kommet bagud med forberedelserne i år, og derfor ikke er klar med alle gaverne til gavesokkerne. "Jamen, julemanden har en gavemaskine, som kan lave alt, hvad vi ønsker os", svarer han bare. Ja, det måtte jeg jo indrømme, for det havde vi jo lige læst i godnathistorien for nogle dage siden.

Og nisserne havde sørme nået det alligevel. Personligt synes jeg nu godt nok, at det lignede noget fra det lager med børnefødselsgaver, som min kære kone har opbygget. Eller også så fik nisserne gavemaskinen til at virke. Smilet på den yngstes ansigt, da han opdagede gavesokken og fandt ud af, at den også havde indhold, var i hvertfald ikke til at tage fejl af.

Jow, jow - det er ganske vist. Julen er kommet rettidigt i gang igen i år! Ho, ho, ho!

mandag den 16. november 2009

Områdeviden

I forhold til databaser, så er jeg typen, som gerne vil udtrykke så meget viden om det domæne, som data omhandler, i databasen. Som minimum helt banalt identitet (og her tænker jeg ikke på kunstige nøgler) og referentiel integritet; og i virkeligheden vil jeg gerne sige meget mere, men som oftest understøtter databasesystemerne det kun i ringe udstrækning. Men lidt har også ret.

Jeg vil gerne have, at databasesystemet hjælper mig med at holde orden i data, så programmerne ikke behøver at gøre det. På den måde bliver programmerne - efter min mening - sikrere og mere koncise.

I modsætning her til står det synspunkt, at databasen sådan set bare er en stor spand, hvor man kan hælde semistrukturerede data i, og det med mindst muligt besvær. Integritetsregler er mest af alt i vejen, og i øvrigt så koster de vist også performance.

Når man opfatter databasen på den måde, så giver det sig selv, at det bliver programmernes ansvar selv at sikre sig, at der er orden i data. Det lægger en større byrde på omhu og på kvalitetssikring.

Selvom jeg har valgt side, så har begge synsvinkler faktisk hver i sær sin rimelighed. Er strukturen i rivende udvikling og/eller er skemaet til at overskue, så er det sandt, at integritetsregler mest af alt er i vejen. Men når kompleksiteten stiger, og når det er vigtigt at have konsistente data, så er det ofte nødvendigt at have databasesystemet som kustoden, som dels kan hjælpe med at vise vej, og dels kan afvise de værste unoder.

Kort sagt, så hjælper integriteretreglerne med fastholde viden om domænet.

I forhold til programmeringssprog, så er jeg typen, som har det bedst med sprog, som har en statisk typestruktur. Statisk typecheck gør det muligt at udtrykke ens forståelse af domænet præcist, og advarer en tidligt, hvis man - populært sagt - prøver at blande pærer og bananer.

I modsætning hertil står programmeringssprog med en dynamisk typestruktur. Hvis domæneforståelsen er under udvikling, og man i har tilstrækkeligt overblik og udviser fornøden omhu, så er statisk typecheck mest af alt en spændetrøje på kreativiteten.

Jeg kunne fortsætte, men i virkeligheden så vil jeg blive ganske skuffet, hvis I ikke allerede har gættet, at min pointe er, at der er tale en interessant parallel: integritetsregler i en database er en måde at udtrykke forretningsforståelse på, og det er typesystemet i et programmeringssprog også.

Min holdning burde også være klar: jeg vil hellere lade compileren sikre konsistensen, end at jeg vil bruge tid på at skrive og vedligeholde unittest, som i bund og grund kun gør det samme.

Alligevel må jeg erkende, at det kan blive belastende hele tiden at skulle bekræfte compileren i, at man godt kan huske, hvad der er pærer og hvad der der bananer. Rigtigt slemt bliver det, når man har noget kode, hvor man egentlig i bund og grund er lige glad med, om det er den ene eller den anden konkrete type - man tager bare imod pærer og giver pærer videre ... og viser de sig på et tidspunkt i virkeligheden at være bananer, så gør det ikke noget, bare man kan få og give dem videre uden at det bliver blandet sammen.

Tag f.eks. følgende lille stump Scala kode:
class Bowl {
def getAFruit = new Pear
def add(fruit: Pear) = "Added "+fruit.toString
}

case class Pear
case class Banana

object Mixer {
def mix(aBowl: Bowl, anotherBowl: Bowl) = {
val fruit = aBowl getAFruit;
anotherBowl add(fruit)
}
}

Her er tale om skåle til een slags frugt, og en mixer, som tager et stykke frugt fra den slags skåle og lægger det over i en anden skål af samme slags. Og
grundlæggende set, så er mixeren faktisk lige glad med frugter - var det ikke lige fordi, at jeg havde kaldt metoder og variable noget frugtagtigt, så kunne det faktisk være hvad som helst.

Ændrer man skålen til at give og tage bananer i stedet, så virker mixeren stadig. Men prøver man at lave om på skålen, så den giver bananer og tager imod pærer, så brokker compileren sig, som den skal - så der er i virkeligheden et typecheck omme bagved - vi bliver bare hjulpet af typeinferensen til at glemme det for et øjeblik. Og sådan bør det også være - det ligner for mig nærmest noget af det gode fra begge verdener.

...og så for at lige at forgribe evt. kommentarer: Ja, det kunne modelleres mere præcist, f.eks. med anonyme typer - men det er helt anden snak.