1. JavaScript med nära C prestanda

    Version 3.1 av Firefox kommer antagligen att innehålla en JIT runtime för javascript som heter TraceMonkey. TraceMonkey håller koll på vad som skall kompileras på fragment nivå istället för SUN’s JIT som tittar på metod nivå. Hoppas att fixar så att TraceMonkey får stöd för fler script språk än bara JavaScript.

    För att läsa mer om TraceMonkey så titta här och lite benchmarks här. Det man kan fundera på är hur lång tid det tar innan vi får se Quake 1 eller 2 portat till JavaScript och exekverat i canvas komponenten.

  2. Overview of the Google App Engine Persistence framework

    The Google cloud computing environment, Google App Engine, currently provides a low cost (free) highly scalable runtime environment (python) for web applications. Along with App Engine specific APIs and support for their general service APIs, you have access to a distributed, scalable persistence engine, Datastore. A quick review of App Engine Datastore sets firm your impression that Google has again relied on the ”we build it better” framework approach. Not following a relational model or a webservice, Datastore started with goals of high availability, scalablity and performance. Because of quota limits on current free accounts, its hard to validate their success here; however, we can get a better understanding of the architecture of Datastore by checking out their internal ”Bigtable” implementation, which is the basis for Datastore.
    (Läs mer…)

  3. Scandinavian Developer Conference

    Nästa år får vi en helt ny utvecklarkonferens i Scandinavien, Scandinavian Developer Conference. Skall bli spännande!

    sdc2009.gif

  4. clean code

    ”All you have to do is change a 5 to a 6, how hard can it be?!”

    Kunden verkar vara lite irriterad. Han blickar frustrerad runt salen där jag och några andra hackers stirrar missnöjda på våra skärmar. Ingen har kunnat fixa hans program inom den utsatta tiden på 30 minuter. Som kunden ser det är det en enkel förändring. Det är en liten applet som spelar tic-tac-toe. Man behöver 5 i rad för att vinna, men det är för svår att besegra. Kunden vill att datorn ska behöva 6 i rad för att vinna medans han fortfarande behöver 5.

    När man tittar på koden är det allt annat än en enkelt förändring. Det ryktas om att koden skrevs ursprungligen på serbiska. Eller C. Eller båda två. I alla fall är det nu en enda stor Java class med massor med global control flags, nested loops och håriga långa metoder. Suck. Jag sjunker ner i stolen och tänker – det här kan ta flera dagar att fixa.

    Lyckligtvis är det här scenen inte hela sanningen. I verkligheten heter ”Kunden” Patrick Wilson-Welsh, som är själv en skicklig programmerare, och jag sitter i en ”Clean code clinic”agile2008. Nu ta Patrick fram en annan kodbas för oss att jobba med. Det är också en applet som spelar tic-tac-toe, och om man bara titta på UI:et ser det precis likadan som det första. Under huven är det helt annorlunda dock. Det finns Java packages som heter ”model”, ”view”, ”controller”. Klasserna är småa med bra namn som ”Board” och ”Move”. Det finns till och med omfattande enhetstester. Inom en halvtimme har de flesta i rummet klarat av att ändra koden efter kundens önskemål.

    (Vill du testa själv, tic-tac-toe koden finns att ladda ner här)

    Alla programmerare som har jobbat ett tag förmodligen känner igen sig. ”Clean code” är bra för båda kundens tidsplan och programmerarnas mental hälsa. Hur kan det uppnås? En bra början vore att läsa Bob Martins senaste bok. Tänk efter, prata med kunden om ”technical debt”. Be a professional. Vi har inte råd att bygga flera produkt där det tar flera dagar att ändra en 5 till en 6.

  5. Sommar och Popcorn

    Under sommarperioden ville jag inte hålla på med datorer överhuvudtaget, hade jag bestämd mig, men började efter ett tag känna mig illamående av det och hamnade till slut i en fälla där jag köpte en media stream server som heter Popcorn Hour och fick jobba en del för att få det att funka med min linux/ubuntu. Popcorn är egentligen ingen färdig produkt för vanliga användare. Det kräver en någorlunda tekniker som kan en del för att få det att fungera. Jag rekommenderar den varmt till den som gillar att jobba i källaren med sitt hemmanätverk/hemmabio. Man kan spela upp olika medier (filmer, bilder och musik) från en eller flera servrar i sin TV över nätverket. Den har till och med plats för att ha intern hård disk, där man kan direkt spara (läs LADDA NER)/spela upp sina filer. Med andra ord det är en dator utan skärm fast mycket enklare än dator då det finns en massa funktioner som underlättar media uppspelning direkt på TV, utan att behöva konvertera formaten på filerna med en massa extra mjukvara. Exempelvis, man kan direkt spela upp en *.iso fil på TVn. Man kan dessutom direkt kolla på YouTube och liknande broadcast portaler direkt i TVn. Nu skall jag börja fokusera mig igen på Java och kolla WAZAP ”what is up” under tiden jag hade semestern. Har redan läst i CS om Brendan Eich som skapade den första versionen av JavaScript under tio dagar i maj 1995. Min första reaktion var: just det, det är därför JavaScript är så konstigt och svårt att jobba med, det har utvecklats på bara 10 dagar! Det säger en del. Stackare Web utvecklare som i årtal har lidit att skriva avancerade funktioner med det. Vi får se om Ecmastandarden blir annorlunda och underlättar Web utveckling fram över.

  6. JavaFX Preview SDK

    Ingen kan ha undgått att JavaFX Preview SDK släpptes förra veckan. Jag hittade en video på NetBeans.tv där de visar hur man implementerar en enklare animation i JavaFX. Ser verkligen intressant ut och verkar inte alls som att det skulle vara så svårt att göra mer avancerade saker. Ska onekligen bli kul att testa så fort man får tid!

    Nandini Ramani Introduces the JavaFX Preview SDK

  7. Junit + EasyMock

    Hittade en välskriven engelsk guide om hur man arbetar med jUnit och EasyMock. Kan rekommendera den till er som inte tidigare jobbat med EasyMock tillsammans med jUnit.

    EasyMock + jUnit guide

  8. Bokrecensioner

    Om du vet inte vilka böcker om java och testdriven utveckling man ska läsa och inte så ta en titt på dessa böcker: http://www.techbookreader.com/

    Han läser mycket böcker så det kommer nog trilla en ny recension med jämna mellanrum.