[Solved] The Strangest Bug I've Ever Seen

I've spent two hours to find it and two seconds for the fix. There was this gigantic piece of C code to create a report by putting together data from several files. The code seemed to be executed correctly (debug prints showed what should have been p… (read more)

Who's To Blame?

Once, during the development of a big project, I asked the Product Manager to tell me about the relationship between two functions (let's call them A and B). And the PM said: "When A is not active, B is always disabled". So I've designed my software… (read more)

[Solved] Broken Packages In Ubuntu

One of the worst things about working for a big company distributed world-wide is that you don't have a direct contact with the leaders of the IT department. So, if they decide to put in place a proxy, it's not easy to tell them not to cache Ubuntu p… (read more)

Why Tabs Are Better Than Spaces

I think there is no doubt that readability is in the eye of the beholder. If you are customized with a certain code style, it will take some time before you become comfortable with a new style. The biggest part of this process of acclimatization is p… (read more)

Never Break Backward Compatibility (Again)

Here we are again. It seems that every time I upgrade Xubuntu I cannot compile old Linux kernels anymore. Last time, it was GNU Make that broke the build. This time it is Perl turn. This is the error I got: Can't use 'defined(@array)' (Maybe you shou… (read more)

Understandable Code

Last week I had a chat with my colleague Suzi. She wanted me to review a small change she made on a software almost entirely written by me. At some point she came out with this: [Another colleague] always says you are too smart, and we just lose ou… (read more)

Multiball Pinball

Have you ever played pinball? If yes, you may have run into the situation where you have to deal with two or even three balls on the field at the same time. Your attention constantly moves from a ball to another and this can work for few minutes but… (read more)