Present Perfect


Picture Gallery
Present Perfect

tabs in GNOME

Filed under: GNOME — Thomas @ 08:48


The first post about Totem threw me off, but now I'm on to you GUADEC dorks. This is all just a big scam !

Of course, I still have my doubts about Christian Neumair's original post - I really do believe he added tabs to Nautilus. My guess is that's what's sparked all the ruckus and joking for the other applications.

So, anyone know if Nautilus really has tabs now ? Anyone know if Christian's followup post where he defends tabbed Nautilus as the sanest idea ever while condemning all the others is real, or just another hoax too ?

And if it is real, I ask, where do I turn in my GNOME membership badge ?

pychecker and modules with the same name

Filed under: Flumotion,Hacking,Python — Thomas @ 00:09


It took a lot more work than I expected, but I finally integrated the last of my pychecker patches into CVS just now.

This was a rather embarassing bug where pychecker would 'forget' about all warnings for A/C.py and B/C.py just because both files pretend to be a module called 'C' and pychecker was using sys.modules as a base for tracking stuff. Since pychecker imports all file arguments as a toplevel module, this clashes.

I created a unittest-based testsuite for pychecker, added a test for this particular case, then integrated my previous patch. I ran into an annoying problem though - some other tests now failed from the old testsuite.

Turns out that the code that checks if subclasses call up to superclass __init__ methods was using sys.modules to get to the code object and see if it was called. Since my patch now cleans up sys.modules from all these ad-hoc modules for the file arguments, this wasn't working anymore.

So I created a new module in pychecker to track all PyCheckerModule objects, and use that instead. They're tracked by module name and directory that module name can be loaded from.

It took a while originally before I realized pychecker had this bug - in Flumotion we have a lot of similarly-named files for different components, for example admin_gtk.py

PyChecker never caught any bug in these until I figured this bug out and created a patch.

So, I think I have now integrated all my 2 year old patches for pychecker, just in time for Neal's tentative code freeze. Yes, pychecker is actually going to get a release very soon! No more building custom packages for our contributors.

I'll leave the final testing for tomorrow.


Filed under: Life,Music — Thomas @ 12:41


Listening to the radio is ever more special when it's your girlfriend talking inbetween the songs and the radio and songs are good.

Today is the first time I can really savour this particular pleasure. Right now it's Black Kids with I'm not gonna teach your boyfriend how to dance with you. She's doing the 13-16 shift for two weeks.

Let's see if I can get a request in... Lucky Bastard already got one in this week before me.

Oh hey, she talked ! And now it's Echo and the Bunnymen.


Filed under: Conference,Hacking,Python — Thomas @ 12:38


In a "Functional Programming in Python" talk, and the author has decided to "remove the return statement from all examples for readibility."

So all of the examples are wrong, and 7 characters are removed while the monster functional statements on the right of the eliminated return statement are still there. Somehow I fail to see how this achieved more readability.

Of course it only took getting to the second slide for someone to raise a hand and say "didn't you forgot to put return in there?" to which the presenter replied "yes, I just told you I wasn't showing them for readability."

Something went wrong there.

Side note - why are all functional programming examples about prime numbers ? Fetishists.


Filed under: Conference,Python — Thomas @ 17:11


to see Google has the same meeting room scheduling problems as we have. During Guido's keynote, a bunch of people came into his conference room claiming they had a reservation. One guy even said "this is Thursday". Not sure if he meant today is (it's not) or if Guido's reservation is...

We actually used to use Google Calendar for scheduling the meeting room, but now there's only a handful of people that can change that particular calendar, and those people have to synchronize by hand to the paper version.

« Previous PageNext Page »