2006-08-30
 
thermonuclear word processor
HELSINKI - Woensdagochtend.

emacs

Ik ben nog steeds erg tevreden met Emacs-23, de editor die alle andere achter zich laat. Neem nu die etc/NEWS:

* Changes in Emacs 23.1
** The Emacs character set is now a superset of Unicode.
(It has about four times the code space, which should be plenty).
Dat moet genoeg zijn :-)

En zoals ik eerder aangaf, de TrueType-lettertypen die Emacs nu aankan, maken het werken nog fijner... In 1991 ontdekte ik emacs, maar het duurde tot ongeveer 1997 voordat het mijn trouwe strijdmakker werd - met als eerste grote wapenfeit mijn MSc.-thesis in 1998. Tot aan de woorden die ik nu typ. De tijd vliegt!

Om deze nieuwe versie te proberen (met dank aan EmacsWiki):

$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/emacs co -rXFT_JHD_BRANCH emacs
$ cd emacs
$ ./configure --with-gtk --enable-font-backend --with-freetype --with-xft
$ make bootstrap
$ cd lisp
$ make compile EMACS=../src/emacs
$ cd ..
$ sudo make install
... en dan ...
$ emacs --enable-font-backend -fn "Bitstream Vera Sans Mono-12"
Mijn .emacs kan ook nuttig zijn.

2006-08-28
 
knüppel aus 'm sack
HELSINKI - In een aantal Duitstalige blogs doet een meme de ronde. Je beantwoordt een aantal vragen in je blog, en werpt het virtuele estafettestokje dan in de richting van de volgende. Ik ontving het stokje van Ann-Christin. De regels zijn niet helemaal duidelijk, vandaar dat ik de vrijheid neem in het Nederlands te antwoorden. Duits is tenslotte nur ein komisches Holländisch. Oder?

Warum bloggst du?
Seit wann bloggst du?

Ik ben in 2002 begonnen, toen ik een reis rond de wereld maakte. Het leek me wat onbeleefd om mensen te spammen met e-mails. Een blog is beter: wie geen zin heeft om het te lezen, hoeft die ongevraagde e-mails ook niet te wissen. Later bleek dat mensen die ik helemaal niet ken kennelijk ook geïnteresseerd waren.

Oh ja, blog is kort voor weblog, en wordt derhalve uitgesproken met een g (zoals bij Bach), en niet als bloggue. Tenminste, dat vind ik.

Selbstportrait?

Rechts. In Tartu, Estland.

Warum lesen Leser Dein Blog?

Is het mijn filmsterrenleven? Zijn het mijn diepzinnige technische analyses? Of toch de vele foto's van mij? Ik weet het niet.

Ik denk niet in termen van doelgroepen enzo, dus de onderwerpen die ik bespreken strekken zich uit van mijn broodbeleg tot programmeertalen, maar zijn veelal technisch van aard. En als ik reis ligt de nadruk daarop.

Welche war die letzte Suchanfrage, über die jemand auf Deine Seite kam?

"raadsels Stel je hebt 8 ballen". Dat leidt naar het volgende raadsel:

Stel je voor: je hebt 8 biljartballen waarvan een zwaarder is dan alle andere, die hetzelfde gewicht hebben. Om te bepalen wat de zwaarste is, heb je de beschikking over een balans. Hoe vaak moet je wegen om de zwaarste te vinden?
Denk eerst na, en zie dan hier de oplossing...

Welcher Deiner Blogeinträge bekam zu Unrecht zu wenig Aufmerksamkeit?

Oh, ik ben erg tevreden over de respons.

Dein aktuelles Lieblings-Blog?

Hmmm... vele. Voor politiek-militaire zaken lees ik ik graag Belmont Club. Ik ben het niet altijd met 'm eens, maar interessant is het wel. Ik lees graag Creating Passionate Users van Kathy Sierra. En met name lees ik veel planets, zoals Planet GNOME. En, meer persoonlijk, de blogs in mijn blogroll.

Wie viele Feeds hast du aboniert?

Ongeveer 30. Ik gebruik Liferea.

Welches Blog hast du zuletzt gelesen?

Accent Français. (Maar Steve Yegge schrijft veel te veel, zelfs als het over emacs gaat; Joel Spolsky is soms interessant, en Noam Chomsky... is een linkse intellectueel wiens verdediging van de Rode Khmer zijn andere meningen verdacht maakt...)

An welchen Blog wirfst du das Stöckchen weiter?

Aan David, een sympathieke Ier en Nokia-collega, die het nog ver gaat schoppen.


2006-08-27
 
the great radio controversy
HELSINKI - Zondagavond. Na een behoorlijk druk weekeinde, geniet ik van een rustige zondagavond.

tesla

2006 is het Tesla Jaar (volgens UNESCO), vanwege de 150e geboortedag van het Servisch-Amerikaanse genie Nikola Tesla. De man intrigeerde me altijd al, en vandaag zag ik wat documentaires over hem, en las zijn autobiografie nog eens. Fascinerend.

Een belangrijk deel van de 20e-eeuwse vooruitgang steunt op zijn ideeën. Hij maakte praktisch gebruik van elektriciteit mogelijk. Hij vond radio uit. De inductiemotor. De TL-buis. En nog duizend andere dingen, die niet weg te denken zijn uit het dagelijks leven.

Tesla is een van de weinige mensen die zijn tijd echt vooruit was. Een prachtig voorbeeld is de radiografisch bestuurbare boot, die hij in 1898(!) demonstreerde. In een tijd dat radio nog onbekend was. Laat staan het draadloos besturen van iets.

Hij had het niet altijd makkelijk en werd vaak misbegrepen. En oneerlijk behandeld - door Edison (zelf ook een groot uitvinder, natuurlijk), voor wie Tesla enige tijd werkte. Of door Marconi, die het Amerikaanse patentbureau ervan wist te overtuigen dat hij de radio had uitgevonden, en niet Tesla. Marconi ontving er zelfs een Nobelprijs voor, in 1909.

Tesla was 'natuurlijk' ook een 'beetje' excentriek, en vooral in zijn latere jaren begon hij 'mad scientist'-trekjes te vertonen. In 1943 stierf hij, arm en eenzaam. Enkele maanden na zijn dood werd zijn radio-patent alsnog toegekend.


2006-08-24
 
when the crowds are gone
HELSINKI - Donderdagavond.

Dinsdag onderging ik een dagje 'team building'. En inderdaad, we gingen karten en eten. Maar natuurlijk was er ook nog tijd om wat PowerPoints te bekijken (de discussie duurt voort over de voors en tegens van Powerpoint...). Vlak voor loodzware Russische maaltijd wist ik te ontkomen - mijn 'zwager' Mark was met een collega op bezoek in Helsinki - en samen (incl. AC) aten we bij Kuurna. Daar waar de keuze beperkt is - en de kwaliteit erg goed.

Woensdag verraste Ann-Christin mij met pannenkoeken. Deze oer-Hollandsche lekkernij wordt in Duitsland gegeten met... appelmoes. Huh?! Gelukkig had ik ook stroop. En vandaag trakteerde ik mijzelf op de vla die ik van mijn zuster (via Mark) gekregen had. Vla. 121.000 mensen emigreerden in 2005 uit Nederland... maar hoeveel zouden dat er zijn als vla ook in het buitenland verkrijgbaar zou zijn?

duh

De volgende paragrafen zijn wellicht 'duh'. Maar ik legde het vandaag uit aan een ontwikkelaar.

Het is goed om code te compileren met -Wall -Werror. De -Wall zorgt ervoor dat gcc nogal muggenzifterig is met z'n waarschuwingen. En -Werror zorgt ervoor dat elke waarschuwing als een foutmelding wordt beschouwd - oftewel: de compilatie zal eindigen met een foutmelding zolang de code nog niet helemaal 'schoon' is.

Ik vind vaak bugs in een vroegtijdig stadium in eigen en andermans software. Ik zie nogal eens code die aanneemt dat een int en een pointer beide even groot zijn (32 bit). Op mijn AMD-64 systeem is dat echter niet zo; ints zijn 32 bits, maar pointers zijn 64 bits. Allerlei lastig-te-vinden bugs kunnen zo ontstaan... maar gcc waarschuwt me. Veel van de waarschuwing kunnen via 'symptoombestrijding' opgelost worden; belangrijk is natuurlijk om het echte probleem op te lossen. Code schrijven in C/C++ is niet eenvoudig!

Kortom: het is een goed idee om -Wall -Werror te gebruiken. Het is echter geen goed idee die in het standaard buildproces op te nemen. Met name -Werror en met name als het gaat om open-source software. Verschillende versies van gcc geven namelijk verschillende waarschuwingen, en soms onterecht. En het is vervelend waneer iemand de software niet kan bouwen, alleen omdat gcc mekkert. Ergo, laat die Makefile.am met rust, maar configureer tijdens het ontwikkelen met:

$ CFLAGS="-Wall -Werror" ./configure
(er zijn nog meer warnings, info gcc).

2006-08-21
 
viikonloppu
HELSINKI - Maandagochtend. Geweldig.

Tijdens het backpacken ontmoet je dagelijks nieuwe mensen. Heel oppervlakkig natuurlijk - maar binnen zeer korte tijd doe je alsof je elkaar al tien jaar kent. Er is eenvoudigweg geen tijd voor lange initiatieriten - bij een tweede biertje is het al 'ouwe-jongens-krentenbrood'. Niets mis mee - en soms beginnen langdurige contacten ook zo vluchtig. Het leven in het buitenland is enigszins vergelijkbaar. Ik breng veel tijd door met andere niet-Finnen, allemaal in dezelfde positie. Het zijn de mensen die je telkens weer tegenkomt bij feesten en partijen :-)

Het duurt allemaal wat langer dan bij backpacken, maar uiteindelijk is het hetzelfde - na verloop van tijd verlaten bijna alle niet-Finnen weer het land. Terug naar eigen land, of op zoek naar verdere avonturen, elders. Het is dan ook een voortdurend afscheidnemen. Een gevoel dat al afdoende behandeld is in de film Highlander :-), maar goed de afgelopen zag ik toch al vier of vijf mensen vertrekken.

Gisteren was het de beurt aan Rike, de Duitse helft van een NL-DE combo (een van de vele!). Na Nepalees eten (bij 'Himalaya' - hoe origineel -- het andere Nepalese restaurant heet 'Mount Everest'). En daarna dronken mensen bekijken bij Kaarle XII - de stijlvolle disco, waarvoor mensen graag een half uur in de rij staan. Auf wiedersehen, Rike gaat naar Hongarije.

En eerder deze week was het afscheid van Minh, die teruggaat naar Parijs. We brachten de laatste uren door met hem - twee Nederlanders, een Duitse, een Fransman en een fles Jack Daniels. Au revoir Minh. En Minh had een fiets, die niet mee terugkon. En zodoende ben ik nu, voor een zacht prijsje, de trotse nieuwe eigenaar. Woest fiets ik rond, door heuvel en dal, brug, eiland, bos en weer naar huis. Geweldig!

Deze week zag ook mijn artikel over Tinymail voor Gnome Journal het levenslicht. Ik ontving enkele suggesties voor mijn eerste versie, en ik zond een verbeterde versie in. Tot een ieders tevredenheid - dacht ik. Ik was dan ook een beetje verbaasd om een aanvankelijk aangepaste versie te zien verschijnen - die m.i. minder van kwaliteit was. Het kostte enige moeite dat weer te herstellen, maar nu is de goede versie beschikbaar: Tinymail: evolution and intelligent design.


2006-08-14
 
Aux frontières de la nuit, dans un rêve infini
HELSINKI - Zondagavond; het weekeinde is alweer bijna voorbij. Zaterdag brachten we door in de eeuwing zingende Finse bossen. Een van Ann-Christins collega's bouwt een huis, ongeveer dertig kilometer verwijderd van Helsinki. Op die afstand kun je al flink stukken land kopen voor relatief weinig geld. Finland is bijna zo groot als Duitsland, maar er wonen slechts vijf miljoen mensen... [en Libanon en Israel tezamen zijn kleiner dan Nederland, maar dat terzijde].

Ik reed wat rond op een 'quad' (foto's: ©AC). Dat gaat goed! Daarna was het tijd voor andere stoere mannen- (en vrouwen-) activiteiten, zoals houthakken. Het duurde even voordat ik de techniek te pakken had, maar daarna ging het best aardig. Bezweet, en met slechts enkele snijwonden verzamelde ik genoeg hout voor de koude winteravonden. Om bij mijn open haard (gezeten op een berenvel natuurlijk) wat poëzie te lezen ofzo, met een glas Koskenkorva.

Muziek: Manigance. Eternal Tears of Sorrow.

Ook nog wat gewerkt aan m'n software... GTK 2.10 lijkt wat crashgevoeliger dan haar voorgangers. Waar je vroeger nog een *waarschuwing* kreeg als je als een widget op incorrecte wijze bejegend, krijg ik nu direct segfaults..., bijv. bij GtkAssistant en GtkComboBox.

Eindelijk de oorzaak gevonden voor de problemen in Irak, en de ontplofte Space Shuttle: Powerpoint...

Tenslotte nog wat technisch leeswerk: Proceedings van de Linux-kernelconferentie 2006 in Ottawa. En, voor de doorbijters, de Proceedings [PDF] van de GCC Summit 2006.


2006-08-07
 
改善
HELSINKI - Allereerst mijn felicitaties aan neef Bert die met zijn Mathilde getrouwd is, dit weekeinde. Ik was er niet bij, maar vermoed een groot feest.

De Finse zomer duurt voor - voor wat betreft het weer dan. De drukte neemt echter al weer wat toe. De Finnen hebben de weg weer gevonden naar kantoor. En met name ook naar mijn mailbox. Allerlei kleine tijdrovende 'vraagjes'. Die ik natuurlijk fluitend afhandel...

Wie op de bleeding edge wil leven, zal zo en dan zijn vingers snijden. Zo ook met Ubuntu Edgy Eft. De allernieuwste Xorg werkt niet met de binaire nVidia drivers. Gelukkig is er nog de nv-driver. Die werkt wel, maar... geen 1600x1200, geen OpenGL (dus geen Stellarium), video is traag... Ik zou graag de de 'open' versie gebruiken (en ben daar nu toe gedwongen), maar het kwaliteitsverschil is wel erg groot. En alleen omdat nVidia weigert de specs te publiceren *zucht*. Is er nog hoop? Misschien....

Op mijn laptop (Thinkpad, T41) is de situatie nog nijpender. De binaire fglrx doetutnie. De open-source versie werkt ook niet... zodat ik terug moet grijpen naar de VESA-driver, die nog stamt uit de tijd van trekschuit en paardentram. En mplayer meer frames dropt dan toont.

Natuurlijk, mijn eigen schuld.

Maar nog schokkender: emacs is zeer onstabiel. En aangezien dat mijn belangrijkste applicatie is... *aaargh*. De Japanners hebben het management-begrip kaizen - met als mantra "Failure Is An Opportunity For Improvement". Zo gezegd, zo gedaan, ik heb emacs uit CVS gevist, de allernieuwste, met Xft-ondersteuning, zodat mijn fonts eindelijk (na 10 jaar wachten!) zeer fraai getoond worden. Wat een verbetering!

Nog een interessant programma: CryoPID, waarmee je lopende programma's kunt 'bevriezen', en op een ander moment kun ontdooien - zelfs op een andere machine! Probeert zelfs wat slims te doen met fd's, sockets, X-connecties (experimenteel) enzo...

Interessant: PresentationZen, een blog over het doen van presentaties.

Tenslotte heb ik nog een nieuwe versie uitgebracht van spuug, mijn GObject/GTK+ code-generator. Ik heb 't de laatste maanden zeer veel gebruikt, en allerlei kleine verbeteringen aangebracht.


2006-08-01
 
γνώθι σεαυτόν
HELSINKI - Augustus... Ik ben gestopt met mijn Finse lessen, gezien de aanhoudend steile leercurve. En eigenlijk ook omdat ik buiten die lessen nauwelijks enig nut heb voor zeer bijzondere Finse taal. Ik ken genoeg om mijn dagelijks boodschappen te doen, maar verder... en tieda.

De zomer gaat zo snel, het weer is zo goed. Veel tijd heb ik doorgebracht bij/met Ann-Christin, in het bijzonder op haar dakterras. Ze heeft nogal wat gasten uit Duitsland. Ik spreek doorgaans Duits met Ann-Christin, en natuurlijk ook met haar bezoek. Nu gaat dat in de regel wel aardig, maar ik hoor mezelf fouten maken. Der/die/das, met name. Naamvallen zijn relatief eenvoudig (vgl. Fins!). En woordenschat. Alles kan gezegd worden in, zeg, 500 woorden, maar het zou toch aardig zijn om een beetje te kunnen variëren. Wijlen Rudi Carrell heeft een zelfs nog sterker Nederlands accent, maar zijn Duits is uitstekend.

Mijn carrière als programmeur betrof meestal niet-grafische programma's. Ik schreef programma's voor bijvoorbeeld e-mailroutering, netwerkanalyse, cryptografie, allerlei parsers/generators -- zelfs een RPC-systeem. Maar recentelijk heb ik veel UI-code geschreven voor mijn modest project. Langzaam maar zeker wordt het fraai en functioneel. Ik sta mezelf daarbij enig perfectionisme toe. Niet teveel - maar er zijn de nodige gevallen van 'bij nader inzien': ik gooi werkende code weg omdat het ontwerp me niet zint. Ik heb wel een ontwerp in mijn hoofd, maar veel van de kleinere ontwerpbeslissingen vinden plaats na een deel van de implementatie.

modest is mijn project op dit moment; ik heb gedurende de Finse zomer (als iedereen op vakantie is) wat tijd kunnen besteden aan ontwerp/implementatie. Het meeste werk is het ontwerpen en implementeren van de user-interface. Zoals het plaatje toont, is er nog niet al te veel revolutionairs te zien - een eenvoudig e-mailprogramma.

First-comes-first; eerst allerlei normale functionaliteit implementeren, en dan mijn ideeën over hoe e-mail beter zou kunnen functioneren. Ik heb wat ideeën - met name hoe e-mail geoptimaliseerd kan worden voor mobiel gebruik - op onze 770 natuurlijk. Ik heb alles generiek opgezet - niet alleen de diverse widgets, maar ook hun samenhang. Het Grote Plan is natuurlijk om de zaak weer te implemeteren voor de 770. Dan kan in een paar honderd regels code, misschien nog minder als ik Gazpacho gebruik.

Er was natuurlijk al een semi-werkende versie van modest; daarvan heb ik het goede behouden. Voor de rest heb ik veel omgebouwd, herontworpen. Het kan altijd beter. Schoner. Generieker. En het is allemaal in pure-C geschreven, zelfs zonder Glade enzo. Hoewel Python populair wordt, is C/C++ toch nog *de* taal voor softwareontwikkeling. C is streng maar rechtvaardig... (Philip: misschien interessant dezelfde meting te doen voor 2000 headers? Dan wordt duidelijk wat de overhead is)



Emacs, the UberEditor Powered by Blogger