The history of rakis.iaf.nl

When you start playing with computers, an unfinished system is best.

Internet using a 2400 Baud Modem

In the beginning of the nineties, I was totally hooked on Minix-ST. I had an Atari ST with a full Megabyte of memory, and the luxury of a 20MB harddisk. Together with a friend, we set it up for email using UUCP and hooked up. This friend had an amazing model called a "TrailBlazer", which allowed him to exchange email and Usenet News at the amazing speed of 9600 BPS. Also, he had a friend in the US with a Unix system on the Internet, and that friend allowed him to dial in for UUCP file exchange. All that remained was a domain name registration, and the "Minix Users Group Network", or MugNet, was born. With my own system and a 2400 Baud modem I dialled into my friend's box, and I had live email!

Usenet Era Mail and News

Maybe I should explain a little about this, as Usenet Mail and News was a wholly different beast from what most of the world has now. Maybe I should better start by explaining UUCP first.

Unix-to-Unix CoPy

When people started to connect computers to each other, this was initially not by a network connection, but by a terminal connection. That means the connection gave one system the ability to connect as if it was a keyboard-plus-display type text terminal. When such a connection is opened, the "host" will send a welcoming message, and ask for a login name and password. When that is done, the user's "shell" will be started, which normally allows the user to type in commando's.

The shell for a user could basically be any program, as long as it accepts textual input, and returns textual output. The spark of genius was to use a dedicated program, which allows you to send over files, in effect copying the file from one computer to another. Now replace the person making the connection with a program also, and you can automatically make the connection, copy the file, and break the connection. Next you prepare a fixed location on your system for "files to go out", broken up into sets of files, each set having files to describe what system to connect to, what to do with the file once arrived, and the actual file(s) to transfer. On the other side, the program receiving the files will again put them in a fixed location for incoming files, and make sure another program is started to process everything there.

Banging Email

Ok, so we have an email program, and it asks you who that email is for. Now the simplest thing you can do is just type a name, and that name stands for a local user. But what if the email is for a user on another computer? Simple; type the name of the computer, add an exclamation mark, and then the name of the user on that computer. Given the way you hold the shift and firmly hit the "1" key to get an exclamation mark, this caused people to refer to it as a "bang". Simple: system name, "bang", user name. The email program collects the email's text, adressee information, and hands it off to a "remote mailer", as the email is not local. The remote mailer knows about bang-paths, and picks up the name in front of the exclamation mark. Find the "queue" for that system, and create the files necessary to copy the email.

So what do you do when you don't have a direct connection to the adressee's system? Well, you can add more "bangs" of course. First go to my neighbor, then to another system, and yet a third, then a fourth, and finally we have arrived; "system1!system2!system3!system4!user". You can just feel the keyboard being "banged" for each step. Each system along the way strips off one name, and adds a piece of trail to the email header to show where it went past. Unless of course it doesn't know the indicated neighbour or local user; then the trail in the email is used to retrace the steps back to the sender, and deliver an error message.

Modern Adresses

As you would soon realize after starting to use bang-paths, it quickly become a problem to keep track of all those system names. If I want to send email to a computer 10 hops away, I need to remember all those names and type a horrendously long address. The first solution was the UUCP mapping project, which collected system names, in the hope that most would be unique. These maps would then be processed by a program on your own system, building in effect a database of names and bang-paths. If I say "system4!user", my new smart mailer will look in the database, and automatically replace it with "system1!system2!system3!system4!user". Easy! But then the Arpanet introduced a hierarchical system, which has become our current domain hierarchy: My local system is on MugNet, so we start by using "mugnet.org". This domain is registered centrally, so major mail servers know where to go for this domain. Next I am in the Netherlands, so "nl.mugnet.org". Finally, I call my box "arrakis", so the complete name is "arrakis.nl.mugnet.org". Put the username in front with an "at" sign (@) in between, and we're done. UUCP software simply checks if we know where to go for the full domain. If so, send it there (could be local). If not, send it "up", and let them worry about it.

The Origin of Rakis

Somehwere during the days of UUCP, I updated to a newer and better version of the software, only to find out it had a rather basic bug: A system's name could be at most 7 characters, but the developer for the UUCP software forgot about the "terminating zero". All texts stored in C programs need an extra byte at the end of the text, which contains the value (not digit) zero, so text processing code knows where to stop. Due to this bug I could no longer use the "arrakis", my name of choice. This name comes from the Book "Dune" by Frank Herbert, and the series started with that book offered a reprieve: somewhere in the later parts of the series the planet Arrakis is renamed to "Rakis". Hence the new name.

Next is the rest of the domain: "iaf.nl". In the mid-nineties Internet connectivity was not very common in the Netherlands, unless you worked for a large high-tech company, or a university. Private persons were basically out of luck, because the largest ISP, NLnet, wished only to deal with companies. The solution was to set up small ISPs of course, but that was a costly affair. Getting your ISP's connectivity settled meant a leased line to Amsterdam, and lots of money going to the single Dutch Telecom provider, then a semi state-run entity called PTT. Living in the north of the Netherlands, as I did, that meant a stiff fee of 500 Guilders or more (slightly less than 250 Euros) each month, and that I didn't have. With a group of friends we started a not-for-profit Foundation, and called it the "Inter-Access Foundation", because we wanted the provide Internet Access, only to find out that name (Inter Access) was already taken. The notary public who helped us get the paperwork done gave us a free name change, and so we became the "Internet Access Foundation", IAF for short.

IAF set up shop in a small back-room of a friendly temporary employment agency, which donated room, electricity, and a postal address. Initially we continued with providing UUCP access, but now using a UUCP dialup to Amsterdam, which saved costs considerably. All our "customers" (it was still an informal bunch) agreed to pay on cost-divided-by-usage principle, and things ran pretty smooth for a while.

The First Direct Line

At this time I was a PHD student at the University of Groningen, and a friendly system administrator dropped an interesting idea: Why don't you ask the Dutch railway if they have some spare connectivity? They have a straight line to Amsterdam from Groningen, on their own ground, and there's lots of cable on that piece of land. I liked the idea and discussed it with my friends. As a result, our boldest board member went off for a talk, and to his big surprise got an offer for a free 2 MegaBit connection using fiber. Think about that: We were using dial-up connections of less that 1 KiloBit, and here we could get a link allowing us to go fullly connected! For Free! It helped that we were a not-for-profit organization of course, and the railway company hadn't really decided what to do with computer networks. They were still just setting up, and had lots of capacity to spare. We just needed to wait a few months for the line to be finished.

So what do you do as impatient youthful enthausiast? You ask if they have something to bridge the waiting period. Sure, was the reply, lots of unused copper wires, but no hardware to support it. If we had an idea, go ahead. Hmmm... We discussed this with NLnet, since it became time to involve them, if only because we needed a different kind of link. "No problem," was the reply, "we have a cupboard full of unused broadband modems. Sure, they'll work for just a few kilometers, but we've got a stack of them, so how about putting them back-to-back every few kilometers?" Amazing what a bit of fresh thinking and just plain guts can achieve, right? NLnet's director (small organization) loaded his car, got keys from the railway company, and drove along the line. Presto, 144Kbit live Internet. Add in a Intel based Unix server sponsored by Unisys, and we were ready!

Then we received the first bill for our connection to NLnet's new Point-of-Presence in Groningen city. Wait a second... NLnet's PoP? Yep, their site was shouting to the world -and especially to those poor, low-cost Internet deprived inhabitants of the North-East Netherlands- about the new NLnet backbone. Oooh boy, were we green, or what?

The Rakis Domain

Now at this moment I was still using UUCP to dial in. Unlike the US, local dial-in was not cheap, SPAM not yet a problem, so just having email and news transferred in batch was quite affordable. We now definately were using the Internet  Domain Name System, so I became "rakis.iaf.nl". Only since the last 5 years have I upgraded to an ADSL connection, and slowly "normalized" my domain. I'm still using the subdomain, and have DNS records for my server.