Skip to Content »

Life of Recht » archive for May, 2006

 Alt for meget kultur… eller…

  • May 30th, 2006
  • 6:34 pm

Efter weekendens strabadser med karneval fik vi bestilt billetter til Bulgur 2, som vi skal ind og se med Kold og Rolf. For dem, der ikke har fulgt med, er det et impro-agtigt teaterstykke, der er groft inspireret af Mandrillen, og så er det selvfølgelig noget, man bliver nødt til at se.

Derudover skete der det i dag, at der tikkede en mail ind om billetter til Madonna i Horsens. Oprindeligt var der jo ganske udsolgt, men åbenbart havde de gravet et par billetter frem fra et eller andet skummelt sted. Det betyder, at vi skal en tur til Horsens sammen med min storesøster.

Og når vi så også skal til Spot i weekenden, så tror jeg da nok lige, at det er nok af den slags for i dag.

 Bøger

  • May 30th, 2006
  • 6:22 pm

Det er ikke gået så hurtigt på det sidste, men jeg må da vist også erkende, at jeg ikke rigtigt har fulgt helt med på bog-fronten… Men i det mindste er jeg da lige blevet færdig med Jonathan Strange & Me. Norrel af Susanna Clarke. Det er en lille historie på lige omkring 1000 sider, om et parallelunivers for ~150 år siden.
I modsætning til den virlige verden, foregår der en masse magi (i bogstaveligste forstand) i bogen, og man følger Strange og Norrel gennem deres forsøg på at genindføre magien i England. Det går der en hel del sider med – nogen ville måske have klaret det på færre, men historien er ganske glimrende, så hvorfor nøjes med mindre?

Derudover har jeg været igennem Made in America af Bill Bryson (som altid vældig underholdende) og The No. 1 Ladies’ Detective Agency af Alexander McCall Smith.

Og traditionen tro, fik jeg slæbt en større stak bøger med hjem fra USA, så der venter en god del forude… Det skal nok blive godt alt sammen på et tidspunkt.

 Javascript debugger

  • May 26th, 2006
  • 1:41 pm

I denne tid med Ajax overalt, har der manglet en ordentlig debugger lidt. Venkman, den klassiske fra Mozilla, er ikke særlig brugervenlig, og er efterhånden også lidt forældet, men det er der nu råd for. Som rapporteret på Ajaxian, er FireBug nu ude i en ny version, og den ser noget spændende ud. Det ligner en af de extensions, der bør være standard i enhver installation.

 Bulgur

  • May 25th, 2006
  • 4:48 pm

Ved lidt af et tilfælde, så jeg en plakat for efterfølgeren til kassesuccessen “Vi bygger en røv af bulgur”, Vi bygger en røv af bulgur 2. Den går lige straks i Jomfru Ane Teatret, så det er vist bare med at få bestilt billet!

 Kvæstet

  • May 21st, 2006
  • 2:57 am

Dagen er ikke helt omme endnu, men fysisk og mentalt kunne den lige så godt være det. I dag var “fridag” i San Francisco, og efter lidt shopping fandt Preben og Jørn (fra Trifork) ud af, at vi da lige skulle tage en cykeltur over Golden Gate Bridge. Derfor fik vi lejet nogle cykler, men det stod hurtigt klart, at turen over broen slet ikke var ambitiøs nok, så derfor blev den udvidet til Muir Woods – det er der, de har de store træer.
Den lige vej dertil er ca 28 km (hver vej), men med et par omveje, kom vi vist nærmere op omkring de 70 km i alt, fordelt over 5 timer (som inkluderede både lidt kiggen i skoven og spisning af temmelig god pasta). De der har været i Muir Woods ved også, at vejen dertil absolut ikke er lige landevej – der er faktisk noget, der ligner 10 km god bjergkørsel, og det gjorde godt nok gode ting ved benene. Solen skinnede heldigvis ikke hele tiden, og der var kun modvind lidt af vejen tilbage.
Nu står den så vist bare på bad og afslapning resten af aftenen, og så satser jeg på, at turen har sørget for, at alt det usunde, jeg har smidt ind i min krop i ugens løb nu er kommet ud igen i form af temmelig store mængder sved.

 JavaOne overstået

  • May 20th, 2006
  • 7:20 am

Så kom jeg alligevel helskindet igennem JavaOne. Det har været en ganske lærerig oplevelse, og der er en hel del emner, jeg kan putte på min liste over ting, jeg skal have kigget på engang. Det værste er sådan set, at mange af tingene er så nye, at de ikke vil indgå i mit daglige arbejde i lang tid, men så er det jo altid godt, at man også kan lave noget i fritiden…

Nå, men dagen gik med en session for alle med Scott McNealy, James Gosling og andre berømtheder. Det var ikke videre teknisk, men med den slags personer gør det ikke så meget.
Derefter blev det til en session om JMX, hvilket var en af de mindre heldige sessions. Den blev holdt af to indere og en fra Spring, og de to indere trak det godt ned – både fordi de ikke helt var til at forstå og fordi de ikke rigtigt magtede at forklare emnet.
Videre til Scott Ambler, der holdt en session om, hvorfor agile processer virker, og hvad de går ud på. En farlig type, der havde masser af gode pointer – og som sagde lige lovlig mange ting, der passer lidt for godt på det projekt, jeg er på for tiden. Det er altid godt at blive bekræftet i sådan noget.
Dagen blev sluttet af med en gang tomgangstale af en fra Adobe – emnet er jeg lidt usikker på. Jeg troede at det skulle handle noget om forskellige frameworks til klientudvikling, men det gjorde det absolut ikke. I stedet var det en eller anden løst sammenhængende snak om forskellige teknologier, og hvor godt det kunne være, hvis tingene passede lidt bedre sammen.

Da alt det seriøse var overstået, fik jeg shoppet lidt – mest bøger og lidt tøj, og aftenen blev sluttet af med burger og milk shake. De to ting ligger nu så godt i maven, at jeg vist bare skal i seng.

 3. dag til JavaOne

  • May 19th, 2006
  • 7:37 am

Jeg kom lige til at se, at jeg slet ikke havde skrevet noget om dag 3 til JavaOne, så det skal der da lige rettes op på. Dagen startede lidt sløvt efter gårsdagens indtag af alkohol, så jeg kom ikke lige til den første session – sådan kan det jo gå, man kan ikke nå det hele.

Den første session jeg var til var om EJB3. Jeg har hørt om emnet før et eller andet sted, men jeg har ikke set nærmere på det. På trods af, at jeg egentlig havde prøvet på at tage en af de sessions, der lødt lidt mere avanceret, så var der alligevel ikke noget videre nyt. Det var de sædvanlige demoer af, hvordan annotations gør alt lettere, og hvordan man pakker en enterprise-applikation sammen. Ikke noget overraskende.
Derefter en session omkring scripting i Java5/6, specielt med Groovy. Det ser ud til at være et spændende sprog, men jeg har endnu ikke helt set lyset mht. scripting. Min første tanke er, at det virker som en panikhandling, især efter at Ruby on Rails er begyndt at få succes. Det giver mening at bruge et scriptingsprog masser af steder, men jeg kan ikke helt se, hvorfor det skal ind i en jvm – det gør om ikke andet langsommere at eksekvere et script på den måde. Der er muligvis visse hjørner, hvor det kan være brugbart, fx til DSL eller fx specificering af testcases. Det skal blive spændende og se, om det nogensinde slår igennem.

Manden bag JGoodies holdt en session omkring data binding. Det var en lidt underlig session, for han endte næsten med at anbefale, at man ikke skulle bruge hans binding-library, men at man i stedet skulle holde sig til en traditionel MVP-tilgang. Jeg synes nu, at det andet så smartere ud, men det er muligvis et spørgsmål om smag.

En rimelig kort dag blev sluttet af med “Extreme GUI Makeover”, hvor et par gutter fra Suns Swing-team viste, hvordan man laver gøgl med swing. Det var ret godt, og faktisk var mange af de ting de viste ikke voldsomt svære at lave. Det siger en hel del om Swing, og hvor fleksibelt det egentligt er.

 Constructor Builder Pattern

  • May 19th, 2006
  • 12:46 am
Joshua Bloch præsenterede et interessant pattern i hans Effective Java Reloaded session. Dem der har læst Effective Java ved, at han er stor fortaler for objekter, der ikke kan ændres efter de er blevet instantieret. Det synspunkt har jeg arvet, og det fungerer fint – bortset fra et lille problem, nemlig at hvis et objekt har mange attributter, så bliver klassens constructor temmelig stor. Det bliver kun værre når nogle attributter ikke er påkrævede. Enten skal man fylde defaultværdier i, eller også skal man lave en hel stak constructors – hvor mange ved man aldrig helt, for det kommer jo an på brugen. Det er der imidlertid en løsning på, der er baseret på Builder Pattern, hvor man først bruger en builder til at konfigurere med, og derefter får et færdigt objekt. I constructor-tilfældet ser det nogenlunde således ud:
public class Test {
private final String name;
private final String field;

private Test(TestBuilder builder) {
name = builder.name;
field = builder.field;
}

public static class TestBuilder {
private String name;
private String field;

public TestBuilder name(String name) {
this.name = name;
return this;
}

public TestBuilder field(String field) {
this.field = field;
return this;
}

public Test build() {
return new Test(this);
}
}

public static void main(String[] args) {
Test t = new Test.TestBuilder().
name("name").field("f").build();
}
}

Det har oven i købet den fornemme sideeffekt, at man får noget, der ligner navngivne parametre – dvs. ikke noget med at huske på, hvilken rækkefølge parametrene kommer i længere. Har en klasse nogle attributter, der er påkrævede, skal de bare tilføjes i constructoren til builderen.

Nu er der så bare lige nogen, der skal lave et lille source-plugin til eclipse, der lige som “Generate Setters and Getters” kan autogenerere sådan en builder – det burde ikke være noget videre problem.

 Dag 2 til JavaOne

  • May 18th, 2006
  • 8:42 am

Så er dag 2 til JavaOne stort set overstået. Dagens sessions inkluderede Joshua Bloch om Java Puzzles og Effective Java Reloaded. Den første omhandlede relativt skumle features i Java 5, mens den anden handlede om best practices i generics.
Derudover var jeg til en stak sessions om desktop java, bl.a. om Mattise fra Netbeans. Jeg er selv flittig Eclipsebruger, men man må nok sige, at de har gjort et eller andet rigtigt mht. guibuilder i Netbeans. Det er man nok tvunget til at se nærmere på på et tidspunkt.
Et andet af indlæggene om desktop var fra manden bag JGoodies, der fortalte noget om, hvordan man laver gode Swing-applikationer. Endelig var der også en session om data binding. Generelt var der ikke så meget nyt, men det de bekræftede, at der er en masse at hente, fx ved at bruge gui-builders og andre frameworks i stedet for at gøre alt manuelt.

Endnu en gang gik jeg glip af aftenens BOFs, da vi var meldt til en Geronimofest. Det viste sig, at der var gratis drikkelse, og at de godt kunne finde ud af at lave nogle gode (og temmelig stærke) white russians, plus at der var god mad. Det var godt, men vi blev smidt ud da festen lukkede kl 22. Heldigvis fandt vi en Sunfest, hvor alt åbenbart også var gratis, så det var ok… Lige indtil nogle amerikanske typer, vi havde mødt tidligere på aftenen, mente at vi skulle videre… Hvad de ikke lige havde fortalt os var, at vi skulle videre til en eller anden skummel stripklub, der endda kostede 20$, og som ekstra bonus ikke havde nogen bar (fordi det efter sigende gjorde det tilladt for mindreårige at komme ind)... Bitter afslutning på en ellers glimrende aften.

 Første dag på JavaOne

  • May 17th, 2006
  • 6:20 am

En hurtig opdatering fra JavaOne: Dagen gik med et par keynotes, og så en session om hvad der sker i desktop java i version 6. Det var nogenlunde interessant, men det var delt mellem tre forskellige talere, der var af meget varierende kvalitet.
Derefter holdt Ben Galbraith, som jeg tidligere har set i anden anledning. Han holdt et oplæg om, hvordan man på 8 måder kan blive mere effektiv til at lave Swing. Ganske interessant, men ikke voldsomt meget nyt – problemet er bare at få implementeret de 8 forslag i virkeligheden, hvilket godt kan være noget svært. Det kommer nok engang…

Derefter gik det ud over concurrency i Java5, hvilket var en lidt langhåret session – det er sådan noget vist altid. Det gav et fint indblik i, hvordan den nye api fungerer, og hvordan den kan hjælpe gevaldigt på diverse tråd-løsninger af varierende kvalitet, som man ellers får brygget sammen.
Selvom jeg havde planlagt mere, blev den sidste session om TestNG, der er et alternativ til Junit. Jeg har haft luret lidt på det, men aldrig rigtigt rodet med det. Derfor gav denne session et fint indblik i, hvilke features det har, som junit ikke helt kan klare. Det er specielt i forhold til at definere suites og afhængigheder, der ser interessant ud. Derudover er der også et koncept om dataproviders, så der er en standardiseret måde at pumpe data ind i testcases med. Denne session blev i øvrigt holdt af Hani fra BileBlog.

Dagen blev sluttet af med en tur i biografen til en film, der næsten ikke kan blive mere amerikansk: Mission Impossible 3. Og nej, de bliver bestemt ikke bedre med alderen.