2005-08-30
 
greenscreen
HELSINKI - Het weekeinde is voorbij, en vandaag had ik weer een interessante dag op kantoor... Ik verdeel mijn tijd een beetje tussen wat managementtaken, wat software-ontwerp, en ook wat programmeerwerk. Het is voor mij belangrijk me met name op het eerste te concentreren, hoewel die andere dingen o-zo aanlokkelijk zijn. Voor het programmeerwerk heb ik altijd nog mijn hobbyprojectjes, en mijn consultancy-opdrachtjes in Nederland (zoals de avonden van deze week...).

Mijn reis naar Nederland begint zich een beetje uit te kristalliseren - er zijn zowaar al programmapunten. Ik wil Ann-Christin een beetje van Nederland laten zien. Een beetje Amsterdam/Den Haag (Delft?), een beetje Twente en wat Maastricht. Maar... suggesties zijn welkom ;-) Ik ken Nederland niet zo als toerist...

compileer uw kernel

Vroeger compileerde ik veel dingen zelf, maar tegenwoordig ben ik een beetje lui geworden. Ik neem zelden nog de moeite om programma's die ik niet via apt-get kan krijgen, zelf te compileren. Er zijn natuurlijk uitzonderingen, zoals het buggy maar nuttige linuxdcpp. En de kernel was ook altijd een uitzondering - totdat ik gisteren kernel 2.6.12.5 compileerde... en ontdekte dat vandaag 2.6.13 beschikbaar was. Met flink wat nieuwigheden. Ter leeringh ende vermaeck (met name voor mezelf!) nog eens het Rechte Pad voor kernelcompilatie op Debian/Ubuntu, ga naar de directory met je uitgepakte kernelsource (in /usr/src) en doe:
make menuconfig
make-kpkg clean
make-kpkg kernel-image
En dat zal (normaalgesproken) een kernelpackage opleveren die er ongeveer uitziet als kernel-image-$versie_blabla.Custom amd64.deb (de details kunnen wat anders zijn). Dit kernelimage kan dan met dpkg -i geïnstalleerd worden. De bootconfiguratie (grub) wordt ook automatisch geüpdate.

Maar... er is meer! Soms zijn er ook externe kernelmodules, bijvoorbeeld de ov511-drivers, of de nVidia binary-only :-( drivers. In dat geval kunnen we de source downloaden, bijvoorbeeld voor nVidia:

apt-get nvidia-kernel-source
Dit levert een tar.gz op in /usr/src, die dan aldaar uitgepakt dient te worden. Het komt allemaal terecht onder /usr/src/modules/. Vervolgens terug naar de directory met de kernel source, en:
make-kpkg modules_image
Het resultaat daarvan kan weer met dpkg -i geïnstalleerd worden. En alweer is de wereld gered van de ondergang!

Mijn 2.6.13 kernel werkt best aardig, al zie ik nog niet direct grote verschillen, ook al heb ik de timer-frequency nu op 1000Hz gezet (ipv. 250Hz). Maar inotify is wel erg nuttig. Zoals de plaatjes tonen, werkt mijn webcam ook weer een beetje, via de bèta-versie van de ov5x-drivers. Op de een of andere manier treedt een raar Hulk-effect op... hmmm...

Ok, nu weer aan het werk ;-)


2005-08-28
 
minä tulen ylläpitämään
HELSINKI - Het was een rare week... gevolgd door een druk weekeinde. Zometeen ga ik naar een Indiase brunch. Volgende week ga ik naar Nederland, voor ruim een week! Sinds mijn vertrek naar Finland (begin dit jaar), ben ik er niet meer geweest. Niet zo'n lange tijd dus, maar het voelt toch erg ver weg. Ik volg het vaderlandse nieuws een beetje... Maar mijn gereis van de afgelopen jaren heeft me een een beetje apathisch gemaakt voor het gekrakeel uit Nederland. Maar uit de berichten die ik ontvang krijg ik de indruk dat er veel ontevredenheid heerst -- ik ben benieuwd of dat waar is.

Eerder sprak ik al over nomadisch computergebruik - in mijn geval betekent dat het rondslepen van een laptop. Daarbij zijn er twee problemen (minstens!):

  1. hoe verbind ik me met het aanwezige (eventueel draadloze) netwerk, inclusief het instellen van proxies enzo;
  2. hoe synchroniseer ik mijn gegevens (documenten, email, muziek, ...) met mijn 'huiscomputer'.

Ik heb probleem 1 nog niet echt op kunnen lossen; er zijn verschillende mogelijkheden die soms samenwerken en conflicteren... Met behulp van netapplet kan ik wat dingen doen. En dan is er nog het network-admin om mijn netwerk te configureren. Maar wat er dan precies gebeurt? netapplet is ook niet gespeend van enige insubordinatie.

Uiteindelijk blijk ik dan toch een beetje teveel old school om alles grafisch te doen, en grijp ik terug naar oude bekenden zoals ifconfig en route (en nieuwe vrienden als iwconfig en dhclient). En ik gebruik een programmaatje guessnet om te raden op welk netwerk ik me bevind ('als op ip foo iets zit met mac-adres bar, dan zal ik wel op kantoor zitten'). Voor draadloze netwerken kan ik 'vertrouwen' op de ESSID... Uiteindelijk doet die computer precies wat ik wil... Nou ja, op netwerkniveau dan. Daarna moet ik nog wel even mijn applicaties vertellen al dan niet een proxy te gebruiken etc... Dat werkt soms met de 'globale' GNOME-proxyinstellingen, soms met de http_host omgevingsvariabele, en soms met applicatiespecifieke instellingen, *zucht*.

Het tweede 'probleem', synchronisatie van data, heb ik inmiddels aardig onder controle:

Sommige mensen slaan hun ~/ op in CVS, Subversion etc., maar dat geeft me geen goed gevoel -- 20Gig aan ogg-bestanden in een versiebeheersysteem?

Nu eerst maar weer terug naar mijn PHP-projectje; het lijkt nu aardig te werken, maar ik ben nog niet helemaal code-complete.


2005-08-24
 
strepen
HELSINKI - Het leven is... interessant hier. En ik heb het erg druk. Ik breng mijn dag door in Bugzilla, schrijf patches, en word zelfs gedwongen af en toe diep na te denken over technische problemen.

Zoals iedereen al schrijft heeft Google nu z'n eigen IM-programma, Google Talk. Het sterke punt is dat ze gebruik maken van het open Jabber-protocol, zodat ik mijn bestaande clients kan gebruiken (emacs! ;-)... maar, er zijn nog wel wat probleempjes, hopelijk kunnen die opgelost worden:

Maar goed, we zullen zien hoe ze die problemen kunnen oplossen. Er is in ieder geval veel enthousiasme, met name omdat dit het open Jabber (XMPP) protocol eindelijk ook bij de massa's kan introduceren. Zo kreeg ik vandaag al verschillende mails over de ondersteuning voor Google Talk van mijn sendxmpp-programma. Welnu, dat werkt nog even niet, omdat Google alleen XHTML-berichten ondersteunt, en sendxmpp platte tekst verstuurt. Ik zal zsm een nieuwe versie uitbrengen, die ook werkt met Google Talk.

Sinds enige tijd heb ik het snapshot van emacs versie 22 in gebruik genomen (zie het screenshot). Emacs heeft nu ondersteuning voor GTK+, en dat uit zich op een aantal manieren, zoals de dialoog voor het opslaan of openen van bestanden. Maar vooral uit dat zich in de fraaie pictogrammen... ik heb zelfs voor het eerst sinds bijna tien(!) jaar weer (tool-bar-mode) aan staan! Bijna tien jaar, inderdaad, zo lang is emacs al mijn trouwe bondgenoot bij programmeren, mailen en diverse andere zaken die een groot deel van mijn tijd opslokken.

Laat ik niemand vervelen met alweer een lofzang over emacs, maar ach, waarom eigenlijk ook niet ;-) De leercurve van emacs is niet alleen tamelijk stijl, ze is ook nogal lang. Het kost behoorlijk wat tijd om emacs een beetje goed te leren gebruiken (al is de laatste versie al een stuk eenvoudiger) Als ik een beetje door emacswiki klik, kom ik elke keer wel wat nieuwe dingen tegen... Maar voor mij is het zeker de moeite waard, ik ben erg productief met emacs. Het programma is eindeloos aan te passen (door wat Lisp te schrijven), en zodoende kan ik nu van (bijna) tien jaar aan slimme trucjes gebruikmaken.

Een aardig artikel (uit 2000): Why I became an emacs user. En nog een beetje ouder, wat te denken van deze handleiding uit 1978(!) over het gebruik van emacs -- inderdaad, het is al zo oud.

Ik heb nog geen grote verschillen gemerkt met oudere versies, behalve de genoemde gtk-dingen. De Lisp-debugger lijkt in ieder geval wat fijner te werken. Het belangrijkste is dat emacs na bijna 30 jaar nog steeds erg levend is, en voor mij de eerste keuze als ik grote stukken tekst of programmacode moet schrijven.

Nu ik het toch over programma's heb, mijn favoriete shell is zsh. Het is de emacs onder de shells. Alle trucjes -- tab-completions zelfs op remote machines of bij killall, suggesties bij mijn typfouten, de krachtigste completions... Het enige wat nog ontbrak was goede ondersteuning voor utf-8... en in de laatste snapshot-versies werkt dat ook! Nu kan ik eindelijk mijn Finse werkwoordenprogramma goed gebruiken!


2005-08-22
 
viapori
HELSINKI - Zo, het weekeinde is alweer voorbij, en zelfs de lange maandag is ten einde gekomen. De laatste tijd heb ik het erg druk.

Vrijdag was er het zogenaamd Bombardement van Viapori - een internationaal vuurwerkfestival, genoemd naar beschieting van het eiland Suomenlinna (Viapori) door een Engels/Franse vlot in 1855. Veel Finnen bekeken dat vanaf het strand, en dat doen ze nu nog jaarlijks... met vuuurwerk.Het wordt vanaf het eiland Suomenlinna (Viapori) de lucht in gestuurd, en teams uit allerlei landen laten zien wat ze kunnen. Prachtig om te zien. Daarna ging het verder met een wat alcoholische tocht door Helsinki - van een deel weet ik niet meer wat ik gedroomd heb en wat werkelijkheid was...

De rest van het weekend heb ik besteed aan wat uitslapen, rondlummelen en wat programmeren in PHP. Niet echt mijn favoriete programmeertaal; een vergaarbak van functies zonder duidelijk ontwerp, en allerlei kleine verrassingen. Zie bijvoorbeeld de string functies. Allerlei zeer specialistische functies - "hebrevc -- Converteert logische Hebreeuwse tekst naar visuele tekst met newline conversie". Maar goed, mijn code werkt!

Maar na het weekeinde is er weer mijn 'normale' werk... Ik besteed veel tijd aan het zoeken en repareren van allerlei obscure en minder obscure bugs in onze software. Met allerlei obscure en minder obscure tools, klassiekers zoals gdb en valgrind natuurlijk. En wat in-house maaksels, die wat trucjes doen met LD_PRELOAD en de libc-geheugenallocatiefuncties. Het blijft een aardige puzzel...

Ik heb ook eindelijk eens mijn beschamende hoeveelheid lege flessen teruggebracht naar de supermarkt - de 12-pakken Karjala-bier gaan hard! (Er wordt hier ook Buckler en Hollandia bier verkocht!). Bij de flessenautomaat hebben de Finnen nog een aardige truc bedacht: in plaats van de bon om het statiegeld bij de kassa te innen, is er ook een donaati-knop, waarmee het geld bij een (naar ik aanneem) goed doel terecht komt.

Prijs voor hack van de week gaat naar Robert Love en zijn hdaps-driver. Met die driver kun je uitlezen in welke mate mijn (IBM T41) fysiek bewogen wordt - en dit kan dat gekoppeld wordt aan de vensters op je scherm. Stel je voor, vensters die op je scherm schudden, als gevolg van het schudden van de laptop...


2005-08-18
 
zzzzzzzzzzzzzzz
HELSINKI - Donderdagavond. Wat een lange dag zeg - om kwart over acht van huis vertrokken om pas om tien uur 's avonds weder te keren. Gelukkig heb ik niet zo veel stress, maar alleen de wil om dingen nog een beetje beter te maken. Dat motiveert natuurlijk bij consumentenelektronica - en al mijn activiteiten zijn tamelijk direct gericht op het verbeteren van het eindproduct. Morgen nog een dag werken, en dan is het tijd voor het weekend... met nog wat andere werkzaamheden. *zucht*

Ik wilde eigenlijk nog wat schrijven over mijn nomadische computergebruik, het synchroniseren van data. etc., maar ik ga nu eerst maar iets computerloos doen.


2005-08-17
 
uidl
HELSINKI - Woensdagavond. Er is niet zo heel veel vermeldenswaardig gebeurd... op dit moment volg ik de wedstrijd Nederland-Duitsland (het staat 2-2) op een ware jaren-50 manier. De wedstrijd bleek hier werkelijk nergens te zien, en ook internet bleek geen uitkomst - voor wat betreft beelden tenminste. Radio 1 is echter prima te volgen. Ben benieuwd.

Het weekend was aardig; zaterdag een feest bij een Duitse neger, zondag bekeek ik de dames-marathon. Best aardig; en best snel... en deze week stond in het teken van, wel, hard werk!

In de email-code proberen we natuurlijk een beetje efficënt te zijn; een van de belangrijkste dingen daarbij is niet meer te downloaden dan noodzakelijk. Een manier om dat te doen bij POP3-mail is het gebruik van het UIDL-commando. Met UIDL krijgen we een lijst van unieke codes voor de mailberichten op de POP-server. Met behulp van die lijst (en een lokale kopie natuurlijk) kan een email-programma bepalen wat de nieuwe mailberichten zijn, bijvoorbeeld om die te downloaden. Het is de enige manier om synchronisatie te verkrijgen, met name wanneer er meerdere clients zijn voor dezelfde POP3-server. Maar... er blijkt een fatale onduidelijkheid in de POP3 RFC over de unique ids va UIDL:

"The unique-id of a message is an arbitrary server-determined string, consisting of one to 70 characters in the range 0x21 to 0x7E, which uniquely identifies a message within a maildrop and which persists across sessions. This persistence is required even if a session ends without entering the UPDATE state. The server should never reuse an unique-id in a given maildrop, for as long as the entity using the unique-id exists."
Probleem is nu dat er niets staat over het hergebruik van de 'unieke' ids van verwijderde berichten, en dat er inderdaad POP3-servers zijn die die uid's hergebruiken... En dan stort het hele UIDL-kaartenhuis in elkaar. Immers, als we een bepaald 'uniek' zowel op de server als lokaal hebben, valt niet meer (eenvoudig of 100% zeker) vast te stellen of dat hetzelfde bericht betreft... **zucht**.

2005-08-13
 
viikonloppu
HELSINKI - Zaterdagmiddag. Na een week hard werken is dan toch weer het weekeinde aangebroken (niet geheel onverwachts overigens). Ik heb deze week niet zo heel veel vermeldenswaardigs meegemaakt, afgezien van een heleboel *technische* zaken. Geen slechte week overigens.

Gisteravond dronk ik nog een welverdiend biertje met twee collega's, Marius (tevens Guile-maintainer) en Onne (Nederlander). Interessante discussie over de waarde van free versus proprietary software. Marius namen een sterk free-software-only, Onne was wat pragmatischer en ik verkeerde ergens in het midden -- 'pragmatisch' is immers niet altijd de beste keuze. Binary-only versus commercieel versus proprietary versus open versus vrij versus... een lange discussie. Maar interessant, en slechts onderbroken door de aanwezigheid van een Finse met een nogal aandachtopeisend uiterlijk. De discussie eindigde onbeslist (natuurlijk).

Persoonlijk vind ik dat free software te prefereren valt. De wereld is in toenemende mate afhankelijk van software. Bestuurd door machines. Ik heb het niet over de Matrix, maar heel praktisch, zoals bij stemmachines. Of bij de computer die op mijn bureau staat. Of free software een goed business-model is, staat daar los van. Maar goed, ik heb heel wat meer proprietary dan free software geschreven...

De term open-source wordt tegenwoordig ook voor allerlei dingen gebruikt die weinig met software te maken hebben. Via DefenseTech las ik een artikel over open-source oorlogsvoering. Het artikel gebruikte de term voor de strijd van de Iraakse opstandelingen (die zichzelf opblazen tussen schoolkinderen, in de hoop daarbij ook Amerikanen te treffen...). In het artikel wordt The Cathedral and the Bazaar van Eric Raymond gebruikt, en wordt puntsgewijs de vergelijking gemaakt. Altijd wat gemakkelijk, dit soort vergelijkingen - met evenveel gemak hadden Von Clausewitz of Sun Tzu als kapstok gebruikt kunnen worden. Wat interessant zou zijn, is het voorspellen van de volgende stap van de tegenstander... dat zegt meer over de waarde van dit soort vergelijkingen.

Ik speelde ook wat met Beagle, het Mono-programma dat helpt bij het zoeken van informatie. Het werkt best aardig. Beagle gebruikt inotify om bij te houden of er iets veranderd is - en dat gaat heel snel en *hoest* interactief. Ik zoek naar bijv. 'foobar', en vind een chat-conversatie en een weblog waarin dat woord gebruikt wordt. Vanaf de command-line typ ik: echo foobar > test.txt, en binnen twee seconden worden mijn zoekresultaten automatisch ververst. Indrukwekkend. Het eind van grep voor het zoeken naar informatie?


2005-08-07
 
tandpasta
HELSINKI - Zondagavond.

Een zaak die Finland al enige tijd in zijn greep houdt, is de moordzaak van Bodom. Op 4 juni 1960 werden bij het meer van Bodom (in de buurt van Helsinki) drie kinderen van een groep van vier, vermoord met een mes. Om de zoveel jaar komt er weer een feit naar boven, en staan de kranten er weer vol mee. In 1972 gaf iemand zichzelf aan als de moordenaar.... maar onderzoek wees uit dat hij er niets mee te maken had. En nu, meer dan 45 jaar later, lijkt de zaak opgelost. Dader lijkt de enige overlevende, Nils Gustafsson, die uit jaloezie gehandeld schijnt te hebben.

Er is zelfs een Finse band, Children of Bodom, die zich naar de slachtoffers vernoemd heeft. Commerciële death-metal, niet mijn favoriet, maar Downfall en Hate Me zijn natuurlijk potentiële zomerhits...

Wikepedia blijft ook verrassen - er is zelfs een artikel over flessenlikkers:

Much of the Dutch population is familiar with the bottle scraper and skilled in its use.
;-)

Ik probeerde mijn eigen GtkWidget te maken, een subclass van GtkBin; dat bleek niet zo eenvoudig. Maar uiteindelijk kon ik oplossen -- met hulp van me vriendelijke mensen in #gtk (irc.gimp.org) lukte het. De truc was dat size_request en size_allocate geïmplementeerd dienen te worden in mijn subclass. Dat was niet echt gedocumenteerd... Maar laat ik dat doen!

En net Nepalees gegeten; heerlijk.


2005-08-04
 
sataa kissoja ja koiria
HELSINKI - En zo is het alweer donderdag. Het regent katten en honden hier.

Gisteren bezocht ik URB05, een festival over stadscultuur; het leek nogal gerelateerd aan hip-hop-muziek. Niet echt mijn favoriete stijl, maar goed, het kan geen kwaad er eens naar te luisteren. Het begon met Jarmy Liponen - Slow life - as fast as I want. Nou, *mij* kon het niet snel genoeg gaan, in ieder geval. De slechtrappende stukken werden afgewisselde met valse zang op een achtergrond met hoogdravende onzin. Dat beloofde wat! Daarna werd het wat beter Matti Pentikäinen, die via het gesproken woord halfrappend uiteindelijk bijna zong, in het Fins en Engels. De Engelse stukken gingen over de uitgaanscultuur van drugs en drank (een Trainspotting-achtige sfeer werd geschapen); de Finse over ???? iets over de stad die als een bos is, met de inwoners al bomen... misschien. Misschien ook niet. Het ging wat lang door.

Ster van de avond was echter Yuri Lane; een human beatbox - iemand die met zijn stem allerlei geluiden in een microfoon maakt. Yuri pakte de zaken serieus aan, met een soort eenmanstoneelstuk over het Palestijns-Israelische conflict ('From Tel Aviv to Ramalla'). Hierbij gebruikte hij de muzikale effecten van zijn stem om zijn verhaal (en de video-backdrop) kracht bij te zetten. Natuurlijk ontbrak het helicopter-geluidseffect ook niet ;-) Ik vond het wat lang duren, maar bewonderde de prestatie, de geluidskunsten maar ook de poging meer te doen dan een grappig kunstje.

Ik heb weer wat tijd besteed aan optimalisatie; ik las Morten Welinders blog en zag veel bekends. Hoe fijn internationaal ook, al de utf-8-operaties, ze zijn veel trager dan ascii. Dingen als toupper werken plots niets, omdat strings wellicht van lengte veranderen (bijv. de Duitse 'ß', als hoofdletter wordt dat 'SS'). En je kunt ook niet meer eenvoudig met pointers over string itereren; een karakter kan immers uit meerdere bytes bestaan. Veel operaties kunnen niet meer in-place, maar strings moeten gekopieerd worden, of erger nog, langzaam gevuld, zonodig gerealloc'd enzovoort. En wanneer dit soort operaties in inner-loops moet plaatsvinden, dan doet dat pijn. Een beetje begrijpen van hoe utf-8 werkt, kan dan echt helpen (man utf-8). Als ik bijvoorbeeld alle "-tekens wil vervangen door spaties, dan kan ik dat nog steeds in-place doen, en met simpele pointeriteratie, om ik weet dat '"' en ' ' elk slechts een enkele byte beslaan, en bovendien niet als deel van een multibyte-karakter kunnen voorkomen.

Ik 'portte' GtkHTML naar de 770; nou ja, portte, het belangrijkste was om wat in de afhankelijkheden te snoeien. Dat bleek niet al te lastig, en mijn versie werkt nu zonder gnome-print, gnome-print-ui, gnome, gnome-ui, bonobo, bonobo-ui, bonobo-activation, ORBit, .... Ik zal mijn patches wat oppoetsen, en een --disable-bloat optie aan configure toevoegen...

Eugenia Loli-Queru koos mijn TTB Teletekst Browser tot 'applicatie van de week' voor GnomeFiles - ze tekende zelfs een pictogram. Hmmmm...


2005-08-02
 
tiistai
HELSINKI - Het warme weer houdt aan in Helsinki. Vandaag is het wat bewolkt, maar nog steeds valt menige korte broek waar te nemen. Vandaag zal ik eindelijk eens geen foto's van mezelf plaatsen, zo'n narcissus ben ik nu ook weer niet...
djcb@diggler % gnuvd narcissus
nar`cis|sus (de ~ (m.), ~sen)
1 zeer zelfingenomen en ijdel persoon
Over gnuvd gesproken, ik ontdekte een bug in de proxy code, en heb een nieuwe versie uitgebracht. Echt veel valt er niet toe te voegen aan gnuvd, de enige echte 'feature' die ik nog wil toevoegen is UTF-8-uitvoer.

Ik ben op mijn koptelefoon gaan zitten (zo'n crappy Kijkshop-ding), en weer heb ik een een koptelefoon gemold. Dit is zeker de zesde of zevende, de laatste twee jaar. Mijn Philips koptelefoon begaf het al vorige maand, de oordingen vielen uit elkaar... ***zucht***. En nu moet ik mijn muziek beluisteren via mijn krakende laptopluidsprekertjes. En op zoek naar een nieuwe koptelefoon, een optimalisatieprobleem met als variabelen aankoopprijs, geluidskwaliteit en levensduur.

Voor september heb ik een tripje gepland naar Nederland; leuk om daar weer eens te kijken...

Zoals bekend, werk ik hier bij Nokia aan het Nokia 770 Internet Applet, een apparaatje gebaseerd op Linux en Gnome technologie. Best leuk. En we zijn nog op zoek naar mensen om het project te komen versterken, hier in Helsinki. Kijk hier, het gaat om hackers, project-managers etc. Ik ben beschikbaar voor vragen etc., via email/IM.

Iemand heeft Doom geport naar de 770!!!



Emacs, the UberEditor Powered by Blogger