November 26, 2003

Dutch Integration Quiz

I had a lightbulb moment whilst on the can tonight, and decided that the expat community in the Netherlands needed some way of determining just how well they have blended into Dutch society. So I came up with this:

The Dutch Integration Quiz

Posted by Ben at 12:43 AM | Comments (0)

November 22, 2003

Speedy ADSL

In the last couple of years ADSL in the Netherlands has shown a remarkable improvement. What used to give major headaches has become a standard, fast and reliable internet access service.

Two years ago I had my first ADSL line installed. Whilst it was fairly good back then, it had some pretty frustrating difficulties. The delivery time was around six weeks, and bandwidth was fairly restrictive. And considering that it's essentially just a patch in an exchange, I wondered what was happening during those six weeks. Finally the line was working, and things were very nice. I had 512k of downstream bandwidth and 128k upstream. Not as fast as cable, but there weren't any contention issues. The most annoying thing was the limited upstream - I have my own servers running at the end of this line, and 128k made things pretty slow at times. Eventually I moved house, and due to various reasons did not get ADSL installed...

..until now that is. It turns out that nowadays, ADSL is considerably faster than cable for upstream, and downstream speeds have been bumped up considerably. The downstream is 1024k, and the upstream is 320k, and this is what has made me go for it. I'd like to be able to stream some of my mp3s from home to work, but the previous 128k upstream didn't allow that. But now, the fast upstream allows me to do just that.

So I finally got around to ordering ADSL on Wednesday afternoon, thinking it'd be a few weeks before i got it running. But - to my great surprise, I came home today and my ADSL modem was connected! That's two days from order to operational! I was so impressed - ADSL sure has come along way in two years. Much more bandwidth and much faster implementation. And not to mention the fact that I have a "professional involvement" with the DSL provider. Now I just have to wait for my free iMode phone that came with the subscription...

Oh yeah - I should also think about cancelling my cable!

Posted by Ben at 12:17 AM | Comments (0)

November 21, 2003

The domain that got away

Over the past few weeks I have had my eye on the domain It would be very handy to have for the family. It was due to expire towards the end of this month, and I wanted to grab it when it did. Unfortunately it has been renewed, much to my disappointment. And someone wants $500 for - fat chace I'll pay that. Oh well, no family domain just yet then.

Posted by Ben at 12:00 AM | Comments (0)

November 19, 2003

Complete Futurama

After a lot of searching and hunting, I have finally completed my collection of Futurama episodes - all 72! And because I'm feeling charitable, I've bought the complete Season 2 DVD set. The commentary alone certainly is worth it.

Futurama is a creation of Matt Groening, and is styled in many ways around his most famous creation, The Simpsons. It is set in the year 3000 and tells of the life of Fry, a guy who is cryogenically frozen in 1999. He hooks up with his great-great-great-(30 times)-nephew, Professor J Farnsworth and works as an intergalactic delivery boy.

His life revolves around the Planet Express company, and those he works with, getting up to too much mischief. He's also in love with a one-eyed alien - Leela - but his romantic attempts fail miserably every time. Other characters include a billionaire Chinese/Martian intern, a lobster, a Jamaican limbo champion, and a manic smoking, drinking, robo-porn loving robot, Bender.

The show was sadly cancelled after five seasons, but became one of the funniest cartoons of recent times. The humour is very similar to that of the Simpsons, but goes up a notch and dares to go a litle further - Bender's favourite line is "Bite my shiny, metal ass!". Barely a scene goes by without some reference to pop culture, no matter how obscure, and the futuristic versions and impressions on current 21st century life are hilarious.

It's sad that it's no longer made, but with a copy of every episode, I've got it all in reach. Long live Futurama!

Posted by Ben at 07:23 PM | Comments (1)

November 17, 2003

Internet fads from way back

An article on Kuro5hin talks about some of the great Internet-related fads of the past. As the years go by, big things appear for a while, then just as most people are starting to discover them, they vanish into the backup archives, rarely being seen again.

  • Flash mobs - very fast and faded quickly. By the time I got around to being curious, they had all but stopped.
  • VoIP is not a fad, but a reality. It's here and a lot of people use it. I chat to dad regularly with it and it works very well. Those who say it's a dead fad obviously never actually needed it or experienced it. But plenty still do, and it's growing.
  • Thin clients are a niche market, but still have great promise for specialised applications where a complete PC is not required. They arent too popular today, but still have a lot of promise.
  • Digital Personae - yes very cheezy and annoying. I avoided those, opting instead for email.
  • WAP is very difficult to use, definitely not the thing that it was made out to be, especially with the introduction of 3G phones. But it did make for a bridging technology.
  • Digital acronyms, achieving nothing except fill space in otherwise empty presentations.
  • Online shopping is there, and still a major revenue generator. But everyday household shopping is the last thing anyone wants to buy online. It just takes too long to get your stuff.
  • Aaah...I remember when the boss at Zip first downloaded Pointcast, and all the hype surrounding it. But I never really saw the point.

And of course, who can forget the disastrous web site cliches people have come up with?

Posted by Ben at 08:41 PM | Comments (0)

November 13, 2003


Over the last few months, I've become a bit of a bookworm. I've never really appreciated time to sit down and bury my nose into a good novel. I'm glad I have finally done so now. I usually get through a book every couple of weeks, and often read on my daily work commute. Below is the constantly updating list of books I've gotten around to reading or at least buying. Title links go to the Amazon listing.


This list will be updated as I get more books read. Hopefully it will be a complete log of all books I've read. Just need a review of each now - but a rating will do to start.

Posted by Ben at 12:41 AM | Comments (0)

November 12, 2003

Clean email - Part 2

In my previous article, I described how I go about filtering list messages to improve how my email and mailing list subscriptions are handled. I focussed on Procmail and a couple of simple recipes to clean things up a bit.

In this second episode, I will go on to describe my Mutt configuration, and how I have made it as smooth as possible an email client.

By default, mutt is very careful in its operation. It asks many questions when you try to do things, so a new user won't end up embarassing him/herself and pissing off other people. Each reply has the recipients verified, deleted messages are verified with questions, and most non-read operations are verified. Other features are turned on with the intention of minimising confusion for the new user.

However, I've been using Mutt for about 5 years now, and I can use it with full confudence and speed, without fear of doing something wrong. Thus I don't want anything slowing me down, but want to make the client as fast and pleasant for me as possible. So I took my hodge-podge of configuration snippets and random broken-ness and fine tuned it for myself. I hope that some of these tips will help other seasoned users to get the most out of the client.

You might wish to take a look at my .muttrc file and a screenshot to understand what I'm on about.


I like to navigate around quickly and with minimal keyboard traversal, so I added a couple of keybindings to facilitate this as well as a couple of other things:

bind index <pagedown> next-page bind index <pageup> previous-page bind pager <left> exit bind pager <delete> delete-message bind pager <pagedown> next-page macro index S "\ryd" # bounce message to spam learner

Most of these bindings allow me to browse email with one hand near the arrow keys, and the other on my coffee. The final one was mentioned briefly in my first article, and bounces the current message to the bayesian classifier, then deletes it. Using a normal pipe to sa-learn waits on the process, which can take up to a minute to perform. This one returns immediately.


Various formatting rules are setup to tidy things up a bit. I have eliminated a few parts of the display, electing to only see the bits that I need, letting me see them a lot faster.

# 185 + 27 Oct Ben Buxton (568K) FW: Veiligheid op het werk ... set index_format=" %3C %Z %{%e %b} %-13.13F (%4c) %-40.40s" # - - 182/196: Stansted Express Order Confirmation -- (93%) set pager_format="-%Z- %C/%m: %-20.20n %s" # --- /var/spool/mail/bb [196 messages, 7.2M] (date-received) set status_format="-%r- %f [%m messages,%?n?%n new,?%?d?%d del,?%?F? Flag:%F?% ?t? Tagged:%t?%?p? Post:%p? %l] %> (%s) "

By default, displaying a messages uses the entire screen for it. But by setting the pager_index_lines variable to something like 7, the first few (7) lines of the pager screen shows a small section of the message index. This makes thread navigation a lot simpler, as can be seen in the screenshot.

Colour is an important part of the setup, as it helps in distinguishing different parts of the display more easily. I have chosen for high contrast, yet non-disturbing colours for the display, to maximise visibility, but avoid eyestrain. For some semblance of aesthetics, I've used default for most backgrounds, to show my Eterm background image in most parts. My dark Eterm backgrounds prevent annoying colour contrast problems. I have also set a different colour on each level of quoting, enabling me to easily traverse replies in a message.

I also use colours for each message. In my main inbox, my email is coloured white for normal mail, cyan for new mail, and grey for list mail. This makes it easy to see at a glance what there is. For other mailboxes, I use white for read messages and cyan for new messages.

For a cleaner message display, I have set Mutt to only display a few lines of header for each message.

ignore * unignore from: date subject to cc hdr_order Date: To: CC: From: Subject:

Everything else is ignored. If I want to see the other headers, I can press 'h' to view them. Otherwise they take up valuable screen real estate, and the beginning of the body is often on a different line for each message, causing too much eye movement.


I make use of folder-hooks also. For my primary inbox, I have it set to sort by date-received. This puts the newest emails at the bottom, where I can see them all grouped together. List folders, on the other hand, are configured to display in threaded mode, given the nature of them.

Some of my miscellaneous settings speed things up, primarily by eliminating most of the confirmation questions. A few other little settings are described in my .muttrc.

With just these few small settings, I have made emailing a much more pleasant and slicker process, and highly recommend spending a few minutes ironing out your setup.

Posted by Ben at 10:02 PM | Comments (2)

November 11, 2003


The real English breakfast tea I bought in Tesco's is so much nicer than the stuff found in my local Albert Heijn. I'm in bliss tonight. Good English tea. Bad Dutch tea.

Time to find a local supply of the good English stuff. I'm now officially a coffee and tea snob.

Yes, I hate Dutch Douwe Egberts coffee as well. I don't know how people can swill the mud. Especially for the coffee machine at work. Yuk. I can't wait to try my Harrods coffees.

Posted by Ben at 11:38 PM | Comments (1)

Lovely London

Myself and Snow returned last night from a long weekend in good old London town. We'd origionally planned to go to see Lamb play amongst other things, but the concert was cancelled a day or so before hand. But not to worry, the rest of the trip made for a great weekend.

One thing that neither of us had been on yet was the Wheel. A great big ferris wheel, that gives an impressive view all over London, we got on just after dusk and I was quite amazed at how different the city looks from above. That night was spent getting some drinks with Pete and enjoying a good English kebab.

One thing about London, is that the air is pretty dirty. After a few hours of wandering around town, we'd go back to the hotel, and a towel wiped across the face would be visibly dirty! Yuk, not the cleanest air around! Holland is so much cleaner in comparison.

We paid our respects to Harrods, and I paid a king's ransom for a super smooth cashmere and angora scarf. I spotted the fresh coffee department and also grabbed some Kenyan Peaberry and Bourbon Brasil beans. I was also tempted by some Jamaican Blue Mountain coffee, but at 10 per 100g, I decided to pass! Snow splurge on some chocolates and a little wandering around further finished our Harrods pilgrimage. Not that I've ever really looked at Harrods before, but I figured it'd be nice to see once.

Saturday night saw us wandering along the Thames enjoying some fireworks, afterwards dining in the Zaika restaurant. This Indian restaurant boasts a Michelin star, meaning it's one of the top curry houses in England. The decor was gorgeous, the food divine and I think Snow is now an Indian curry fan! Unfortunately my map reading skills of an A-Z meant arriving late and having to wait a while for a free table. But it was worth it! I tucked into a Rogan Josh (made with lamb on-the-bone) and Snow had a gorgeous butter chicken.

Sunday saw a bit of essential grogery shopping at Tesco's (got my Tim Tams!), and a few drinks at a pub watching Man United beat Liverpool at the soccer. Snow was the loudest in the pub I think, which turned out to be somewhat risky as it turns out 90% of the people there were Liverpool fans. I suspected as much, given that it was the closest pub to Liverpool St Station. I enjoyed a Bass ale, followed by a Carling. Post-game, we eventually made our way to Stansted airport and across to Holland.

Naturally, I took plenty of pix.

Posted by Ben at 01:23 AM | Comments (2)

November 05, 2003

Movie day - Matrix revolutions

Today was a good day. After a fairly busy morning's work, I took a pre-arranged afternoon off work, and headed up to Amsterdam with Snow to see the final Matrix movie. A few days ago I booked tickets to see the opening session.

The movie itself was quite mixed. Various parts of the story were fairly difficult to understand and did not make sense, especially the ending - too many things were left open. However I was quite impressed by a few of the special effects:

  • The battle in the temple
  • The fight scene between Neo and Smith
  • In particular, a great shot of Smith taking a punch to the face - wow!
  • The machine city - very well done!

Like the second movie, things take a while to pick up, but the action picks up fairly quickly. It has a similar feel to the second movie - nothing can even come close to the original for it's epic feel - but this is of course due to it being made at the same time as the second. It's a complete continuation of the second movie, but seems to fall apart even more.

However, I am an eye candy person too. Overall it's a thoroughly enjoyable movie, more for it's battle and fight scenes. It could never have been the same masterpiece as the original, but has some nice effects worth looking out for. A shame the ending was a little confusing - it seems they ran out of time. But I'd still see it again.

Had some whisky after the movie and some Japanese food - what a great day. And we'll be off to London soon also! :)

Posted by Ben at 11:47 PM | Comments (0)

November 03, 2003

Clean email - Part 1

Like many geeks, I find email can be both a friend and a foe. Whilst it is usually an essential part of ones daily life, it can also be a right nightmare to manage and configure such that it's elegant, pleasant to use, and not a spam-infested bucket of crud. I have recently spent time attempting to clear up my setup, and have a personal email setup configured with a smooth and intuitive client.

In this article, I will describe what I have done to acheive this, beginning with email filtering.

My own personal email setup for my domain is running off my own server, and I have full control of everything, from the DNS servers down to the SMTP/POP servers and my email client. This is part of my philosophy of not relying on anyone else for my serving needs. It allows me to have maximum control over how traffic is handled, and means that any faults are handled by me rather than waiting on hold for someone else to get around to it.

My primary software is Sendmail, Procmail, SpamAssassin and Mutt. Sendmail is my mail transport agent, delivering and accepting mail from remote servers, procmail is my local delivery agent, also acting as a mail filter, SpamAssassin picks out the spam, and mutt is my email client. I will not describe how to install each of these packages, but will explain how I have some of them configured. Basic knowledge on the configuration of these packages is assumed.

Global procmailrc

My global procmailrc (/etc/procmailrc) is fairly simple, and it's main purpose is to run messages through SpamAssassin:

# /etc/procmailrc # Global procmailrc for all users DROPPRIVS=yes # Filter through spamassassin :0fw | spamc # Log timestamp of anything flagged as spam - for stats :0hc | /usr/local/bin/ $LOGNAME

The second recipe passes messages through a spam statistics script, which I can access online. I might describe it another time...

Duplicate mail

Occasionally due to either human error or something wrong in between, duplicate mail comes through to me. The following recipe at the top of my procmailrc detects these and discards any mail that has already been seen. It uses the message-id to detect dupes

# Weed out duplicate messages :0Wh: msgid.lock | formail -D 65536 .msgid.cache

List handling

I'm currently subscribed to numerous mailing lists, and need a way to easily manage all of the email from each, numbering a couple of hundred messages per day. To handle all of this, I have a .procmailrc set to scan for messages from these lists, and to put them into different folders. The normal list handling recipe looks something like this:

:0: * ^Sender: owner-nanog /home/bb/Mail/nanog

This says to deliver anything matching the 'Sender' line to be delivered to the given mailbox. This works for just about every mailing list, and one recipe for each list usually suffices.

However many lists prepend the subject of all messages with the listname in square brackets. This usually helps people identify mail from a list. The problem I find is that it takes up valuable space in the Subject portion of my Mutt message list. When vieweing messages in a folder, I dont need to be told in every messages that it's for a particular list. The following shows what I'd normally see:

10 19 Jul The Wanderer (1.1K) Re: [MPlayer-users] mga_vid.o + kernel 2 11 19 Jul gabucino@mpla (1.4K) Re: [MPlayer-users] mga_vid.o + kernel 2 12 20 Jul Bartek Jakubs (0.9K) Re: [MPlayer-users] mga_vid.o + kernel 2 13 28 Jul Timo Gerke (1.7K) [MPlayer-users] tv recording problem

The [MPlayer-users] part uses up most of my real estate. What I needed was a way to strip this part of each message for a list, prior to delivering to the folder for that list. I have achieved it with the following recipe:

# Weed out [Listname] prefixes from subject lines # # Subject: [SLUG] Procmail help please # becomes # Subject: Procmail help please :0 * ^Subject:.*\[[^ ]+\]\<+\/.* LSUBJECT = "$MATCH" LISTSUBJECT = "$LSUBJECT" } :0 * ^Sender: { :0hf | formail -I "Subject: $LISTSUBJECT" :0: /home/bb/Mail/slug-chat }

The first recipe extracts the interesting part of the Subject header, and the second recipe uses to rewrite this header. The message is then delivered to the mailbox, sans [ListName] chunk. It also preserves the 'Re: ' part of subjects. The first recipe is only needed once in the whole procmailrc, but the second recipe is needed once per list. I now have messages looking much cleaner:

15 N 3 Nov Samuel Kvasni (2.8K) Re: mplayer screen snapshots 16 N 3 Nov Etienne SANDR (0.7K) vsync not working 17 N 3 Nov Joonas Koivun (0.7K) Cut the subtitles 18 N 3 Nov D Richard Fel (0.6K) black and white DVD

Replies that I send back to the list will have the prefix added again by the list software, so other users will not see anything different.

I am also subscribed to some mailing lists that have sufficiently small volume or interest to warrant putting them into my main mailbox. But to help differentiate them, I want to have them coloured slightly differently than the rest of my mail. To do this, I have the following recipes:

# Common list managers get a header added in to assist mutt # Mailman * ^X-Mailman-Version { :0hf * ^List-Id: \/.* | formail -A "X-ListName: $MATCH" } # Yahoo :0 * ^X-Mailer: Yahoo { :0hf * ^Reply-To: \/.* | formail -A "X-ListName: $MATCH" } # Majordomo :0 * ^Errors-to:.*owner { :0hf * ^Sender: \/.* | formail -A "X-ListName: $MATCH" }

These recipes spot common list manager email headers, and to these messages it adds a header X-ListName. The content of this header isn't too important though. I then have my email client apply slightly different formatting to any email which is in my primary inbox, that has X-ListName in the header.

Spam handling

As part of my spam filtering, I have setup a special email address. Any email sent to this address is fed immediately into the bayesian classifier. I use this as a fast way to "fix" filters for any spam that gets past SpamAssassin. This rule is:

:0 * ^TO.* | sa-learn --spam --single

I have configured a keybinding in Mutt so that pressing "S" on a message causes it to be bounced immediately to

Finally, anything flagged by SpamAssassin is tossed into a junkmail folder. I plan on eventually massaging all of this spam for some interesting statistics:

# All spam to the junk mail folder for entertainment :0: * ^X-Spam-Level: \*\*\*\* /home/bb/Mail/junk

These simple procmail rules make a perfect partner with my Mutt setup and help to make email a much more pleasant part of daily schedule. My Mutt configuration is described in a later article.

Posted by Ben at 11:29 PM | Comments (0)

Thor's visit

Earlier this evening there was some pretty wild weather in this part of Holland. Coming home on the train, the skies were pretty clear and still fairly light over Amersfoort, but as the train approached Hilversum, an enormous black cloud loomed overhead. It was a strange sight, seeing light sky behind, but a black solid mass up ahead.

As we got closer, the rain fell hard. The entire carriage, normally silent to the sounds outside, was clattering with the rain. Outside was almost totally black except for a strip of light sky on the horizon. A storm was over Hilversum and I was getting excited. Closer to the station, a streak of lightning flashed over Hilversum and I knew it was going to be a cold and wet ride home. At the station, I watched outside as the rain bucketed down and the wind brought the rain under cover. Lightning flashed again and I zipped my jacket up tightly and prepared to get into the weather.

I came outside again after fetching the moped and would you believe, the rain had stopped! I zoomed home, the skies gradually clearing, and made it back home completely dry! Thor was in town, but Murphy was on holidays.

Posted by Ben at 10:41 PM | Comments (0)