Present Perfect


Picture Gallery
Present Perfect


Filed under: General — Thomas @ 18:35


snow: good
flat: bad

snowboard: rocks
rocks: bad

sun: good

200-euro-down-to-80-euro-jacket: good

fresh morning powder: good
the feeling of ripping silk: priceless


Filed under: General — Thomas @ 13:27


So, looks like I'll be dropping by FOSDEM after all, though not sure in what state yet.

I'm arriving in Belgium on Sunday morning, around 7 I assume, and probably dead tired from a week of snowboarding. Then we take a bus to brussels and so on. So, if you want to meet up, drop me an email beforehand.

Hope to run into Tor and ask some questions about Windowsy stuff, at least. And apparently the schedule is now finally up, so I should take a quick look now...

Off for a week of snow, later !


Filed under: General — Thomas @ 19:40


We're at the 3GSM conference in Barcelona. Lots of walking around, talking to people, potential customers and partners, ... There's more Linux around than I had expected at first. We don't have Internet because some contractor accidentally cut the network cable, and they can't figure out how to fix it, even though they're paying for it. The 30+ available wireless networks constantly make NetworkManager crash, so I've had no luck getting on the internet at all. A little annoying when I want to monitor our streaming server for the demos we're doing.

I had been working on those demos for the past month, and by Friday there were still lots of small details not quite right. Some of the content we had been delivered was just plain wrongly encoded - apparently the 2000$ combination of Final Cut Pro and Quicktime Exporter - or whatever it's called - wasn't able to properly encode to H263. I had spent a good few hours trying to find the bug in our server before realizing the original files were busted.

Some of the other problems were definitely our fault, and I was getting pretty depressed by Friday evening because I knew that all the demoes were 99% done, and just needed a little tweaking. So, on Saturday, instead of going skiing with Kristien, I stayed home to finish up the details. I couldn't have relaxed anyway on the slopes - so I've exchanged my Thursday working day for today. Which incidentally also means that I won't be in the office for two whole weeks, as I'm going snowboarding for real next week !

As a quick rundown of things I've noticed at the show before I forget:

  • Palmsource have announced their ACCESS Linux Platform, which uses GTK+ and GStreamer. Some people on Planet Gnome have already spread the word on that, excellent !
  • We found a few other companies that have GStreamer in their marketing information, and at least a few people had heard about Fluendo - mostly developers, obviously
  • At the Trolltech stand we were informed that QTopia used to ship with FFMpeg for codecs, before they switched to the Helix platform. I don't understand how they could have done this, legally speaking - anyone know ?
  • Real and Apple don't actually have any presence here, which is strange. I did see one company showing off a product with a nice rack containing nice shiny silver Apple 1U servers. You've got to hand it to Apple, whatever hardware they make at least looks sexy.
  • One company demoed us their implementation of an MPEG4 H264 encoder where they did some advanced motion tracking and zooming that allowed them to blur out most of the background, spending more bits on the actual moving objects. Their demoes, if they can be trusted, looked very good, and would especially be beneficial for doing streaming of sports to mobile phones.
  • The most impressive products where in some display case hidden away in a corner without anyone around to actually present them. I saw a small cube that projected a keyboard on a flat surface that interfaces with a device over BlueTooth - probably one of my all-time geek fantasies. Next to that was a micro-display of maybe 1 square cm that you had to put your eye in front of to see the video displayed in it, but the video looked pretty decent. So that keyboard, with glasses using that tiny display, and a fast computer in my to-buy watch, would be the ultimate hack-to-go-solution :)
  • The display case also had a device with an ultracrisp flat display that looked just like a newspaper, with the surface refreshing every second to show a different comic page. Anyone who's ever tried reading a normal-size comic on a computer screen knows that the text is pretty much unreadable. This device had an amazing resolution and would be perfect for this.
  • I asked VoiceAge, who have helped develop some of the AMR codecs, if they knew what the copyright status was of the source code that can be downloaded from the 3GP site. They first answered that all patents needed to be licensed. So I pointed out that there's a difference between patent licensing and the actual copyright on any code - and asked them if we could for example license their patents then use the reference code in an application. It seems like they had simply forgotten to declare the copyright on the code (which if I understand correctly in most jurisdictions means that you can't use the code for anything, no matter what), and they're going to look into it and let me know.
  • It's an interesting fair to meet potential partners and customers, but my mind and fingers are eager to get some hacking done - I've been cooking up some ideas for addressing the firewalling situation in Flumotion, and I want to find out if they can work. But I guess they'll have to wait until after I get back from holiday ...

    Werror, continued

    Filed under: General — Thomas @ 12:19


    Davyd, I was trying to point out that Behdad needs to back up his point more when he says "-Werror should not be used under ANY condition."

    Obviously I realize there are cases where it should not be the default and that there are compilers that support it. I'm just saying Behdad should outline his reasons instead of stating dogma and hoping we accept it.

    FWIW, here's my take:

    1) released versions of a module should not have -Werror enabled by default
    2) -Werror should not be used if the compiler doesn't support it
    3) CVS versions of a module should have -Werror enabled by default if the compiler supports it, so people hit potential problems and report them, allowing the project maintainers to make an informed decision on how to deal with the warning
    4) It is helpful to make it easy for these people to override the error flags; for example, something like "make ERROR_CFLAGS="

    1) is so that if someone tries to compile your module with a newer compiler (say, a year from now), the module should still build
    2) is obvious
    3) is a definite help to increase code quality in your project.
    4) is a way of being nice to the brave people testing your code from CVS.

    The benefits of this have been very obvious to the GStreamer code ever since we started enabling it for cvs builds.

    There are people that claim that "warnings are just warnings" and not necessarily a problem. It's definitely true that sometimes you get warnings that aren't a bug. And if you're superhuman and all-knowing, you may be the one rare person that writes completely correct code even though it spews warnings all over. (Haven't found anyone like this yet though :))

    However, it's all a matter of maintenance cost. If your program generates twenty warnings when compiling, how do you remember which ones of those were fine to ignore ? How do you see when a new warning crops up, that might actually be a bug ? Worse, how do you keep other people from adding code to your project that contains genuine bugs that your compiler is telling you about, but you fail to notice the message among the flood of messages you already have ? It's just like the psychological equivalent of the broken window theory - once the first window in an area gets broken, the area quickly detoriates if nothing is done to repair it.

    People are very quick to blame the compiler for warnings, and ignore them. But in practice, I've found that in at least half the cases the compiler was right. The cases it was wrong about where easy to get rid of by improving on the code style a little.

    The compiler and its warning reports are just a tool, with its advantages and flaws. I prefer to use that tool to maximum effect, and am willing to work around problems in it in my code to reap the benefits - because the benefits of fixing actual bugs are very much worth it.

    That's why I'd want Behdad to expand on his point of view - I want to know if I missed any case.


    Filed under: General — Thomas @ 09:56


    Behdad, you haven't given any actual reason for why you don't want projects to have -Werror. A little more explanation is in order, methinks, if you don't want people to disagree with you.