Die Flagge des Marasek



Current Texts Comic Imprint Calendar Search PHP-Classes Container-Wizard main.s21


Class Library
Global Politics
World Outlook

It's rarely the language...

Previous: Further thoughts on the Debian SSL IssueNext: raw, dcraw, really raw
Assigned keywords: Programmieren

In seven years of programming, mostly in PHP, but in some other languages as well, I've got to learn the sad truth: when something goes wrong, it's always me. When I was less experienced, that was quite clear, but in some intermediate phase, I became confident, if not arrogant enough to think from time to time to have found a bug in PHP itself. But nowadays, I have realized that it will be most likely myself to blame when encountering a bug.

So I run into some really strange behaviour to which the solution is not obvious or the more obvious places to look into have found to be alright. The situation then kind of reminds me of a typical Hollywood movie: I know that the bad guy will end up in a pit of molten lava, I know who's the hacker whiz kid and who's the hysterical woman, but I can still go through two hours of movie to find out how exactly the bad guy is going to fall into molten stone. So there I am, with a problem and the most likely answer (I'm stupid), trying to find out how stupid I was exactly this time - typo, bad design pattern, failure to take that darn Daylight Saving Time into account once again.

Had an interesting situation with a colleague yesterday - by the time I came into office, they had been hunting a bug where they could not access a table that was supposed to be there - they had already ruled out typo, and I ruled out "access denied", but in the end I found it to be that they had copied a month old configuration file that pointed to a wrong server, which by chance, or should I say "bad luck" had a month old copy of the database running as well.

However, in due time, I at least found some glitches in PHP. I remember that especially PHP 5.2 with PDO was terribly unstable at first, ending up in "whitescreens" often - a completely, really completely blank page, which is caused when PHP itself dies with a "Segmentation fault" and is therefore no more capable to chew out some parsing error. To add an unusual insult to injury, PHP was only that unstable when running on Linux - a reason why I began to develop on Win32 as well.

PHP would then crash on compiler errors such as calling nonexistent methods or trying to call methods on non-objects; errors which are technically caused by me, but which are hard to find if the compiler just blanks out. And as I was not yet accustomed to the PDO/PDOStatement-cycle, I would often call methods of PDOStatement on the instance of PDO.

Anyhow, PDO is reasonable stable by now and its back to me again: I'm stupid and it's all exciting to find out how stupid I've been this time.


Please note: comments posted won't be visible immediately, as they will be checked for harmful content.

* Title  
* Nickname  
* Comment