I softwareudvikling er design pattern en generel gentagelig løsning på et almindeligt forekommende problem! Et anti pattern derimod er en generel gentagelig løsning til et almindeligt forekommende problem men resultere i sidste ende i en dårligere løsning.
I den forgangende uge holdt jeg et indlæg om design pattern. Det var i gruppen af creational pattern hvilken betyder at de skab... read more
En ekspertudvikler koster måske ti gange mere end en noviceudvikler men du får fuld valuta for pengene hver gang. Undersøgelser viser at forskellen i produktivitet kan være op til 50 gange bedre for en ekspertudvikler. Hvis du tror at du spare penge ved at bemande dit projekt med billig arbejdskraft må du tro om igen.
I starten af et ethvert projekt vurderes hvor mange ressourcer d... read more
Threadlocal storage November 18, 2008 07:19 about 1 month ago
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 3 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