[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

The Zone

Filed under: General — Thomas @ 20:53

2006-01-29
20:53

The last time I really hit the zone, hacking-wise, was probably last year in summer at the CampusParty. Even though I was dead tired, in those few days I knocked out a Flumotion project management system (allowing additional tarballs to extend Flumotion and provide additional components and UI), a simple flumotion-template tarball to serve as an example, and a decent setup for translating all bits of Flumotion that we had in the UI at that point.

The challenges included hacking up the python import mechanism to further support our bundle concept, doing on-the-fly textdomain switching (since some of the UI could be coming from an add-on Flumotion project, like in the case of the template), adding translations to our bundles (because just like the admin code is sent from the manager, so are the translations sent to the admin, and translations are done locally in the admin).

It felt great to gently and quickly massage all those ideas into working code and produce exactly what you want over a span of a few days, being able to block anything else out and keep your focus going all through that tunnel. Python is excellent that way - in those rare moments code can flow from your head through your hands into the computer.

(Ever since then I had been wondering what it is exactly that allows you to enter such a state of mind, because I could definitely use them around more often. If you've wondered about this phenomenon as well, feel free to point me at resources on it.)

Friday I managed to achieve the same thing, after realizing the API changes I wanted to get into Flumotion for 0.2.0 were going to be the turning key for providing well-done informational messages in both the wizard and the admin client about what's going on. At the moment, if something goes wrong in the components, you only see that the component is now sad, and you have to dig through logs to find out why. Not a very usable experience.

Everything's in place to improve on that now. Instead of explaining what's going on, which I'll do later, here's a screenshot for now:


The things to keep in mind are:

  • The components run inside a process on machine A, and possibly more
  • The error message is generated inside this component on machine A
  • The components are managed by a central process on machine B
  • The user interface is connected from machine C
  • The user interface was connected to the manager *after* the error was triggered

So in the end, every admin client sees every previous component message translated in her own locale. I think I have all my bases covered - with a nice implementation that handles both singular and plural translation messages. Pretty happy that I've been able to finish this long-standing problem I was fretting over.

It was a great experience to set myself a goal of what I want this refactoring to bring me as an end result, and then work through all the steps to get at that point. At the point where I was ready to see these three admin clients start up and see the message translated, I was 100% sure that with the proper translation work, I would see three different messages. That was the same point where I realized that I only had English and Dutch translations with these new strings - I had to cook up a dinky French translation myself for the screenshot :)

Anyway, so in a nutshell - Flumotion 0.2.0 is coming next week, and it's getting better all the time.

Love Life

Filed under: General — Thomas @ 20:29

20:29

This week on the way to work I was waiting to cross a road when the traffic light for the vehicles turned to red and mine turned to green.

Wait, it gets better.

A bus started braking at the latest possible minute to not pass the red light, ending up a bit over the white demarcation line and almost hitting some woman in the process.

Next thing that happens, the driver jumps out of his bus, runs into a bakery on the corner that has a self-service coffee machine, fiddles with the thing, and runs back out with his coffee all before the light turns green again. And then drives off.

How many people would drive off with the bus ?

out

Kristien and I were planning to go snowboarding in La Masella yesterday, but the Friday forecast mentioned snow storms and -13 C, so we ended up not going. Just as well - the vaccinations Kristien got on Friday for her trip to China had left her with a slight flu and a very sore arm all weekend.

So instead we went out to Gracia at night. There was a Witches festival - though I didn't pay attention or notice anything - as well as a whole week of Island parties - people from Mallorca and Ibiza coming over to sing and celebrate. It was nice to feel a little bit like a local among locals and speak a lot of Spanish through the night. I wish I could have more practice.

chocolate

Went to the chocolate museum today. Was a bit skeptical, being Belgian and all, but it was great. They had some amazing chocolate statues on display, and the smell was divine. And apparently the Aztecs used cacao beans as a form of currency. The service of a prostitute is worth 10 beans.. The same price for a live rabbit. Coincidence ?

After the museum, we'd gotten such a taste for chocolate that we went to a great desert specialty store called 'El Bubó' and treated ourselves to some yummy brownies and pastries. They also had a bar close by, where we ended with some steak chunks with violet (flower) oil and blood sausage potatoes. Divine. And we haven't gone through their whole menu yet...

vestimentary practices

Filed under: Life — Thomas @ 10:33

2006-01-23
10:33

Last Friday as I left work I was zipping up against the cold. Now, my vest has two zippers (it has some extra flaps which I suppose are there for style, though it's fun to match the wrong zipper ends on purpose and look like an art house painter), and I was wearing a surf fabric sweater with a zipper as well.

Without looking I zipped up quickly and instead of hearing the comforting sound of a zip well done, it made that tearing noise zippers do when the teeth are not locking even though the zipper goes all the way up. Oops. I had matched my vest's left end with my sweater's right end.

Normally when your zipper didn't close up properly you pull out one of the two ends all the way back down. I did so with my vest end, but when finally reaching the end with my one arm over my head and the other on the inside and out down, my body slanted to the left for balance, I was still stuck because the zipper wouldn't go past the entry chain.

I did not want to ruin my vest and sweater, so the only way out was to call someone to come over and help me get the other chain all the way down as well by pulling on the other side. Of course, I had to kill him afterwards to keep the embarassment a secret. So if you don't see Jamal today - you know why.

Open Source Humour

Filed under: General — Thomas @ 09:25

2006-01-21
09:25

Once in a while I come across something that makes me laugh while doing stuff that is serious business.

One of the patches in the X.org rpm builds from Red Hat is named "xorg-redhat-die-ugly-pattern-die-die-die.patch". Not too hard to guess what it does.

Here's another thing that had me rub my eyes in an otherwise dry info manual:

For instance, this definition of macros:
...

     AC_DEFUN([TRAVOLTA],
     [test "$body_temperature_in_celsius" -gt "38" &&
       dance_floor=occupied])
     AC_DEFUN([NEWTON_JOHN],
     [test "$hair_style" = "curly" &&
       dance_floor=occupied])

     AC_DEFUN([RESERVE_DANCE_FLOOR],
     [if date | grep '^Sat.*pm' >/dev/null 2>&1; then
       AC_REQUIRE([TRAVOLTA])
       AC_REQUIRE([NEWTON_JOHN])
     fi])

with this `configure.ac'

     AC_INIT
     RESERVE_DANCE_FLOOR
     if test "$dance_floor" = occupied; then
       AC_MSG_ERROR([cannot pick up here, let's move])
     fi

will not leave you with a better chance to meet a kindred soul at other
times than Saturday night since it expands into:

...

18 again

Filed under: General — Thomas @ 23:57

2006-01-20
23:57

I'm putting off reminiscing about last year's end and my stay in Belgium. Putting it all down implicitly decides what matters and what didn't and until I do everything still has an equal chance of mattering.

When I was 18 I made a top 20 cassette. I spent some time picking and put together an order of my favourite songs. One of them was Underwhelmed by Sloan. I passed by the FNAC yesterday to pick up a birthday gift for someone because I was invited for dinner, and apparently they had a singles collection out. Picked it up but didn't have time to listen to it, but Underhelmed still packs the same punch, wit and drive it did back then.

Tonight I was staying at home to recover from my week of sore throat and illness, and did some surfing. I had actually never ever seen Sloan live, and once in a while I wondered if they ever tour. So after some websurfing (Sloan is surprisingly common for a website term), I find the site, check for tour dates.

WTF. They are playing tonight in Barcelona. It's 11 PM, and they were opening (no honor among thieves), so there's no point in going anymore.

I think out of the top 10 off that cassette, Underwhelmed is the only song I haven't ever heard live. At least, not played by them - Metal Molly gave a stellar rendition of it at some show way back when.

I hope there's another time.

she skips her classes and gets good grades
I go to my courses rain or shine
she's passing her classes while I attend mine

Next Page »
picture