Trip to Berlin: Part One

Last Monday I began what turned out to be a 59-hour journey to Berlin in Germany for a holiday an adventure and to see my girlfriend, Stephanie. At around 4pm I got on the plane to Melbourne from Hobart Airport, and then after a considerable wait I got on the plane to London Heathrow at midnight. During the wait I started reading the first book of The Lord Of The Rings trilogy, as well as accidently buying a bottle of Pepsi Max (a serious oversight on the airport’s part is not selling Coca-Cola anywhere in the International terminal).

We landed in Heathrow Airport at terminal 4, and my flight to Berlin left from terminal 5. Transferring between the terminals involved an 18-minute bus ride. It has occured to me as I write this that the bus ride between my house and the middle of my city is around 18 minutes on a bad day. I think that worries me. At the other end of this bus ride, I arrived outside one of the biggest buildings I’ve ever seen: London Heathrow terminal 5. I walked inside, up two escalators, along a very long corridoor past a line of depressed looking people, and then into a room where I discovered why they all looked so depressed. Because of the snow falling in London over the last couple of days, a whole heap of flights had been cancelled, and so people were trying to organise other flights. Luckily for me I didn’t have to queue, I overheard a British Airways employee tell somebody to enter Britain, go up to the checkin hall, and book a flight there instead. Because my Australian passport allows me to enter Britain, I did that. At the same time I rang Stephanie (my girlfriend in Berlin) and let her know that I’d be delayed. Of course, she already knew about the snow and the cancelled flight before I was even in Europe.

Unfortunately quite a few people had already done that. I managed after an hour and a half of waiting to talk to another employee of British Airways who booked me in on a flight to Frankfurt the next day. I wasn’t really pleased, but I could tell that under the circumstances it was the best I was going to get. That of course raised the problem of where I was going to sleep that night. After already spending 30 hours in plane seats, another second of uncomfort wasn’t going to go down well. So I joined a queue outside the “British Hotels Reservation Centre” and they found me a hotel near the airport that didn’t cost a mint. BA were giving out £200 compensation for the cancelled flight to provide for accomodation, on provision of a receipt from a hotel. So I made my way to a Holiday Inn, and slept. I woke up the next morning at 5am, and not wanting to go back to sleep in fear of missing my flight (I had been told to check in at 8:30 for a 10:30 flight), I got up and went to the airport on the first bus back. I arrived at the airport at 7am, and already it was busy, mostly with business travellers and a large family “on their way to Cairo”, loudly. In search of something to do, I drew out £20 from an ATM (not remembeing the exchange rate), hoping it would be enough for breakfast. I then walked over to a Krispy Kreme donut shop, and bought a three donuts and cup of tea. It cost £5, so it seems I had quite overestimated the cost.

At 8:30 I checked in to my flight. I handed a baggage receipt to the guy when checking in, and he even managed to confirm my luggage was in London (somewhere) and that it would make it to Frankfurt (probably). During the trip through security I manage to lose my document wallet containing flight details for the trip from Frankfurt to Berlin I had booked the previous night. I didn’t notice until I was fully through security, but luckily an airport worker managed to retrieve it and put it through security to me. After that I found a duty free shop and spent the rest of my British currency on chocolate (about a kilo and a half of it). I’m still eating it now. And that was London. Before I left a contact of mine in England said to “Oh? Heathrow? You’re going to lose all your luggage.” They didn’t lose my luggage, but it’s definitely the most lost I’ve ever felt.

Arriving in Frankfurt was strange. Everything was written in German (to be expected) but about half the signs were written in English as well. I managed to make my way to the Immigration checkpoint, where I was through in under half a minute. I spent longer than that leaving the country in Australia. I arrived at the baggage carousel to find my luggage already spinning around, so I picked it up and proceeded to check in for my next flight. In the hotel in London the previous night when I booked the flight I wasn’t sure how long it would take to transfer from an International flight in a foreign country to a domestic flight, so I went with two hours. I was having panic attacks on the flight thinking it wouldn’t be long enough. It was. It took 20 minutes all up.

Landing in Berlin was the most relieving experience ever. The baggage felt like it took ages to come around, but it probably didn’t. At this stage I was just nervous. After collecting my baggage I went through a series of doors and gates and ended up in the arrivals lounge. I fell straight into the arms of Stephanie. Which was great, because from then on I didn’t have to worry about where I was going anymore. That was her job. Which was a good thing too, because finding our way out of the airport proved to be fun. First we went on a bus to the Hauptbahnhof (their central train station), which was completely insane because I was trying to get used to driving on the wrong side of the road (Stephanie keeps trying to correct me there and point out it IS the right side of the road).

The first thing I have to say about the Berlin train system is that it is COMPLETELY awesome. The second thing I have to say about it is that it is COMPLETELY confusing. I have total admiration for the people who manage it. We caught an S9 train to Stephanie’s house. Although it was dusk going on dark, I still saw some pretty cool sights, like the Berlin TV tower and statues and so on. At Stephanie’s house, I slept. Quite a lot.

The first thing we did the next morning, of course, was have breakfast. And wow, breakfast is cool here. They chocolate-coated muesli (possibly the nicest breakfast cereal ever), and scrambled eggs comes in jars you buy from the supermarket, like a toast spread. Stephanie drinks red tea (Hibiscus flowers or something like that), so that day we went to the supermarket and bought some Twinings tea. Proper stuff. Also that day we went to the Berlin Zoo. We saw quite a few animals, including the Kangaroos that Stephanie was interested in. She was upset because “they didn’t do any skipping”. So we went and ate some McDonalds instead.

I’ll have to leave it at that for this moment. There’s lots more to write about, so be sure that I will.

Some more rack gear

Over the Christmas/New Year period, I was simultaneously browsing eBay for junk and trying to come up with some more stuff to stick in my server rack, which I had just finished moving under my house (picture of it here). A very dangerous combination. After a small delay of contemplation into which model I should get, I ended up buying a Cisco 2610 router second hand. I hope to achieve a few things with this purchase:

  1. Firstly, I want to learn to configure Cisco routers properly, with the goal of some day in the distant future getting a CCNA qualification.
  2. Secondly, I needed to fill some more space in my rack.
  3. I wanted a modem/router near my server. At the moment my server is connected to the Internet via a wireless connection to a modem at the other end of the house.

I received the router in the mail yesterday, and I was a bit dissapointed. Unfortunately the front bezel had come off, which was a bit annoying. I can glue it back on though, and it’s only a cosmetic thing anyway. Far more important is that they hadn’t shipped it with rack ears, which is one of three reasons I bought it. I sent an email off, and a set of rack ears is on its way.

To make the router useful, you can add any number of different cards (such as for ISDN, ADSL, T1, and so on). Cisco calls these things WICs, for WAN Interface Card. I had to buy an ADSL one. It cost twice as much as the router did, because the ADSL WIC is still used in production, where the router is end-of-life. I also bought an external 56k dialup modem, so that I can set up a backup Internet service (which hopefully will autotomatically switch over) in case my ADSL line drops out (which it does once every three years, for about an hour).

At the moment I’m still waiting on a console cable to connect the router to my PC for the initial configuration. Once I’ve got that, I’ll get stuck into the configuration, and hopefully not blow anything up too badly…

The Red Door

I wrote this a couple of years ago, now. It was exam revision time and I had nothing else to do. Although short, it’s still one of the better pieces of descriptive writing I have done (or at least, I think so. My old English teacher would no doubt disagree). Critisism welcome.

I see the door. It’s just up ahead. Walking towards it, I can feel the heat slowly building on my forehead. The moment is near. As I reach for the door handle, my common sense finally kicks in and my hand pulls back, unsure of what to expect on the other side.

The door is red, of course. All doors with something scary behind them are red. It’s one of the few constants in this universe of ours. The paint is scratched around the edges, especially at floor level. Bare wood can be seen behind the paint, scratched away by dog claws, most likely. It’s a very dark wood, but that could just be age.

I knew I didn’t have to go through the door. I could just turn around and go back the way I came. But that wouldn’t be any use. I had to find out what was on the other side of this strange red door.

Dressed in my black satin PJs, I feel a bit like a Ninja, in the dead of night, creeping around the old house. It’s the fourth night I’ve been here, and the fourth night I’ve come down here to the red door. It could be the fourth night I turn around and go back to bed. But I’m not going to allow it to be so. I have to find out what is behind the red door.

I inherited the house from my now-dead father, who, along with my mother, lived here for the twenty-three years of their marriage. My mother died three years ago now, and my father just couldn’t handle life on his own. He didn’t go slowly insane or anything like that. He just got sad (a vast understatement) when he was here alone during most of the week. I came up and helped him whenever I could, but it simply wasn’t enough.

I moved in here four days ago. I was previously just renting a two-bedroom apartment in the city, using one as a studio for my painting work. I live alone. Now that I’ve moved here, I could have about five or six rooms just for painting, if I wanted. The walk-in wardrobe is larger than the bathroom in my old apartment. I’ve got the place fairly well set up now. I haven’t touched the brushes since I’ve moved in (which is rare for me, I usually can’t be kept away from them), instead I have been cleaning and repairing nearly every horizontal surface in the house, and quite a few of the vertical ones.

But there is still one room I haven’t ventured into. That would be the room behind the red door. I’m not sure what to expect behind there. It could be just another room. It could be the stairs to the basement, for all I know. But I have a feeling it is something much more insidious. Something far more interesting. The colour of the door tells me so.

I’ve pretty much decided now that I’m not going back to bed tonight until I have investigated what’s behind the red door. Like all the other nights, I’m not going to be able to get to sleep. I never asked either of my parents what was behind the door. There wouldn’t have been much point either. By the spider’s webs, it looks like the door hasn’t been opened for quite some time.

After standing staring at the door for several minutes, I slowly start forward again, my brow becoming sweaty again, reaching out for the door handle. Turning it, I hear a loud screech, obviously because the door hasn’t been opened for decades. After turning it open all the way, enduring the screeching and whining of the handle, I turn my shoulder to the door, expecting to have to give it a large shove to get open. Pushing gently with my right hand on the handle, I realise this isn’t going to be the case. It glides open freely.

Review: ASUS F3Sg Laptop

Around the end of the last financial year, I decided it would be a good idea to buy myself a laptop. So I did. I originally wanted a cheap Compaq one, simply because of it’s cheapness. But my local computer shop didn’t have any in stock. So I got an ASUS F3Sg instead. It costs about AUD $1300, and it’s pretty decent. Here’s why.

ASUS F3Sg Laptop

I’m not exactly a fan of the styling of recent ASUS laptops, and this one is no different. It’s very grey… and has holes and shapes that are perfectly designed for nothing, except getting biscuit crumbs in them. Out of the box it also comes covered in useless Intel, Nvidia and Microsoft stickers (some of which I still haven’t been able to remove). As far as bad points go though, that’s pretty much it.

To start off the list of good points, I’ll start with the screen. It’s a 15.4″ widescreen, with a resolution of 1440×900. That’s as good as the 19″ monitor sitting on my desk, and with the decreased viewing distance, it’s just as usable. I certainly wouldn’t like it any larger, as it would then be quite difficult to get into my laptop bag (and to carry around generally).

The internals also match up to my (still pretty new) desktop. 2 GiB of DDR2 memory, a Core 2 Duo processor running at 2.4GHz, and a 250GB hard drive are all very respectable. The NVidia 9300M graphics chip plays Counter Strike: Source well enough to be comparable to the 8800GT in my desktop. That said, CSS isn’t one of the latest games anymore. I fear that Call of Duty 4 would stress it a bit too much.

Multimedia is okay. The onboard speakers are utter rubbish, but then those that come with laptops generally are. The audio chip is decent, as sound quality improves immensely when a pair of Sennheiser headphones are plugged in. The laptop has an onboard microphone, but I haven’t used it. Any attempt to use it for Skype would likely result in the glorious sound of feedback.

The F3Sg also has a webcam built into the screen. Quality is fine, though when I used the driver that Windows Update found for me after a fresh install, the picture was upside down. The other nice feature this laptop has is a built-in digital TV Tuner. Apart from the fact that Sesame Street has gone downhill, I don’t have much to report on that… it’s fairly ordinary, and suffers from the same problems (bad reception, worse content) that all other TV tuners suffer from.

Battery life is around 2.5 hours on the most conservative setting. Compared to the 5 hours an old G4 iBook of mine used to do, this is pitiful. But the iBook had nowhere near as many goodies. The F3Sg also burns a hole in your pants if you actually use it as a laptop, so it’s best to use it on a table. At 2.95kg, it’s just in the region of being carryable without breaking your shoulder. The large screen (and large battery to compensate) would be the cause of this.

As with all out-of-the-box computers, the included software on all ASUS laptops is sub optimal. Offerings include Nero, Norton Internet Security, and other such horrors. One thing I can say is, though, the drivers are rock solid. In two months I’ve never had any bluescreens or crashes, which is a miracle for a Windows-based machine.

To sum up: As far as Windows-based laptops go, this one is really good. I certainly wouldn’t have it over a MacBook Pro, but then, no sane person would. It has enough power to do all the things I want, and still remains light and small enough to carry to and from work. The only real downside as far as usability is concerned is the battery life. 4 Stars.

My Operating System Design.

I’ve been getting back into developing my operating system lately, spurred on by the tutorials I’ve been failing to write (if anybody does want them, email or leave a comment, and I’ll try and get around to them faster). I’ve got to the stage (or at least, I think I have) where I need to make a few of the important design decisions. So in this post, I’m going to discuss them.

The operating system release I made back in January doesn’t really represent the current state of what I’ve done. Firstly, I’ve set up Bochs on my PC (and Qemu on my iBook at school), so that I can test my system without having to have extra hardware on hand. I’m currently in the middle of writing drivers for video and keyboard, so that you’ll be able to use the system without a serial cable and an extra PC. But that isn’t really the design of my operating system, more just what I’ve previously done.

Over the time I’ve been writing this OS, I’ve been led in two different major directions to take my operating system in. The first, and more standard, direction is to create a modular microkernel, stick a whole heap of drivers on top of it, add a GUI, and call it Windows (or not). The second direction, and the one I think I am finally leaning towards, is to create a distributed operating system. There have been a few of these in the past, the most famous being Plan9 (and yet 99.9% of computer nerds have still never heard of it).

A distributed operating system is basically one in which each computer acts as part of a larger system and shares resources with the other computers. Resources could be processing time (one computer’s threads might run on another computer), hard disk space, network time servers, or anything, really.

What’s great about this is, assuming the user’s home computer is connected to the network, a user can sit down at any computer on the network, log in, and have exactly the same interface and files as if they were at home. They could even start a process running, log off, let the other computers on the network process it, and log back in again to get the results. Of course, there becomes an issue if nobody leaves their computer idling to run other people’s tasks.

Not all computers are created equal. Some might be 32bit, some might be 64bit. Some might be a Celeron 366 running in my bedroom, some might be multiprocessor servers in a data centre. And assuming they can all run the same software is probably not a great idea. For that reason, I’m going to implement a scripting language, and all the processes are going to be interpreted by all the peers in the system. No native code, except for the kernel, will be running.

This scripting language is going to be something along the lines of Lisp. This is one of the reasons I’ve been trying (and failing) to write a Lisp interpreter. I’m choosing Lisp because if I can implement both code and data using the same object model, it will make it simpler to transfer code and data between peers, I’ll only have to code one transfer mechanism. I also happen to like the idea of Lisp a lot, despite not having created anything major in it.

I’m not going to be implementing support for a lot of old hardware. I’m not going to bother writing floppy drivers, serial port drivers, or other things like this. The console, the hard drive, and the network are the most important peripheral devices, and the ones I will be concentrating on most.

There are quite a few problems that will need to be ironed out. What happens to secure data? Where does the data go when a node goes offline? How can we check the security of a node? I think by implementing a few checks into the client software, it’s possible to solve most of these problems.

While I realise my dream is a long way off, I hope I can make a move towards such a system being a reality. While I’m away at Kakadu I hope to have a bit of time to think more closely about some of the protocols involved. Now, back to work for me!