Jeg er midt i en debugsession i en Java applikation som nægter at virke. Maskinen er en 64bit server med 16 fysiske CPU’er. Efter et par timer går det op for mig at Java’s threadlocal er årsagen. Applikationen køre fint på en dual core maskine hvor CPU’er har fælles hukommelse men kan ikke køre på en maskine hvor alle read more
Det er en helt almindelig misforståelse, at Danmark er et så lille og velbeskrevet land, at der ikke længere findes noget virkeligt spændende sted at opdage og beskrive, men man tager ganske fejl. Overalt i vort land findes steder, der har sin egen og ukendte historie, og søger man disse steder, vil man finde guld. Man vil opdage mærkværdige ting om vort lands lokaliteter, og man ville kunne... read more
Jeg skal hastighedsoptimere en Java applikation. Den skal performe max på kortest mulige tid. Den kan ikke skalere udad som man normalt ville ønske men kun opad. Det vil sige en enkelt supermaskine med 16 CPU’er og 16G ram i 64bit software.
I de senere år er kravet om hurtigere CPU hastigheder er faldet mens kravet om antal ... read more
En Java proces har et lineart stigende hukommelsens forbrug. En uheldig arkitektur beslutning afstedkommer en konstant øgning af hukommelses forbrug ved eksekvering af processen. Beslutningen resulterer i en begrænset køretid afhængigt af den valgte mængde af hukommelse hvori processen eksekveres.
En proces med ca. 4000 enheder optager ca. femhundrede megabytes. Et anslået estimat... read more
Jeg kender svaret men desværre ikke spørgsmålet. Det var min indgangsvinkel til dette års JAOO. Denne holdning er i høj grad præet af titlen på keynote speaken på dag et. Ca. 20 foredrag og tre bufs senere forstår jeg bedre spørgsmålet men til gengæld forsvandt svaret ud i morgendisen men det essentielle står alene tilbage endnu mere tydeligt end før. Softwarebranch... read more
Dødsstjernen fra starwars var en kæmpe monolitiske stjerne med enorme laserkanoner. Den var bygget til at gøre det af med oprørerne. Den var ikke helt færdigbygget, der manglede endnu nogle essentielle elementer men det gjorde ikke noget i det store billede idet den opfyldte alle de krav som det galaktiske imperium kunne ønske til en intergalaktiske rumstation. Dødsstjernen som en monolitisk... read more
A Groovy Switch September 10, 2008 14:46 2 months ago
Dynamiske sprog som ruby og groovy fylder mere og mere i min hverdag. Mange af mine kollegaer er ikke glade for de typeløse konstruktioner men for mig er det vejen frem og mit hoved arbejder godt uden faste rammer. Jamen hvad med compile check? Ja indrømmet at man nok vil foretrække dygtige kompetente folk, men sådan er det jo altid. I mit professionelle arbejde bruger jeg ofte dynamiske spr... read more
Den naturlige evolution har ramt rails. Keynote spekker David Heinemeier Hansson reflekterer over sine bedrifter og tanker gennem de sidste fem år med rails. Overvejelser omkring “mature software” og fastholdelse af kundesegment spiller en betydede rolle. Rails er nu et fuldt etableret produkt som er alment accepteret bredt over hele verden i det lettere applikationssegment. Med en sådan en ... read more
Problemet med design pattern, best practices, og paradigmer er overforbrug af et enkelt princip.
Uanset hvad du overvejer kan overforbrug af DRY føre til overengineered software i form af lag og klasser, overforbrug af Separation Of Concerns føre til class explotion, overforbrug af jar arkiver føre til vedligeholdes helved.
- Du begynder at ... read more
The perfect storm August 29, 2008 11:00 2 months ago
Den perfekte storm er en storm som præcis kan overvindes uden alvorlige komplikationer til følge. Indenfor aktiehandle forsøger man at bygge systemer der kan håndter virkeligt mange handler på kort tid.
For en capture virksomhed betyder det liv eller død at deres systemer kan gennemføre 150.000 handler i sekundet og alle under 5 millisekunder. Samtidig stiger efterspørgsel eksplosi... read more