Present Perfect


Picture Gallery
Present Perfect

Start spreading the news

Filed under: Travel — Thomas @ 14:17


My baby and I have decided to take a trip to New York City! After a few years of not really taking a holiday just the two of us together, it's about time. I've been preparing work for it, and now I'm preparing us. NYC - home of Interpol, Strokes, The Walkmen, The National, and lots more.

We'll be going for a full week, arriving Saturday evening November 29th, and leaving again on Sunday evening December 7th. Inbetween we're probably going to stay a night in Boston and visit Ward.

Since I want to make the most of it, I'm asking all of you for ideas for things to do there. I'm sending a 30$ Amazon gift card to the person who gaves us the suggestion we ended up liking best!

What we've already planned:
- A NY Knicks vs Portland basketball game on Tuesday
- A free greeter that looks like a great idea
- A Nada Surf concert

Here's stuff we've been told about or think about but don't know where it is:
- there's supposed to be a huge toy store somewhere - any idea ?
- I'm sure there must be a huge comics store too somewhere - where's the biggest ?
- same for music - preferably collector stuff
- there's supposed to be some 'live system-shock-type RPG/puzzle experience' which was featured in Wired once and now also exists in Madrid - any idea ?
- Where to get the best hamburger and/or hot dog ?
- Where's the best movie theatre ?

Here's a bunch of stuff we want to do but not sure where to get:
- a theatre play
- a musical
- a tv studio
- stand-up comedy
- good concerts
- good food

And of course, any other kind of tips are welcome as well.

NYC baby! This ought to be good.

Free money

Filed under: General — Thomas @ 10:49


At Europython this year I met a guy called Stani whose name indicated he was Belgian. And indeed he was. We got to chatting and it turned out that, besides being a Python hacker with some interest in trying out GStreamer, he was also an artist. He told me about some of the - to me fascinating - projects he had worked on before. And he revived my interest in writing some GStreamer demo code that could help him figure out some of the specifics in GStreamer better (which I don't think I ever wrote anything about, so here's where I left it at after Europython. It currently has a simple player application lifted from gst-python, but abstracted, organised and commented a bit better, and including a wxPython frontend as well from Stani.

Anyway, that's not the point. I subscribed to his blog after Europython but nothing much came in. Until yesterday - apparently he won a design contest for the commemorative 5 euro coin in Holland. He did the actual work using only Free Software, and the result looks impressive.

It is rare for a person to be gifted with both the creative range of ideas and the actual skills to carry them out. It is something I strive for and never quite achieve. Congratulations Stani!

people behave

Filed under: Fluendo,friction,Life — Thomas @ 00:18


Some principles and observations come back in many aspects of life.

One drive I have in everything I do, whether professional or personal, is to remove friction. Removing friction helps to stay in a flow and focus on the important things. (One of the bad sides is that I'm prone to yak shaving because of this, although I think it pays off). I like removing friction today for my flow of tomorrow.

A recurring observation I have is how, in any company of a reasonable size, certain small things just don't happen automatically anymore, because a sense of shared ownership gets diluted when there are more people involved. Typical example is 'the shared fridge tends no lose the entropy battle'.

And another observation is how, in many cases, an overengineered system ends up being extremely unusable.

Today, those three met when I was in a meeting and I wanted to put on the lights, but I turned on the way-too-loud AC instead.

What was the problem ? Pretty simple. The remotes for lights and AC all have 6 buttons. Left ones are On, right ones are Off. But there are no labels. So these programmable remotes can control whatever you want. It's just that usually all you want is to control lights and control AC.

So, someone had labeled the remote using a Dymo (I love Dymos), but apparently got them switched around. Then someone else put scotch tape on the labels, and put a very small almost invisible double arrow on there to indicate 'hey, the labels are the other way around'.

But no one takes the time to just put the labels on correctly. No one feels annoyed enough to fix it for the next person. Amazing how people leave this easily fixed piece of friction around. (Guess what I did during that meeting)

The story of our AC and lighting is another one entirely, but it's overengineered to the max. Here are the things that suck:

  • like I said, remotes are programmable. Sounds like a great idea, but sucks in practice if you really always only control lights and AC. The third row of buttons is never used. I'm sure the engineers went 'Hey, wouldn't it be cool if we made it programmable so that if we ever think of something else than lights or AC, we can just reuse the same remotes ?' I can hear them discussing it right now!
  • hence, the remotes are unlabeled. Nuff said.
  • the remotes have no light that indicate whether they work at all. Batteries go flat - the bare minimum is a light that flickers when you push a button.
  • You need to sort of aim the remote at a receiver in the ceiling. But they're pretty hard to spot, and the range is not very big.
  • Hence, wouldn't it be nice if you actually got a feedback light on your remote that indicates 'the receiver noticed the command ?'
  • If the receiver manages to receive the button press, apparently the signal goes to some central location where the whole machinery is housed. I imagine an ENIAC computer filling the whole basement somehow. It takes ages to get from 'pressed a button' to 'lights go on' or 'AC goes on'. I mean, easily, 10 seconds.
  • All of these huge usability mistakes combine to make turning on or off lights or AC into a giant button mashfest not seen since the days of playing Summer Olympics joystick waggling and button twiddling at the arcade was in fashion.

All of this, of course, is in addition to all of the usual problems with AC - the controls for temperature are also unlabeled (and in a company with new people arriving constantly, there will be at least one person thinking that left is complete minimum and another person thinking that right is, and they will fight over this passive-agressively), it never provides the amount of cold people want, some people smoke in the building anyway so it gets shared for all of us, and filters never get changed as often as promised. Oh, and a few times a year, water drips from the ceilling (and it's not that much fun to find your laptop turned on and wet in the morning).

And the kicker is, the whole system can be programmed on a time basis to get turned off at certain intervals. I still don't know if it's a good thing or a bad thing that, around 22:00, the lights turn off, and that tells you to either go find the remote or to go home because it's long past time to do so.

Trac upgrade and OpenID

Filed under: Hacking,Nerd Night,Python — Thomas @ 16:16


One of my tasks for Nerd Night was to set up OpenID authentication on my trac so that the other nerds can log in and change the wiki.

Now, there are two OpenID plugins for trac - an unmaintained one for Trac 0.10, and a maintained one for Trac 0.11

In the past, upgrading Trac minor versions has always been a bit of a pain, especially given the number of additional plugins I usually have installed. But I am motivated, because I want to make the same jump on the office Tracs soon, so that we can configure our workflow - one of the new features of Trac 0.11.

After a half-assed attempt at trying the old plugin last week, I decided to try and upgrade to Trac 0.11 for real, and finish this task. And I decided to do it in a more methodological way than the usual try-and-die. Or, in other words - it's yak shaving time, baby.

I started by updating my draft hacking notes to 0.11, and making them work with an uninstalled Trac.

Then, on my F-9 desktop, I downloaded source of Trac 0.11.1 and the authopenid plugin. I followed my hacking instructions, updating them as I went, and ran tracd with the authopenid plugin uninstalled without problems.

But our hosted server still runs Fedora Core 4 (Wiebe, is our new server ordered yet ?) so I had to build packages for that version of Fedora. So, I created a new tao directory in my repository of packages, for packages I will be only offering on my own website. I forked spec files for Trac, python-pygments, python-textile, and python-genshi. I updated the Trac one to 0.11.1, and the others I backported to work on FC4.

Then, I created all packages using mach, and encountered a small bug in it that Julien introduced when he added a fix for the problem with different people in the mach group trying to build packages. I worked around that with Another Small Hack, then rebuilt the packages.

I tried out these new packages inside a chroot of mach, by running:

mach -r f4e setup
mach -r f4e yum -y install trac
mach -r f4e chroot

And I again followed my HACKING instructions, but this time the installed ones.

I re-used my hackish python-openid package from last week, and tried to build an rpm of the OpenID plugin. Using

python setup.py bdist_rpm

failed however - for some reason, the templates and css files do not get packaged. Same when running sdist instead of bdist_rpm. So I settled for bdist_egg, and copied the .egg file in the plugins/ directory.

Now, trying to log in, I got a traceback. Googling for it brought me to this trac ticket.


yum install python-sqlite2

solved it, though I have no idea why! The traceback is completely obtuse, and I don't see how installing something would fix it, but hey... Now I could confirm that the OpenID plugin for authentication worked.

Now, final step, do the actual Trac upgrade on my hosted server!

First of all, take a backup. Luckily, I take daily backups with some script, so it's just a matter of executing the script once more. Upgrade the trac RPM. Do a trac-admin (path) upgrade on all my trac installations. Try them out. So far so good - everything seems to be more or less working, bar some macros that I will need to rewrite.

Then, configure the authopenid plugin. It failed with a traceback that said that the table 'oid_nonces' had 2 colums, and the query was trying to insert 3 values. So I whipped out sqlite3 and compared the schemas between my mach Fedora 4 chroot and my online server. I am assuming that the old OpenID trac plugin created two tables with the exact same name (oid_nonces and oid_associations), but with different schemas. And there is nothing in the authopenid plugin that checks if the schemas are right. So, I dropped the tables, imported the schemas from the chroot sqlite db (handy feature of sqlite3, the .schema command), and bam! Login finally worked!

Not the easiest 4 hour task, but finally completed! On to the next Nerd Night.


Filed under: Music — Thomas @ 22:28


Thursday it finally happened - a concert I've been waiting for for a few years now. Finally, The Walkmen would be back in Belgium!

I missed them at my first opportunity because I didn't know them and didn't trust the bar owner that invited me to pick good music for me. How wrong I was.

Make no mistake, The Walkmen, besides having one of the coolest band names ever, are ... intense ... live. I'm surprised the singer didn't have any veins pop out of his head. And I'm amazed that anybody is physically capable of squealing in tune for so long at a time.

I'm just like you
I never hear the bad news

The concert, though short, didn't disappoint - playing my new favorites from their latest album, You and Me, as well as knocking me out with songs I've grown to love over the last few years. Thinking of a dream I had was especially everything I expected - that song is made for the stage, going from ecstatic/crazy to full-on melancholic (when that organ hits) and back again.

I think one of the reasons I like them so much is because I like guitars that sound like someone in the basement of the old school is rattling a wrench against the radiator bars. Think some Sonic Youth songs, some Placebo songs on their first album - and pretty much any track the Walkmen do. I just love that sound.

When I used to go out
I'd know everyone I saw
now I go out alone
if I go out at all

Go buy their albums !

Next Page »