Macbook: the good, the bad, the ugly

February 26th, 2007

For those who didn’t know, I picked up a brand new shiny black Apple Macbook last thursday. I bought a black one because it meant I could get it three weeks earlier (that is, I would have had to wait 3 weeks to get a white one for an actually lower price). Read the rest of this entry »

Status update: Universiteit

February 26th, 2007

Meer puntjes:

  • Ik heb m’n honoursmodule over Ethiek goed afgesloten, en ben nog bezig te proberen mijn essay daarvoor gepubliceerd te krijgen, daarvoor al een gesprek gehad met een “echte” ethicus enzovoort. Leuk allemaal.
  • Nadya, Hylke en ik hebben onze honoursmodule binnen de Kunstmatige Intelligentie Bachelor bijna afgerond. We moeten ons rapport nog wat redigeren en een presentatie geven, dan zijn we klaar.
  • Ik ben begonnen aan een minor Sociale Informatiekunde, wat gaat over de manier waarop mensen computers en informatie gebruiken, en hoe dat verbeterd zou kunnen worden. Dit is best interessant, alhoewel het eerste vak dat ik heb me tegenvalt: weinig nieuwe theorie en de praktijkonderdelen zijn mij niet uitdagend genoeg, te ‘gespreid’ en toch te veel werk. Er wordt verwacht dat je er 15 uur per week in steekt. Je moet de opdrachten in groepjes doen, maar je hebt naast het hoorcollege maar 15 minuten per week samen ingepland staan in het rooster (en bovendien zijn voor mij zowel het hoorcollege als het samenzijn dubbel ingeroosterd met Kunstmatige Intelligentie vakken). Het is dus veel werk, maar wordt gespreid over een week (in plaats van op projectbasis een paar dagen achter elkaar bikkelen). Bovendien is het niet uitdagend genoeg in die zin dat de verwachte resultaten (paper prototypes, bijvoorbeeld) bijna geen werk vragen en ik niet zo gemotiveerd ben om er uitgebreid mee bezig te zijn als het resultaat zo onsubstantieel is.
  • Ik probeer erachter te komen wat ik van mijn opleiding verwacht en wat ik als Masteropleiding zou willen doen (en waar dan). Wat mij tegenvalt aan KI is dat van de dingen waarvan mensen zeggen dat we ze kunnen (spraakherkenning, gezichtsherkenning, emoties, natuurlijke bewegingen, kennissystemen, etc. etc.) we de meeste dingen in werkelijkheid niet kunnen, gewoon omdat we er geen goede manier voor hebben, en dat we het vervolgens toch doen met gebruik van allerlei flauwe ‘hacks’ die in zeer specifieke gevallen het probleem oplossen. Het makkelijkste voorbeeld is kennissystemen in combinatie met natuurlijke taal: er zijn op dit moment systemen op de markt die bijvoorbeeld dokters kunnen helpen met het maken van diagnoses, en systemen waarbij mensen door middel van spraak een computer bedienen. Echter, dit zijn heel specifieke taken. De computer begrijpt je niet als je over een ander onderwerp dan medische diagnoses gaat praten (het weer, wat je voor het laatst gegeten hebt, etc.) of als je woorden of termen gebruikt waar de computer niet bekend mee is. Dit kunnen deze systemen over het algemeen niet leren, en op die manier vindt er nog steeds geen ’sterke’ KI plaats, wat je wel graag zou willen…
  • Waar ik een masteropleiding zou willen doen: de meeste goede universiteiten die iets met KI doen zitten in de VS. Dat is best ver weg, en de VS als land trekt mij absoluut niet. Uit mijn vakantie-ervaring, en de inwoners ervan die ik heb leren kennen, zou ik liever naar Groot Brittanië of Zweden gaan, maar geen van beiden heeft KI opleidingen die als zodanig zijn aangeschreven (in plaats van vakken / ‘tracks’ bij “Computer Science”, waar ik waarschijnlijk weinig tot geen nieuwe dingen zou horen). Moeilijk, moeilijk…

Status Update: Mozilla

February 13th, 2007

I haven’t really written anything of late, so let’s fix that. Bullet points in topic-centered posts. Here we go:

  • I will be attending FOSDEM, in Brussels, Belgium, arriving friday (february 23rd), leaving sunday (25th). I will be staying at the NH Stephanie.
  • Thanks the Mozilla Foundation’s sponsoring, I will also be attending the CSUN Conference, in Los Angeles, CA. I will be staying at one of the conference hotels (room’s booked) from Saturday (march 17th) to Saturday (24th). If you’re in the area and want me to say hi, send mail. (I’ll be arriving late and I’ll probably knackered from flying for 17 hours or so, so don’t count on me being approachable before sunday/monday at least)
  • I have finally released some of my extension stuff which in some cases I’ve been sitting on for something like a year now. I thought I’d better start putting some of it online lest I become another Hurd. For now, these are:
    • Chrome List, which allows you to browse chrome:// urls as if they were a normal file tree. This is also up on the Mozilla Addons site.
    • Show Menubar, which adds a contextmenu item for windows without a menubar to show the menubar anyway. This is handy-dandy if you need to change character sets, print, or if it’s the only Firefox window you still have open. I haven’t submitted this one to the Mozilla Addons site yet because I only wrote it the day before yesterday and AMO (as it’s known to the insiders) will be updated soon.
  • I should probably put my Graphing Calculator extension online as well, but I think there are alternatives for that by now, and it might not be worth putting there anyway (it can also be slow, and I’ve always been too lazy to create a preference panel for anything I write, meaning it lacks GUI for some of its options).
  • I wrote my first XPCOM interface, and wrote Windows and GTK2 implementations for it.
  • I wrote a small ChatZilla tutorial on SSH Tunneling. This is the first tutorial I’ve written, and it still needs pretty screenshots. Other than that I’m happy about it.
  • There’s some ChatZilla things I desperately need to finish, but have been too busy/lazy to. I will try to get to them this week (but I’m not telling you what I mean by ‘them’, so don’t get too hopeful just yet). There’s also, hopefully, another announcement in that respect due ’soon’, but I’m going to keep my mouth shut on that for now.

I think that’s about it. If anyone/anything feels left out, poke me. I won’t bite.

Wanneer zien we wat we zien?

January 8th, 2007

Ik ben vandaag begonnen met het vak “Computer Vision”. Zoals de naam doet vermoeden gaat het over of/hoe we de computer zouden kunnen laten “zien”. Computers zien een plaatje normaal gesproken als een enorme collectie pixels (in plaats van het object of de objecten wat het plaatje “betekent” of waar het een afbeelding “van” is). Om daar verandering in te brengen is best lastig. Een simpel voorbeeld:

Een cilinder op een gevlakt oppervlak

Hierboven zie je een cilinder op een gevlakt oppervlak. Dat ziet iedereen meteen vanwege de schaduwen, het perspectief van de vlakjes, enzovoorts. Stel, we willen de computer in ieder geval onderscheid laten maken tussen de lichte en donkere vlakjes. Dat is niet zo moeilijk, want al die pixels hebben gewoon een hoge of lage numerieke waarde voor de computer, afhankelijk van of ze licht of donker zijn. Dat valt best tegen: klik maar eens op het plaatje. Die streep die je ziet heeft de kleur (’donkerte’) van het lichte vlak in de schaduw van de cilinder, en ook de kleur van het donkere vlak bovenaan! Klik nog maar eens als je niet gelooft dat het hetzelfde plaatje is. :-)

Waarom zien onze ogen dat verschil wel zo duidelijk? Nu, we zijn gewend aan het compenseren van schaduwen, diepte en andere lichtverschillen. Dit is ook de oorzaak van allerlei andere ‘foutjes’ die mensen maken als ze naar bepaalde ‘getructe’ plaatjes kijken.

Belated Happy New Year

January 4th, 2007

[fr]

Gelukkig nieuwjaar! Beetje laat, omdat ik deze foto er graag bij wilde hebben, en ik dat bij m\'n ouders niet kon doen omdat ik het kabeltje niet bij me had. Zucht...

[en]

This would have been on time if I didn’t forget to take my digital camera’s USB cable to my parents for the holiday. Anyway:

Firework in front of my parental home

Kerstgedachte(s)

December 25th, 2006

Vannavond was er kerstnachtviering bij Joker in Apeldoorn. Na wat gezang en gitaarspel van iemand van Don Bosco, en een wat lauwe interpretatie van het kerstverhaal gingen we op weg met een GPS ontvanger. In het donker in kleine groepjes, zwerfjongeren achterna. Dat wil zeggen, de GPS ontvanger had vantevoren ingeprogrammeerde coordinaten voor de plekken waar zwerfjongeren langszwierven, en daar gingen we langs en deden we opdrachten.

Zo moesten we in een vuilniszak op zoek naar eten (buit: afgekloven brood, mandarijnenschil en een kool), in het park een slaapplaats zoeken, naar een afspraak bij het CWI, en op bezoek bij opvanghuizen voor jongeren en daklozen in het algemeen. Dit was allemaal best leuk, maar wat mij het meeste trof was dat we, toen we goed en wel in “De herberg” zaten, met warme chocolademelk en een overvloed aan donuts (de opkomst was beneden peil), dat er discussie was over hoeveel donuts we welgemanierd zouden kunnen eten - en ondertussen lag er iemand voor de achterdeur, onder een dun kleed, te slapen. Bij 4 graden celcius. Dan komt het wel dichtbij, en vraag je je af waar de kerstgedachte hier nu precies gebleven is.
Voor de volledigheid: die man schijnt daar elke nacht te liggen, en de herberg is normaliter ’s nachts dicht - er is overdag inloop voor daklozen. Het voelt gewoon vreemd en machteloos, dat je niet zo veel kunt doen - ik betwijfel of hij het op prijs had gesteld als we hem wakker hadden gemaakt voor een donut en chocolademelk. Het is zijn thuis dan ook een beetje… maar wat een verdomd vreemde wereld zeg, en dat met kerst.

My name really is hard for non-native speakers

December 14th, 2006

Imagine, you’re not a native Dutch speaker and you come across someone named “Gijs”. How on earth do you pronounce that? Well, for reasons which will currently remain a small mystery (but will likely be cleared up later) I have a demo version of JAWS, a screenreader by Freedom Scientific, installed. So now I can give you:

Yup, it’s hard alright!

Taartsnijden: niet alleen voor verjaarspartijtjes

December 7th, 2006

Ik was net bij een voordracht van Steven Brams. De beste man hield een voordracht over het verdelen van cake (niet taart, want dat is nog ingewikkelder). Dhr. Brams was hier voor COMSOC-2006 - een kleine conferentie aan de UvA over ‘computationele sociale keuzes’. Het gaat hier dus om het verdelen van goederen (al dan niet ‘deelbaar’ (1 euro kun je delen, 1 auto niet, in die zin van het woord)) tussen verschillende agents die ieder weer hun eigen voorkeuren hebben.

Een paar termen om het straks volgende voorbeeld duidelijk te maken:

  • envy-freeness (’vrij van jaloezie’) wil zoveel zeggen als: er is geen enkele agent die liever de set goederen van een andere agent wil hebben dan de set goederen die hij/zij/het nu heeft.
  • efficiency of, moeilijker gezegd, Pareto-optimality, wil zeggen dat er geen mogelijkheid is om iemand meer te geven dan hij/zij/het nu heeft, zonder dat (sommige) anderen daarop achteruit gaan.
  • equitability wil zeggen dat alle agents even gelukkig zijn met wat ze krijgen. Dit betekent niet per sé dat ze allemaal hetzelfde krijgen. Om een voorbeeld te noemen, stel ik mag land verdelen tussen mijn twee zoons (erfenis of zo), en het land grenst aan de ene kant aan een prachtig meer, en aan de andere kant aan een vuilnisbelt. Aangenomen dat de zoons inderdaad beiden het stuk land bij het meer leuker vinden dan dat naast de vuilnisbelt, zou het duidelijk niet ‘equitable’ zijn als ik mijn stuk land geometrisch middendoor deelde en de helft naast de vuilnisbelt aan mijn ene zoon geven, en de andere helft aan mijn andere - immers, hoewel ze fysiek evenveel gekregen hebben, is de één er gelukkiger mee dan de ander.

Dan ga ik nu een kleine aanslag plegen op het oer-Nederlandse “kiezen of delen”. Zoals we allemaal weten, is dit de eerlijkste manier om een cake te verdelen. Niet dus, zo zegt Brams. Stel je verdeelt een cake op die manier. De cake is voor de helft met chocola gevuld, en voor de helft met aardbeien. Stel, de ‘deler’ vindt de chocola twee keer zo lekker als de aarbeien. De ‘deler’ zal dan op zijn best de ‘helft’ van de waarde van de cake kunnen krijgen, door hem op 3/8 door te snijden. De ander mag dan kiezen tussen 3/4 van het chocolade deel, of het hele aardbeien deel en 1/4 van het chocolade deel. Hoe dan ook, de ‘deler’ zal nooit meer dan 50% van de waarde die hij aan de cake hecht krijgen, terwijl de ‘kiezer’ wellicht meer krijgt (bijvoorbeeld als die persoon aardbeien veel lekkerder vond). Met andere woorden, hier is weliswaar sprake van envy-freeness (want niemand zal het deel van de ander willen), en van efficiency, maar niet altijd van equitability. Brams voert een mogelijkheid aan om beiden te garanderen bij het verdelen van de cake.

Stel, we verdelen dezelfde cake tussen Aagje en Bert. Aagje vindt chocola twee keer zo lekker als aardbeien, en Bert maakt het allemaal niets uit, die wil gewoon zo veel mogelijk cake. Aagje en Bert vertellen dit allebei aan een onafhankelijke partij. Deze scheidsrechter kan dan onafhankelijk bepalen waar het fifty/fifty ‘punt’ op de cake ligt voor beide partijen. Voor Bert is dat dus middenop de cake, maar voor Aagje op 3/8 (3/4 van het chocolade deel). Vervolgens deelt de scheidsrechter het resterende deel op tussen beide partijen, in ons geval op 7/16 (midden tussen 3/8 en 1/2). Nu heeft Aagje dus 7/12 van de waarde die zijn aan de hele cake hechtte, en Bert heeft 9/16 gekregen. Dat is nog steeds niet helemaal eerlijk (equitable), maar wel eerlijker dan kiezen of delen (waar het verschil 6/12 tegen 10/16 was). Je kunt er ook voor kiezen om het resterende deel proportioneel te verdelen, maar dan kan het weer voordelig worden voor mensen om tegen de scheidsrechter te liegen over wat voor waarde ze aan welk deel hechten. Dit is allemaal wiskundig bewezen in het paper van Brams, maar voert wat mij betreft wat ver voor een blogpost.

Uiteraard wil ik niet suggereren dat je deze methode daadwerkelijk op verjaarspartijtjes gebruikt, echt praktisch is het daar niet. Maar het is een leuke metafoor voor serieuze dingen, zoals bijvoorbeeld vandaag aangehaald werd, het opdelen van Irak tussen Shiieten, Soennieten en Koerden, waarbij bepaalde partijen bepaalde heilige plaatsen belangrijk vinden, iedereen natuurlijk Bagdad wil hebben, etc.

Jelmer, weliswaar geen Koetjes en Kalfjes, maar toch wat AI. Om het even op mijn studie te betrekken, ik houd me dus, samen met twee medestudenten en de mede-organisator van deze conferentie, bezig met het schrijven van een computersimulator voor het verdelen van en onderhandelen over goederen (helaas geen cake) door verschillende agenten met verschillende behoeftes etc. Dit doe ik om uiteindelijk mijn BSc met ‘honours’ te behalen. Daarvoor volg ik ook wat interdisciplinaire extra vakken, etc. Het AI gedeelte is best interessant, maar moeilijk om zo een-twee-drie een blogpostje over te schrijven.

I can’t read this — Iets dat wel interessant is

November 22nd, 2006

En toen vroeg ik me dus af, nu Ilja en Jelmer ook een weblog hebben, of ik het dan ook maar (in het Nederlands?) meer over koetjes en kalfjes in plaats van technisch gel*l zou moeten hebben. Het is maar een vraag, dus voel je vrij om een beetje commentaar achter te laten.

And for the technical English-speaking readers: I don’t suppose there are easy ways to tell wordpress half your posts are in some other language? Can I get it to do two feeds, for example, one for English and one for Dutch posts?

Why you don’t want to know what people are looking for on your site

November 18th, 2006

Using the mildly interesting Google Webmaster tools, I was astonished at some of the search queries that land people on this site:

  • ie7 “new tab” greyed out
  • find out who blocked “you msn”
  • onkp

These are supposedly first page hits (ie, my site ranks in the top 10 for those queries), as opposed to relevant things like “chatzilla” which apparently gets me roughly the 43rd position. Right…