Thursday Friday Saturday Sunday 

FOSDEM - a geek trip to Brussels. Going abroad to experience different cultures. Or at least, a chance to eat chips, suffer rain, and watch American TV in a different country.


It began, as every year, with my commute to the Eurostar at St. Pancras. This is not usually a hassle. Although, as you can tell by the very fact I had to write that sentence, means this year was different! For reference, my Eurostar leaves at 1pm. My local train takes 25 minutes. And you need 30 minutes check-in time. Even the most innumerate Windows users can work out that means leaving by 12pm. And since my trains leave every 15 minutes, there are three possible departures from 11.30am to 12pm. (Anyone who says there's only two, please search for 'gatepost error' and stay out of my code!)

The first train was delayed, and not expected to arrive until after the second one.

The second train was delayed, presumably stuck behind the first one.

The third train would have been stuck behind both. But apparently on time.

So instead I got an intermediate train which stopped at all stations, but it was already in the station and therefore couldn't get held up by any of the other three. Although it did make random stops en route, just to remind me why it's called a "slow" train, and not a "stopping service". My internal monologue told me I'd be on-time (well, arriving 15 minutes before departure is do-able), but from the wrists down I had the feeling of hate and panic which came across in my text messages saying "I'm on my way" as I cast aspersions on the dubious parentage of those running the rail network!

I arrived with 20 minutes to spare and ran for 5 minutes with my one suitcase to the terminal (which is my exercise and training for the year done) and pressed my QR code against the ticket machine. The sweat had made the inks run slightly, but it eventually worked. I was now panicking, sweating, trembling from the exercise and walking oddly through security. They realized I was not a terrorist, and just slightly winded, so they let me through.

The rest of the journey was calming, and we arrived (on a half empty train) on-time. Absent minded moment when I walked out of the terminal, and to the buses. I've been to FOSDEM every year, and to Brussels another 10 or 20 times in between, but for some reason I "just forgot" where to go. Odd!Maybe I was confused by the new barriers at the stations. Although, these had already been hacked by two teenage girls who, with small enough arms, can reach through barriers to press the 'open' button on the other side of the airlock-style doors. Anyhow, I took a quick trundle to the tram, unpacked at the hotel, and onto La Lunette for a quick evening drink while we waited for the fourth member of the group to arrive. This he managed with comparatively little direction assistance, and we progressed to Le Cap for food and Porte Noir for music and drinks.


I intended to get up at 9am, and head out to the supermarket for the beer, cheese, and waffles. I had remembered to adjust my watch on the train... but forgot to do the same for my phone and my iPod. And guess which two devices had the alarm programmed in?

Friday is always my shopping day, if possible, since Saturday is conference day, and on Sunday they're closed. I had remembered this, but not that they charge for carrier bags. So I wrestled with the vagrancies of 'un' and 'une' sac, used the numbers on the till display to save me from listening to, and trying to understand, a French speaker and exited stage left as slowly as the queue and angry people allowed. Angry not, I might add, at an Englishman badly butchering the French language (most Belgian's do a pretty good job at this themselves!) but they were angry at... well... just anything. I understand the words "excusez-moi", but I didn't realize that by grunting the words 'oy - sur mon idiot fason' and pointing, are a more polite and colloquial form of "would you please move in that direction so I can navigate past, without pushing you out of the way - although I will still intentionally make physical contact with you so you move further out of the way next time" At least, I assume that is how it translates!

I returned to the hotel past Ste Catherine and guess what? It is still dirty! Even St Paul's gets a wash occasionally. As a deal to the people and tourists of Brussels, I will volunteer to clean it! Give me the right sort of soap and brushes (as to not damage it) and I'll remind you why it's such a great piece of Brussels architecture!

Anyway, I get back to the hotel with my simple breakfast (beer, cheese, and waffles, as per the picture) before heading out to meet the other three guys at Clemenceau for a lunch and a trip around the Cantillon brewery. I was early, so took a few moments to peruse the Friday market; mostly fruit and veg, but some clothes and general household goods. Probably worth attending if you're ever doing a self-catering trip here.

It was certainly a bit chilly to be walking about - even the Coke sign listed the temperature as "ice cold"! - but it wasn't so bad. Then I got a text message to say the group had arrived, so I headed back to the station to meet them. I was excited to learn that a couple of girls had decided to join us... but then disappointed when they turned out to be my male friends (both from further north than I, BTW) who found it too cold, and gone back into the station to keep warm!

The problem of lunch was a tricky one. Brussels always looks a little dirty to me. And here was no better. I had already established there were no restaurants on the left of the main road, so when the group was assembled we tried venturing to the right. Again, nothing of consequence. We did see a pizza place, and thought we should live up the geek stereotype and have one. The exterior was dirty, with a tacky menu, and no windows. We spent at least five minutes thinking "is this really the best we can get". The answer, in this area, was "yes". But not in the way you might think. During our deliberations two diners left the place muttering "c'est bien", so we thought of giving them the deciding vote and entered... to a high-ceiling, well-décored, establishment with elegantly turned out clientèle and wine glasses on each table. The contrast could not have been stronger. The food was decent, and beer menu (with 6 good beers) was actually average by Belgian standards. The 'Spaghetti Pizza', though, went untried. While I doubt there's a better place in the area, the surprise we got here leads to a tempting expedition to find other such gems around the city.

From here four men discussed the merits of nail clippers (!?!?), and headed to the Cantillon Brewery. This is one of two remaining breweries in Brussels and makes Gueuze and Lambic beers make using spontaneous fermentation. The brewery tour is a DIY affair, where you're giving a 6 page computer printout and told to follow the numbers. While it is a working brewery, the bottling process was the only evidence on show, today. For those into the engineering side of brewing, watching the precision of the bottling machine is probably quite arousing!

At the end of the tour is the tasting; two beers, a lambic and a fruit beer, from the brewery. If you've never had this style of beer before, you will be surprised by it. It doesn't taste like beer. Or wine. Or pretty much anything. But, finish a whole glass before you decide whether you like it! It's that sort of drink. We bought some souvenirs (glasses, cheese, beer) and headed out. BTW, why do all breweries seem to produce branded cheese? And where do they make it?

We then headed back to the metro... in the snow! This was, AFAIK, the first snow we'd had at FOSDEM and so we wondered (i.e. placed bets!) on who'd be the first to slip over, drunk, on the way to/from the bar that night. And whether the trains would work.

On arriving at the Grand Place we dumped the souvenirs in my hotel (see later!) and headed out to see the town hall, and museum. It's not Monday and it's not 5pm, so it wouldn't be closed would it? Er, yeah, right! Today they decided to shut early, at 4pm. It was 4.02. There was no choice but to head out for beers.

The pub we found was called Magic Rubens. Although I hadn't noticed the word 'magic' on the place as we entered. It was only when I saw a picture of Michael Ammar on the wall that I got curious. Sure, I know who Michael is. And my magician friends know who he is. But the lay public don't. Once you get past David Copperfield, Paul Daniels, Derren Brown, and David Blaine, they get a bit hazy on magicians. It turns out that this is a magic-themed bar that hosts full evening shows. Since we were unable to attend one (sold out!) I performed a little close-up magic at the table, instead. On the way out I did a check of all the magician photos, and spotted two personal friends on the walls and a couple of Ali Bongo who died before I truly got to know him.

Friday evening was fairly traditional affair - a late night of beers at Delirium Café and an early dinner at 'T Kelderke. I had my usual meal of shrimp croquette and horse. Alas, the horse was a little tougher than usual. Venison, as we were contemplating, is probably easier to cook right. Or maybe, harder to get wrong. We also discussed a booze cruise, home brewing, and the weather situation.

After leaving Delirium early - not directly related to the busyness and overly drunk Scot/Belgian guy breaking glass everywhere (but it didn't help the ambience) - we headed for a quiet few drinks in the Au Bon Vieux Temps before home. The other (younger!?) members of the group headed back to Delirium for another couple of hours or so. I am assured nothing untoward happened!


I awoke just in time to miss the first talk of the day, about licensing. This is one I'd like to have seen. More so upon finding out that the speaker got everything right! This might appear like a presumptuous comment, but it's not uncommon for speakers to miss out bits that don't fit their agenda, or have just forgotten to mention or research something. (I find games and home automation talks problematic for this reason.) Instead, I used the next talk to work through the schedule and determine my plan for the weekend. The olden days, I used to do this in the week leading up to FOSDEM. But when I did, I'd often find someone on the Friday night mentioning another talk they expected to be good. This mean hasty re-working my plans, and missing something. Today I decided to visit the LibreOffice room. I have nothing to do with the project, but knowing Michael Meeks is an enjoyable speaker (and a good developer) it seemed a good time investment. An intriguing turn of phrase, as he spent an hour discussing easy hacks I would have thought could be completed in about half an hour... but maybe that's what the team of 8 (?) developers were doing at the back of the room!

From here I stumbled to my favourite room of the conference, the lightning talks. It seems to be everyone else's favourite too, since it has become a victim of its own success, resulting in a one-out, one-in, policy. I managed to secure a prestigious position standing about half way up the stairs. Usually I would have sat, but the amount of melted snow and ice made this undesirable. (I would also have been obliged to sing like Robin - think about it!)

First up was a talk on using various open source tools, like CHDK, to create a stop-motion video from photographic stills taken by a camera tied to a balloon. In addition to the case of pressing the shutter, he also demonstrated the problems (and more importantly, the solutions) of image stabilization, the spinning of the camera, and combining the shots into a movie.

Then we had a talk on MultiPath which combines multiple TCP interfaces into one virtual one, allowing a single transaction to use multiple points (3G and wifi, for example) to improve speed and failover. With other technologies, like LVM, showing that virtualization of the obvious hardware is desirable, I see no reason why this shouldn't find its way into the kernel.

The talk on Audiveris covered the issues in optical music recognition. While it might appear to be OCR done in two dimensions, the subtle problems that arise as a consequence are many, and Hervé Bitteur reckons they are 5-10 years behind the curve. It would not surprise me. Particularly when given it takes 20 minutes per page to turn a sheet of A4 into a score.

I finished the day in the Ada room. Again, not because I do any Ada but because there were talks on Arduino and LEGO! The first thing of note were the issues of incompatible components -"use version 4.6 only, or take a daily patch from SVN." Really? I thought we'd already solved these sort of problems!? The second was the LEGO Segway. Fantastic not just because it's a LEGO Segway, but because of the approach taken. José F. Ruiz used Ada, matlab, and other associated bits of stuff to program a LEGO robot that balances itself the same way a Segway does. That is, it measures the rotational position of the wheels, the robot's sense of balance (via a gyroscope) and computes whether it needs to move forward or backwards to stop itself from falling over. It is also self-stabilizing, can be remotely controlled via Bluetooth, and doesn't blindly bump into walls.

And if that wasn't impressive enough, it worked! Well, OK, he knew it would work, since he got the gig to speak at the conference. However, he had never tested it on a slope. If the controller program was correct ("correct" in the formal sense of the word) it should work on a sloped surface. Testing is irrelevant, since the maths say it's possible. But as Knuth said, "I have only proved it correct, I haven't tested it." So he put it on the slope of the lectern. And switched it on.

And it worked!

The place erupted, and he won teh interwebz :)

It was then back to the lightning talks for a presentation on Minemu about preventing untrusted binary data being run as code. It's a heavyweight solution in terms of resouces, but appears to be well-thought through. This was followed by Wikiotics, Transifex, and Growl, where the reduced density of the crowd reflected the fewer notes I took. (Sorry!)

Saturday evening is often the best of the weekend, since the buzz of the conference extends to the dinner table. Tonight was no different. We managed to navigate the snow drifts from La Lunette to the Ethiopian restaurant our master of reconnaissance had booked. We also managed to avoid all bad taste jokes. Especially since the food (moderately spicy meats - and a hard boiled egg - with pancakes) filled up 3 of the 4 diners! It was then off for a quiet beer in, er, Rock Classic. There were also some photographs for me to see - beer mats piled on ones head, whilst asleep. I thought they were from last year. Actually, I had fallen asleep in the bar last night, too :(

At 4am, or so, we thought it a good idea to get back to our respective hotels and pack. Would any of us make the 10am talk we'd planned? Place your bets! First, though, we went to pick up the brewery souvenirs from my hotel. Do they hotel allow friends to your room to drop off stuff? Yes. To pick it up, again? Er, well, sort of! But no complaining happened, obviously. And there was no shouting, honest. And definitely no swearing. It was a peaceful, quiet, and gentlemanly discussion. Ok?!?!?


I was awake at 10.30am, and had to check out by 11.00am. So obviously, I wasn't going to make the 10am talk. (Did you win the bet?) There was nothing for me until the afternoon, so I took a (very) long walking detour around the city. Photos were taken to later work out my route. Particularly as I saw a sign saying I was about to leave Brussels!

Arriving at ULB I found that the info area was still busy, but this year the stalls had been moved elsewhere to create more room in the corridors. A good move. As was the investment in over-sized windscreen wipers, which allowed volunteers to push small swimming pools of water out of the info desk area and back outside. For those that think water levels will rise when the ice caps melt should come and study the displacement of ice to water at a snow-infested FOSDEM!

Anyway, the first talk of the afternoon was PMH. A very new home automation project scheduled the same time as another HA talk (Dear organisers - who fell asleep here?), so this won by virtue of being longer. Or rather, scheduled for longer. It's a grand idea, and the use of URL to address devices is vey Ruby-like (and therefore good!). Alas, the use of magic numbers to address device commands and parameters is too old-school for me. But their hardware (Arduino and Xbee) is the closest to an open souce X10 equivalent, so perhaps this is the element of the project to be encouraged.

Second up was a talk on open web games. Having written my own HTML 5 engine, I was looking forward to this to allay my fears on HTML 5 audio - its weak spot, IMO. They weren't! In fact, both Chrome and Mozilla are adopting their own solutions to the problem! While I don't see this causing as big a problem as occurred in the early browser wars (who else cares about browser audio except games programmers?), it's incredibly annoying since everyone knows the problems of divergence, and the continued work-arounds we still suffer. Otherwise, there were lots of case studies to show and investigate.

It was then time to head out to the closing keynote, the progress of FreedomBox. Since most of the work was behind the scenes, it was difficult to judge how far or quickly the project would evolve. However, despite having nearly 8 hours sleep since Thursday, I was dropping off throughout the afternoon, so I probably missed some pertinent point or four.

So that was the weekend! How much more could happen in a trip from ULB to Eurostar, and home? Well, for starters we were kicked out of our own taxi. And we hadn't gone anywhere! We're used to taxi's being slow to arrive at ULB. And we're used to taxi's being stolen by other FOSDEM-goers. But this time, we had got in and settled, when the taxi driver (under the guise of ordering a taxi for another person) decided to turf us four out into the cold and take the (single) person on their trip. WTF!

The trip back to the station involved two stop points to collect bags. My hotel decided that me collecting my bags (with a taxi running on the meter outside) was less important than the (non-time critical) task of filling in forms for other guests. Methinks they need a lesson in scheduling systems!

Eventually we're at the terminal, and upon seeing blocked check-in gates think that it's probably safer to wait there, than find food outside. It turns out that our train is delayed. By 10, then 20, then 30 minutes. I work out which trains from London to home I'm missing. So we stop and have the only decent beer the terminal serve - a large Leffe Blonde - and recap the afternoon through which I napped. But finally, when on the train, they say that bad weather means our journey will take another half an hour longer. I work out which other trains from London to home I'm missing.

This years statistics were 9 bogus ">pers" text messages on entry to France, but only 5 upon arrival back into the UK. A new record for the French. And great restraint from Orange.

So finally we make it to London, and I make it home (after recalling a cab phone from memory) with 36 bottles of beer, and a glass from Cantillon. All neatly packed into my two suitcases (think about it) and all thankfully intact. So I order pizza for delivery, open a beer, and procrastinate about writing this diary.

But now it's done. So there!