plons
HELSINKI - Muhaah. Ik zit in het midden van een druk project. Er komt veel op me af van alle zijden. Een goed moment om alle lessen uit de 'productivity'-boeken van de afgelopen maanden eens toe te passen. Maar het blijft moeilijk; ik moet een groot deel van mijn tijd besteden aan allerlei belangrijke niet- of lichttechnische managementtaken, maar daarnaast wil ik ook de zeer technische aspecten van mijn werk niet uit het oog verliezen. Ik moet nog wat werken aan het goede delegeren van werkzaamheden; laat ik daar de komende week een aan werken.
rennen en lezen
In een geval van überefficiënte multi-tasking combineer ik hardlopen en hoorboeken. Ik ben flink aan het hardlopen geslagen, de laatste paar weekenden ongeveer 40km (2x20km). Het is een beetje een saaie bezigheid, hardlopen, maar met een hoorboek erbij wordt het toch nog interessante - mens sana in corpore sano. Ik 'las': McInerneys Ancient Greek Civilisation (erg interessant), The Power of Now van Ekhart Tolle (wat een esoterische crap), Lerers History of the English Language (bijzonder interessant), en tenslotte Pollocks Particle Physics for Non-Psysicists (wederom zeer interessant). Die pop-sci boeken zijn precies het abstractieniveau dat goed samengaat met hardlopen. Natuurlijk mis ik veel van de visuele dingen (afbeeldingen, vergelijkingen), maar toch kan ik zeer veel heel interessante informatie consumeren. En hardlopen werkt perfect om een uren ongestoord te kunnen luisteren. Nu gaat lezen natuurlijk een stuk sneller dan de colleges van professoren, maar mijn muziekspeler heeft de nuttige functie om dingen sneller af te spelen (zonder de toonhoogte te veranderen).lauttakitsch
HELSINKI - Alweer een week verder sinds mijn laatste blogentry. En het was een drukke week. De foto heb ik zojuist gemaakt; zelden zag de hemel er zo kitschig uit :-)
modest
Na me in voorgaande weken vrijwel uitsluitend bezig gehouden te hebben met papierarbeid en vergaderingen, was er nu weer tijd en noodzaak om wat code te schrijven. Mij werd gevraagd hoe goed of slecht modest (een project voor een nieuwe 770/N800/... e-mailclient) nu eigenlijk functioneert -- en daarvan een kleine demonstratie te geven. En hoewel we heel veel goede code hebben geproduceerd, waren er nog wat kleine stapjes nodig hier en daar. Het is immers wel aardig dat dingen als het sturen en ontvangen, lezen en schrijven van mail ook functioneren als ik het programma wil demonstreren. Het is makkelijk om in een demonstratie de toeschouwer de indruk te geven dat het project verder gevorderd is dan de werkelijke toestand, en dat probeer ik altijd te vermijden, omdat het later maar tot teleurstellingen leidt. Maar anderszijds vond ik het wel gerechtvaardigd om een beetje tijd te besteden aan het zichtbaar maken van de gedane arbeid. En zo geschiedde.Veel van de nieuwe code is nog niet beschikbaar in SVN, maar dat gaat de komende week gebeuren. Er is nog heel veel te doen, maar het is fraai te zien hoeveel vooruitgang we maken, na slechts een paar weken geconcentreerde ontwikkeling. Stay tuned.
churchill
De laatste week heb ik elke dag wel een uur gerend (en zaterdag het dubbele), en dat blijkt heel goed samen te gaan met hoorboeken. Zo bracht ik enige tijd door met John Keegans biografie van Winston Churchill (samenvatting). Ik wist wel wat over de Britse prime-minister tijdens de Tweede Wereldoorlog, maar na dit boek is mijn respect voor de man zeker toegenomen. Werkelijk een man van principes, met zwakheden, maar toch met de kracht om z'n land door een van de moeilijkste perioden te leiden. Boek kan ik aanraden.franklin
Het tweede boek dat ik beluisterde, was de autobiografie van Benjamin Franklin (online-versie). Het grootste kritiekpunt is dat het boek slechts de eerste helft van zijn leven beschrijft. Het biedt echter een zeer fraaie blik in de wereld en denkwereld van Benjamin, een man van vele talenten, op het gebied van uitvindingen, politieke vernieuwing, geschiedenis, de drukpers, diplomatie, ... enzovoort. En natuurlijk een van de founding fathers van de Verenigde Staten.De stijl is (niet geheel onverwacht) wat plechtig en stijf (Stewie Griffin), maar toch ook geestig hier en daar. En duidelijk wordt de enorme nieuwsgierigheid en opmerkingsgave van Franklin. De biografie geeft ook een interessante kijk in de wereld van zo'n 250 jaar geleden. Voor wie niet terugschikt van wat plechtstatig Engels, kan ik het zeker aanraden.
paashaas
HELSINKI - Tweede Paasdag -- hier geen Paasvuur; maar paashazen in overvloed.
interview
Na wederom een druk edoch korte week, werd ik vrijdag geïnterviewd door een Tilburgse studente over het leven alhier, en het leven als buitenlander, de integratie/inburgering enzovoort. Interessant om daar eens over na te denken. Zoals heel veel niet-Finse Nokianen heb ik me niet echt geïntegreerd in de samenleving. De Finnen zijn misschien wat stug, en de taal is ook niet de eenvoudigste, maar natuurlijk komt voornamelijk door mijzelf. Dat Finnen me soms 'toerist' noemen is dan ook niet helemaal verwonderlijk. Maar echt negatieve reacties heb ik ook nog niet gehad - men lijkt te accepteren dat ik niemands baan steel, en zelfs de Finse volksrepubliek rijkelijk voorzie van belastinginkomsten. En toeristen, tja, die reizen ooit wel weer verder...vrijdag & zaterdag & zondag
Voor vrijdagavond had AC een projector geleend, zodat we films op mijn smetteloos witte wanden konden projecteren... Letters From Iwo Jima was bijzonder interessant. De film vertelt het verhaal van Flag of our Fathers nogmaals - maar dan vanuit het perspectief van de Japanse soldaten. De Slag om Iwo Jima is beroemd geworden vanwege de klassieke foto, en later het monument (zie de link). Bijna 7000 geallieerde en bijna 21.000 Japanse soldaten kwamen om in het gevecht om een tamelijk nutteloos eiland, waarbij de meeste Japanners omkwamen door zelfmoord... Zaterdag was het tijd voor een alleraardigst babybezoek bij Makotonen; de kleine groeit als kool! 's Avonds keken we The Good Shepherd (gaaaap), en daarna nog een oude klassieker, Gladiator, met Ann-Christin, Fredrik & Agathe, totdat we de ogen niet meer open konden houden...Zondag waren we uitgenodigd bij Andreea (met twee e's, inderdaad) voor een paasdiner - zeer geslaagd, en ging toen via Arabella's koekjes naar het spelen met de Wii...
emotional design
Emotional Design is het boek van Donald Norman. Hij is bekender van een voorgaand boek, The Design of Everyday Things. In veel opzichten is dit tweede boek completer, en doordachter. Volgens Norman moet bij het ontwerpen van producten op drie niveaus gewerkt worden:- visceral - de zintuigelijke indruk, ofwel, hoe ziet een product er uit, hoe voelt het aan, etc.
- behavioral - de gebruiksfunctie van het product;
- reflective - hoe voelt het om het product te bezitten; de status enzovoort.
Attractive Things Work BetterNorman verwijst naar onderzoek dat uitwijst dat dat inderdaad zo is; bij functioneel identieke machines, blijkt de meest fraaie ook het 'gemakkelijkst'...
Interessant boek, maar het laatste deel is wat vreemd en nogal losstaand van het voorgaande. De schrijver gaat nl. in op allerlei nogal vergezochte problemen met robots. Er zullen vast problemen zijn met robots, en misschien hebben we Asimovs wetten der robotica wel nodig, maar zoals vaak blijken de problemen die men voorziet bij een nieuwe technologie, van een totaal andere orde dan de problemen die zich werkelijk voordoen. Lees de boeken over internet van, zeg mid-jaren 90 er maar op na. Afgezien van dat laatste stuk, een interessant, en goed om eens vanuit het 'design'-oogpunt na te denken over productontwikkeling.
never eat alone
In mijn streven geen seconde te verliezen, 'las' ik Keith Ferrazzi's boek. Never Eat Alone, als audio book tijdens het hardlopen. Het is een boek over hoe je moet 'netwerken', ofwel, hoe je moet proberen een (grote) groep mensen om je heen te verzamelen, en die periodiek moet 'pingen' enzo. Het idee is dat je met een groot netwerk en veel 'vrienden' altijd hulp kunt krijgen voor de dingen in je leven - in het leven draait het om relatiemanagement. De schrijver heeft een niet gering ego, en veel van de aanbevelingen komen over als vlijerij en brownnosing. Anderzijds is 'ie ook niet te beroerd om persoonlijk mislukkingen te vermelden, en te benadrukken hoe je je netwerk voor het Goede moet inzetten. Alles bij elkaar toch zeker een interessant boek, en ik denk dat ik wel wat dingen ga toepassen om mijn eigen 'netwerk' een beetje uit te breiden...the chances of anything coming from mars...
HELSINKI - Een prachtige zondag in Helsinki; +10°C, een zonnetje - en wat kun je dan beter doen dat een beetje programmeren :)
Tot mijn vreugde blijkt de programmeertaal D nu ook beschikbaar voor 64-bit platforms, zoals mijn AMD-64. En mijn collega Michael rapporteerde al enig succes met het compileren op onze 770/N800 devices.
D is vergelijkbaar met C/C++ voor wat betreft de syntax en het 'close-to-the-metal' gevoel, maar heeft allerlei nuttige features van talen als Java/C# toegevoegd. Het succes van een programmeertaal is natuurlijk slechts zeer gedeeltelijk afhankelijk van de kwaliteit van de taal en haar implementatie. Het gaat met name ook om 'developer mindshare'. Talen met een groot bedrijf als supporter (Java, C#) kunnen dat 'kopen' tot op zekere hoogte -- maar andere talen moeten meer hun best doen. Maar alles is mogelijk - zie Ruby, Perl, Python.
Begin jaren '90 programmeerde ik in Eiffel, een soort voorbeeldtaal voor OO-programmeren. 'Schoner' dan C++ (en in die tijd was C++ nog wat anders dan tegenwoordig - geen std:: en geen goede implementaties). De taal is nooit echt aangeslagen, maar ze bevatte een aantal sterke ideeën, mijn favoriet was wel Design By Contract. Dat houdt in dat je de pre- en postcondities en allerlei invarianten en zelfs unittests in je code opneemt. De assert()-functie in C is een Neanderthal-versie van het concept.
Er lijkt een niche te zijn voor D, en ik ga er wat mee experimenteren. Zoveel ideeën, zo weinig tijd. Zie het wikipedia-artikel voor veel meer informatie.
$ cat hello.c #includeint main (int argc, char *argv[]) { printf ("hello, world!\n"); return 0; } $ cat hello.d int main (char[][] args) { printf ("hello, world!\n"); return 0; } $ gcc -o hello-c.s -S hello.c $ gdc -o hello-d.s -S hello.d $ diff -u hello-c.s hello-d.s --- hello-c.s 2007-04-01 21:24:05.000000000 +0300 +++ hello-d.s 2007-04-01 21:24:15.000000000 +0300 @@ -1,11 +1,11 @@ - .file "hello.c" + .file "hello.d" .section .rodata .LC0: - .string "hello, world!" + .string "hello, world!\n" .text -.globl main - .type main, @function -main: +.globl _Dmain + .type _Dmain, @function +_Dmain: .LFB2: pushq %rbp .LCFI0: @@ -13,26 +13,32 @@ .LCFI1: subq $16, %rsp .LCFI2: - movl %edi, -4(%rbp) - movq %rsi, -16(%rbp) + movq %rdi, %rax + movq %rsi, %rdx + movq %rax, -16(%rbp) + movq %rdx, -8(%rbp) movl $.LC0, %edi - call puts + movl $0, %eax + call printf movl $0, %eax leave ret .LFE2: - .size main, .-main + .size _Dmain, .-_Dmain +.globl __gdc_personality_v0 .section .eh_frame,"a",@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0x0 .byte 0x1 - .string "zR" + .string "zPR" .uleb128 0x1 .sleb128 -8 .byte 0x10 - .uleb128 0x1 + .uleb128 0x6 + .byte 0x3 + .long __gdc_personality_v0 .byte 0x3 .byte 0xc .uleb128 0x7 @@ -60,5 +66,5 @@ .uleb128 0x6 .align 8 .LEFDE1: - .ident "GCC: (GNU) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)" + .ident "GCC: (GNU) 4.1.1 20060524 ( (gdc 0.23, using dmd 1.007))" .section .note.GNU-stack,"",@progbits
Labels: d, programming