About this site and myself


Here's a bit of information about this site and myself, so that you know what to expect and what not to expect.

First something about the site itself and the choices I've made. Then some notes about myself (including a portfolio), followed by a bit on the sponsor of this site and finally some Thank You's to the people who helped me making this site what it is today.

About this site

From the very beginning I have seen this site as a collection of useful tips and tricks about JavaScript, to be extended at my leisure. When all's said and done, this site is still a hobby of mine and I can't spend much more than, say, 10 hours per week on it. So I know that the site still doesn't contain any information about some subjects, but I'm not in a frightful hurry to do something about it. New pages will come when they come.

I keep a To Do List and I urge readers to mail me when they want a particular script added to the site. I can't promise speedy delivery but I will bump the script up on my list.


In the three years I've busied myself with JavaScript, I did develop a few principles of writing scripts, principles that I have applied to every script on this site. They are:

About myself

My name is Peter-Paul Koch. I was born in Amsterdam, the Netherlands, in 1970 and have lived there all my life.

Way back in 1988 my roommate introduced me to MUDding. We sneaked into the Psychology faculty of the University (then one of the few faculties boasting computers connected to the mysterious 'Internet'), typed in the magical fomula Telnet: 194.xxx.xxx.xxx and were instantly connected to the realm of Mizar, which, as I learned, was based on the incredible possibilities of the Unix operating system and the fantasy of its human inhabitants.

At the same time I was eagerly working on the Commodore 64 of this same roommate, learning Basic and even a little bit of 6502 machine language. I programmed a text-based adventure but when I was ready to add the interesting bits (mainly interaction with the other characters in the game) the huge 64K memory (65.536 bytes!) turned out to be full.

Later on my interest in computers dwindled a bit. I began to study seriously and eventually, in 1994, got my degree in Ancient History (Greeks and Romans). Sorting through political/military fractions in the 5th century Roman Empire (the days of the Wandering of the Nations, Attila the Hun and other colourful characters) turned out to be every bit as fascinating as 6502 machine language.

Afterwards I went into teacher training and today I still am a qualified teacher of history. However, no jobs were to be found. No problem, I got money from the welfare department and found a new research subject in the Thidrekssaga, a 13th century Old-Norse book that may contain accurate historical information about far earlier times, the 5th century I had already studied. Sorting through the contradictory theories and abstruse writings on Redactor B and Interpolator M kept me busy for another two years.

During this time I also worked for Gallery Carla Koch, my mother's gallery that specializes in glass and ceramics. As a result I'm quite knowledgeable about modern glass and ceramic art. I also learned to sell art and to write press releases in Dutch and English.

I got my first own computer with Internet access early in 1997, a Windows 3.1 machine with the finest browser of its day: Netscape 3. First I eagerly searched for information pertaining to my studies, but when I found out these sites weren't much updated I became less interested.


I wasn't quite content with my career, so I decided to switch. The Internet hype had started, Internet was supposed to radically change the world. When late in 1997 my mother showed me a newspaper ad that promised a course perfectly suited to enter this magical world, I eagerly subscribed. Even better, it turned out that the welfare department would continue to support me during this course.

The course was pretty bad. Although some individual teachers were excellent, the organization sucked. The very first day of the course the teacher didn't turn up because he hadn't been told he was supposed to be teaching. To make up for this failure of communication, the next day two teachers turned up and were quite surprised to see each other. You get the picture.

Later on it turned out that the organizing company was one of the many that abused European Union subsidies. Although they did try to help us to get a new job, and rightly got money for that, they also demanded money from the companies they placed us in, something which wasn't allowed. I once remarked on this to their 'outplacement manager' and he became very angry with me. Fun!

A disadvantage was that the course was given in Rotterdam, so I spent 2.5 hours a day commuting. Although to some this may seem little time, for Dutch circumstances it's quite a lot so I didn't always feel up to it. When I also decided that the best way I could spend my time was teaching myself the tricks of the trade, I attended less and less.

So I went my own way, ignored marketing and other boring subjects and taught myself HTML and JavaScript by creating websites with nonsense about intertextuality (whatever that may be, I quite liked the word) and with profound thoughts about my ancient Germanic studies.

I also discovered mailing lists. I became a member of two HWG mailing lists (still am) and eagerly fought in the great Validation Wars that rocked the web development community in 1998. Are sites required to validate according to the rules and regulations of W3C? My answer was no and I spent an inordinate amount of time on defending this idea.

But flames were more common than good arguments and I became bored with the subject. Then I was asked to become a member of the new WDF mailing list, founded by HWG members who were sick and tired of the bickering. I eagerly subscribed, inadvertently caused the only flame war in its history and today this is still my favourite mailing list.

Only when the final assignment came I spent some more time on my course. It was fun to do: create part of a community website with a solid marketing and sales perspective. I left the boring commercial bits to others and concentrated on making the site work in both browsers (Netscape 4 and Explorer 4).

Meanwhile I had found myself an internship and when the course had finally finished (ending with stupidity from the organizers when they inadvertently broke their contract with me) I started working.

All sites I made during the course are online as parts of my homepage:

  1. Groente en intertekstualiteit [in Dutch]. My very first site containing some nonsense texts about vegetables and intertextuality.
  2. The Nibelungen, the historical truth. Containing details about my research into the possible historical accuracy of the Thidrekssaga.
  3. Fresh City. My final assignment: a site for teenagers eventually meant to extoll the virtues of a chewing gum brand. The content is fake, the design is amateurish, but it does contain a three-level navigation that responds to page changes in the content frame. At the time I was very proud of it.
Inízio (1998)

When I started working, I was a bit disoriented by the lack of classical guidance. How did Plato view the WWW? What did Cicero think of its communications value? No answers were to be found, so I decided to search them for myself.

Fortunately during my stay at Inízio Design in Amsterdam I was able to do quite some research. My job was Client Side Programming: implementing web sites by writing the HTML, style sheets and JavaScript necessary for its functioning. I was tutored by Inízio's two client side programmers, learned quite a few tricks from them, but also taught some things to them.

I vividly remember that once I had the brilliant idea of putting MARGINWIDTH=0 MARGINHEIGHT=0 in the BODY tag of a page to eliminate the margin in Netscape 4. Maybe I'd read about this trick earlier, I can't remember, but anyway it dazzled the socks off my collegaues and was a good solution to a nasty problem.

When working on my very first assignment I surprised myself by writing a standard mouseover script that was a lot simpler than other scripts I found on the WWW. (This script is now the Old MouseOver script in the Archives.) It was nice, it was clean and it worked.

Spurred on by the discovery I could write easier scripts than many other people, I decided to set up a small JavaScript Section on my homepage where I could gather some simple, easily written scripts for myself and my colleagues.

That was the beginning of this site. I first announced it on 30 October 1998 to the WDF mailing list. On the whole the reactions were positive and in the years to follow I've had lots of support from the other WDF members.

The time I spent with Inízio was fun and since there wasn't a whole lot of work to do I had ample time for studying the obscure new techniques called Cascading Style Sheets and DHTML. When after six months the time came to say goodbye, I'd learned a whole lot of useful stuff and I was sorry to go.

All of the websites I made for Inízio have meanwhile been redesigned.

  1. JavaScript Section. I also started this JavaScript Section during my stay at Inízio.
NetlinQ - the early days (1999)

Anyta, a woman I knew from the course had done her intership at NetlinQ as a project manager. She introduced me to this company and I had two succesful conversations with the founders. I was hired as a Client Side Programmer and started on the first working day of 1999. This meant I finally earned my own money, and I was very proud of myself.

But I was also supposed to work. Anyta immediately put me to work on the largest project she had: the World Press Photo web site. I made this entire site in just under a month. It was the height of my programming for Version 3 browsers: it contained the incredible amount of 17 frames and lots and lots of JavaScripts that were supposed to make sure the correct pages loaded into the correct frames. Looking back it really was too bloody complicated, but back then I thought it normal and I was very taken with this site.

The site was to go online at the very moment the World Press Photo of the Year 1998 was announced. so I was quite stressed. A Perl programmer was supposed to be present for last-minute help in a little poll script, the technical director was supposed to be present for general support. As it turned out, both overslept horribly and entered the building only when I had just put the site online all by myself, something I'd never done before.

And it worked. I'd proven to myself, to NetlinQ and to the world at large that I was a client side programmer ready for the stresses and problems that are normal in web development.

None of the projects I did in 1999 were quite so spectacular as World Press Photo, but they were OK. I dabbled in Perl and wrote texts for a small lexicon of Internet terminology.

I also did some JavaScript research and published the results on this site. It was continuously being expanded and updated, though still not more than a collection of simple scripts.

At the end of my first year I had a long talk with my bosses in which I deplored the fact that client side programming was seen as a low-status simple job, while picking your way through the mazes of browser compatibility is anything but simple. It turned out that this coincided with an idea they'd had themselves: every technical 'discipline' should have its leader, someone who was technically very advanced and could also perform some administrative functions (mainly planning). They asked me to become Head of Client Side Programming, which I have been ever since.

The best part was that the function was as yet ill-defined so that I could do pretty much as I pleased. It was with this bright prospect that I entered my second year at NetlinQ.

Most of the sites I created in 1999 have gone offline or were redesigned by other agencies. The World Press Photo site was redesigned and recoded by Netlinq Framfab, as will be related later on.

  1. Friesland Bank Securities [mainly in Dutch]. A site for a bank. Includes some simple Perl maintenance scripts for up-to-date fund information and uploading company reports.
NetlinQ - the heydays (2000)

2000 was the heyday of Internet business, as you know. We were very busy, expanded NetlinQ to eventually include 4 branches with 200 employees, three in Amsterdam and one in Rotterdam. At the very apogee I headed 22 client side programmers. I was increasingly distracted by administrative work and research, so I created less and less actual web sites. The only two sites I made were those of NetEvents and my mother's gallery. I also assisted in putting the new World Press Photo's online, but that was a minor job.

Writing has always been a hobby of mine and I decided to port it to the Web. I approached Jeffrey Zeldman of A List Apart with an idea for an article about the practical implementation of CSS, a technique I've become a passionate defender of. It was speedily accepted and published. Later in the year I also wrote an article about XHTML.

Then NetlinQ, with full support of the founders/directors, was taken over by Swedish Framfab. The idea was to connect NetlinQ to a wordwide network of Internet companies. I wasn't very happy with it, but such is life.

Only a few days after the takeover most of the company flew to Swedish Malmö where a general meeting of all Framfab employees was taking place. It was fun, especially since one of our project managers managed to jump out of the window of his hotel room and somehow fall through the window of the ground floor room below it. I still wonder what the Swedes thought of us.

Later in the year I taught client side programming in a course organized by NetPeople, one of the many NetlinQ spin-offs. My experience with web development courses served to make it a moderate success, at any rate we weren't plagued by the lack of organization I'd witnessed earlier.

But reality interfered. At the beginning of the course everyone was quite certain that the pupils would quickly find a job in the ever expanded web industry. Not so. All of a sudden, companies were reluctant to put money into sites of questionable use and profit. The whole web world noticed this, no need to elaborate, it meant that the heydays were over and that my pupils were slower to find a job than everyone had expected.

The course had cost me far more energy than I'd expected and the bleak prospects of the web development industry weren't comforting either. So I retreated into pure research, deciding to find out all I could find about the W3C DOM. This resulted in the W3C DOM Compatibility Table, the most popular resource on this site.

Rather to my surprise it turned out to be the best resource on the Internet for this subject and I was soon overwhelmed with mails from developers requesting information about obscure techniques and methods. Usually I didn't know, I'd only tested isolated methods and properties in the various browsers.

So I founded the WDF-DOM mailing list entirely devoted to this tricky subject. It has proved to be a success, many developers from over the world are members of this list and new facts and workarounds are constantly being found.
Table and list also had some interesting spin-offs for myself, as I'll relate later on.

So for me the year 2000 ended on a cautiously positive note.

Web sites

  1. NetEvents. [In Dutch] Site of our event organizing spin-off NetEvents. Scant days before writing this page (10/01) I heard they were declared insolvent and the company is disbanding. I don't know how long the site will remain online.
    I am very proud of it because it relies heavily on CSS and uses only seven images.
  2. Gallery Carla Koch [Dutch and English]. The web site of my mother's gallery. I also taught her to update it herself (without wysiwygs, of course).
    It has often been favourably commented on by visitors, it clearly is better than the average gallery site.

For my writings during this time, see the Publications page.

Netlinq Framfab - decline (2001)

2001 began very well with the redesign of the World Press Photo site. I was taking a very active role in this, being the only old hand of the previous WPPh site in the team. We decided to experimentally use the Java-based MMBase content management system. Bridging the gap between creation and 'hard' code, I took part in both the interaction and the data modeling for the site, besides writing my usual client side code.

The task was hard but very rewarding. I clearly saw that this site was far better designed than its predecessor and easier to navigate, too. Of course there ware some snags, especially the server the site was to run on was difficult to get, despite promises of WPPh sponsors.

Of course the site was to go online at the same time the World Press Photo of the Year 2000 was being announced. The day before, the designer, the server side programmer, the WPPh head of communications and I worked a heroic 17 hours to get everything in shape for the next day.
Thinking it safe to leave everything in the hands of our server side programmer, on the day itself I joined the project manager and the designer for the official announcement. (Of course I already knew who the winner was, one of the nice extras of this project is knowing who won 18 hours in advance of the rest of the world).

When the ceremony was over we heard from the server side programmer that there was 'trouble'. We hurried back to office but could do little more than conclude that 'the server was slow'. Other programmers were hurrying to his aid and it was concluded that the database was misbehaving. When I saw five of our top programmers staring intently at one very short regular expression I took this for a good sign.

Meanwhile World Press Photo was getting understandably nervous, one photographer in Sarajevo was sitting behind a computer in the public library trying to contact the site to find out if he'd won a prize (he had), while we made one last desperate attempt to get the server to behave, using the regular expression to modify a key file. It worked, the database started behaving and the site was finally running. Fortunately the visitors thought the site was slow due to worldwide interest in the WPPh contest, so no one complained.

That evening, a Friday, I went home with the glowing, satisfactory feeling of a job well done. When I returned to office next Monday I heard that we were going to have to fire people.

The rest is easily told: although I myself survived two rounds of reorganizations, I felt less and less happy and secure within Netlinq Framfab. Fortunately I had some good projects that year, or I'd have quit sooner.

But my private projects were becoming more interesting. First Peter Kentie, writer of the most popular Dutch web design book, asked me to write the JavaScript chapters of his upcoming edition. Very shortly thereafter, David Flanagan, who'd seen my W3C DOM Compatibility Table, asked me to co-edit three chapters of the 4th edition of his JavaScript, the Definitive Guide.

Of course I eagerly agreed, so that my writing was in an upsurge.

Web sites

  1. World Press Photo, Version 3.0 . I consider it the best site I ever made.
  2. CSS2 Tests site.
  3. Gemeentelijk Pedologisch Instituut Amsterdam. I made the templates for the website of the Pedological Institute of Amsterdam. (What is pedology? I'm not sure, but it has to do with children having severe learning and concentration problems).
    This site as a whole is also the template for a huge whacking lot of Amsterdam community sites we're making. Eventually a site with content management system is supposed to be generated by the client pushing one button.
    The content management system is the Java-based MMBase, which we first used in the World Press Photo site.
  4. Advies Overheid.nl. Made the templates for this one in total disharmony with the design agency that can design nicely but doesn't (yet) understand the WWW. Site is for advising webmasters and other IT related personnel of Dutch state entities (provinces, ministries etc.).
    This is the first site in which I deliberately shielded Netscape 4 from parts of the design (mainly the borders) to prevent crashing. So this site is decidedly less nice in Netscape 4 than in a more modern browser.
  5. Arisz et al. Site of a good friend of mine who has recently become a wine merchant. Especially the huge table with all his wines needs some more attention.
  6. Framfab. Our newest corporate site. Includes a tiny bit of Perl.
  7. VPRO Homepage. I helped coding the homepage of the VPRO, a Dutch broadcast corporation. They didn't keep a lot of my code, but you'll see some of my scripts on the page.

For my writings during this time, see the Publications page.

Searching for work (2002)

In the beginning of 2002 I decided to quit Netlinq Framfab. I had the feeling my time with this company was just running out, the work wasn't quite so interesting as before, anyway, you know the feeling. I followed another ex-Netlinqer to become CTO of Valkieser Web Solutions, a small business unit of a far larger company. I started there in March, but quit in September. It didn't quite work out the way I wanted.

Currently I'm a freelance web developer serving only the Dutch market. I may extend into the international market, but at the moment I have no specific plans. (Lees verder over wat ik voor u kan doen)

I'm also slowly turning into a professional writer in both Dutch and English. See the Publications page for a complete overview of my writing.

About the sponsor

In practice, NetlinQ Framfab has been the sponsor of this site for a long time. Long ago I asked if it was OK to publish the results of my research done for NetlinQ and my bosses graciously agreed. Since then I've done part of my research while at work (though I usually write the pages at home). Of course, NetlinQ also benefited from it because through this site there are a lot of standard scripts available for all employees.

Nonetheless, this was one of the things I liked most about NetlinQ. Not only were employees supposed to spend 20% of their time on research, the results of this research were not jealously guarded from the outside world, but instead published for free, in the spirit of the Olden Days of the Internet.

Since I quit Netlinq Framfab I haven't yet found another sponsor for this site, but I don't particularly need one either.

About the people

Lots of people have helped me with this or that aspect of JavaScript, but I'd like to thank a few especially: