You are hereDevelopment
Development
Articles related to programming and software development
RSS doesn't know a base-URL
Writing about the base tag and stupid search engines I completly forgot that RSS doesn't accept relative links - for a good reason of course. This caused at least Bloglines to get a little bit wild about my feed and I'm sorry for the inconveniences this may have caused.
Anyhow, I decided to get rid of the problem once and for all by turning relative links into absolute when writing the feed. This is how I did it:
When Visual Studio becomes slow...
.. and I mean really slow, so slow
- it does nothing for about a minute each time you insert a new line in on of your code files
- each time you open a code file it's time for a coffee break
- setting a break point leaves you enough time to roll a cigarette
Then it's time to shut down, delete all the *.opt and *.ncb files from all your project directories and bring Visual Studio up again.
But beware: Deleting the *.opt files means loss of all information regarding your options! This is:
- The active configuration
- Working directory and programm arguments you entered in the project settings "debug" tab.
Sending spam through contact forms
There's a wave of contact form spamming going around and it hit the Comic Marktplatz, too. The main purpose of this attack is to figure out websites providing forms that can be misused to send spam, effectivly turning them into open relays. This affects not only contact forms, but also blog comments.
You have been warned
If a compiler offers to talk to you, why not listen to it?
A Braindead Simple PHP Feed Writer Class
Creating a feed usually is a quite simple thing, since the structure of both RSS and Atom feeds is rather simple. However, simplicity covers its own traps - and the similarity of RSS and Atom often leads to duplicated code. I wrote a braindead simple PHP class to avoid this.
Safari first to pass ACID2 test
Safari is the first browser that passes the ACID2 browser compliance test. Respect!
Tutorial XHTML2 and XForms
Last event in my "Do as much in a couple of days as you would normally do in a year"-week: Together with Natalia and Catarina I attended Steven Pemberton's Tutorial on XHTML2 and XForms, organized by the German and Austrian section of W3C.
Pemberton is a brilliant speaker, easy to follow for both unexperienced and experienced users, and entertaining, too. He covered the basics of XHTML2 and explained why things were decided the way they were. The recommendation looks quite promising. However, of course, it will be of pratical relevance in about five to six years from now - if at least.
Firefox canceling problem solved
I'd like to thank Johannes Hölzl, who pointed out my stupid mistake regarding canceling form submission in Firefox:
The
ECMAScript binding for DOM Events says that the EventListener (which is the function "cancel") hasn't any returnvalue. But you get as parameter an Event object, where you can call "stopPropagation()" or "preventDefault()".
So I replaced this code:
function cancel()
{
return false;
}
with this:
function cancel(e)
{
if (e && e.preventDefault)
e.preventDefault(); // DOM style
return false; // IE style
}
and it works. I updated the test page accordingly.
Thanks a lot, Johannes!
Beware of Apache's Multiviews
Releasing a web project for the first time brings up something new every day. The lesson I learned yesterday was to never rely on Apache's Multiview feature, since it doesn't work with the most important browser on earth: Googlebot. As you may know, Google does deep indexing of new content onyl once a month, which happened to be yesterday. But imagine my horror, when I discovered each of my content pages delivering an 406 error to Googlebot. Oh me, oh my! What has happened here?
Mozilla 1.0 strikes back
Just releasing the online marketplace I did the last months in my spare time, I stumbled upon the float label bug from the Mozilla 1.0 branch. This bug kills all my labels - and there are quite a lot of them.

