2006-01-15
 
rustdag
HELSINKI - Zondag. Heerlijk, een dagje ontspannen :-) Gisteravond ontmoetten we mede-Nederlander Rob en aanhang voor een verlaat verjaardagsfeest (38) in de Underbar. Leuk een aantal lang-niet-geziene mensen weer eens te spreken. En leuker dan de vergeefse poging daarna om bij Hamlet naar binnen te gaan. "Waar brandweerlieden en verpleegsters elkaar ontmoeten", zo werd mij verzekerd. Of, zoals de worldsexguide (in '95!) meldt: "hamlet is the best bar. the girls are free if they like you". Hmmmm...

Kortom: genoeg reden om daar niet een half uur in de rij te gaan staan. Buiten in de rij voor een bar - dat is toch wat teveel voor mijn zelfrespect. Daarom waren we reeds om twee uur bij mij thuis, Tommi, Ann-Christin en ik, voor wat laatste wijn en zzzzzllllaaaaapppp....

Ik ben ook op zoek naar nieuwe woonruimte. Binnen enkele weken moet ik m'n huidige woning verlaten, en ik probeer wat mogelijke nieuwe woningen te bezoeken deze week. Ik heb al een aardige gezien, vlakbij mijn huidige optrekje. De meeste aangeboden woningen zijn ongemeubileerd, zodat ik eerst nog een bezoekje aan IKEA zal moeten brengen...

teletekst

Ik ontdekte dat mijn ttb teletekst browser in ubuntu/universal terecht is gekomen (voor Dapper). Dat betekent dat iedereen die Dapper gebruikt eenvoudig
 apt-get install ttb
kan typen om ttb geïnstalleerd te krijgen - en dat vanaf april de grote massa van gebruikers zich niet meer door mijn installatie-instructies hoeven te worstelen :-)

lijsten

Philip schrijft interessante dingen over het efficiënte gebruik van GtkTreeView/GtkTreeModel.

Eerder ontdekte ik bij analyses met Sysprof al dat de meeste tijd bij het toevoegen van data in een naïeve implementatie zit in de GSignals die worden afgegeven als data wordt gewijzigd. Als je voor het toevoegen van een rij bijvoorbeeld eerst gtk_list_store_append en vervolgens gtk_list_store_set gebruikt, worden er twee of zelfs drie signalen afgegeven. Vanwege de performance-problemen die dit op kan leveren is ook gtk_list_store_insert_with_values toegevoegd, dat slechts een enkel signaal afgeeft.

Dat is een kleine optimalisatie - maar Philips aanpak is structureel van aard, en maakt het mogelijk miljoenen rijen in een lijst te hebben. Het Proxy Design Pattern wordt toegepast door middel van een custom ListModel, dat de rijen die in beeld zijn just-in-time creëert (en verwijdert). Een fraai bewijs voor de flexibiliteit van het Model-View-Controller design pattern dat GTK+ biedt.

Een probleem dat overblijft (voorzover ik de code begrijp) is het sorteren van de lijst. Doorgaans worden rijen niet willekeurig in een lijst geplaatst, maar is er een zekere ordening. En het is vaak ook wenselijk dat de gebruiker die ordening eenvoudig kan wijzigen, bijvoorbeel door een muisklik op een kolomtitel. Als dan een miljoen items geïnstantieerd moeten worden, dan gaat dat niet zo snel. Er zijn echter wat trucs denkbaar met GtkTreeSortable - maar dat vereist nog wel wat werk...

Management summary: lees het design patterns boek. Een schat een informatie.

background noise

Lang had ik uitgekeken naar het nieuwe album 'Dominate' van het Franse Adagio. Zoals ik een jaar geleden schreef: "Adagio [...] [zal] in ieder geval voor altijd verbonden blijven met mijn eerste week in Finland". Het album stelt niet teleur, maar is ook niet echt ik-val-van-mijn-stoel verrassend. Maar, zeer technische, verzorgde en symfonische metal: de Franse Symphony-X, met wat 'death'-invloeden. Enige minpunt is de cover van Fame (!!!).

En dan is er het Britse DragonForce met hun nieuwe album Inhuman Rampage ("Through the Fire and Flames" als MP3). Zoals hun vorige albums gaat het allemaal heel erg snel. Maar net als bij vorige albums is het componeertalent niet zo groot als het speeltalent. Niet alle nummers zijn even sterk, al blijft het indrukwekkend hoe nietsontziende snelheid wordt gekoppeld aan meezingmelodietjes.


0 Reacties:

Een reactie plaatsen


Emacs, the UberEditor Powered by Blogger