You are here

Jonathan Hitchcock's blog

Spread firefox

Everybody else was doing it.

This is where I do my bit to spread Firefox (makes it sound like a sandwich filling or a venereal disease). Details on exactly why Firefox is the bestest browser out there can be found at the Firefox homepage. However, if you don't want to read all that, I think this excerpt from an IM conversation I had with my sister should convince you:

13:16  (13:07:52) Vhata: why didn't you like mozilla?
13:16  (13:08:05) Bex: It had a funny dinosaur icon
And then later:
17:05  (17:04:09) Bex: I downloaded Mozilla Firefox
17:05  (17:04:16) Bex: it's good hey
17:05  (17:04:31) Bex: and it doesnt have a funny dinosaur icon

Get Firefox!


Next year, I'm thinking that Stellenbosch is a good option for me. The town, not the university. It's a beautiful place, and it's smallish (I do well in small towns, it seems), but it's still right close to Cape Town. Ivan says he can find me jobs there easy-peasy, although a big problem is going to be my citizenship - I need a work permit or a South African passport.

Even if Stellenbosch doesn't pan out, Cape Town might be a good place. It's a haven for coders and developers (apparently) and they get paid well. And I know people there. And Claire, bless her cotton knickers, says she'll drive me round to interviews in December if I apply for jobs now. So that'd be good. Anyway, we shall see.

I have put my "resume" up on Career Junction but the site looks really crappy - they ask stupid questions that aren't relevant to me, and don't seem to be about what I want at all. Anyway, it's a start.

Making a good web site

I've been thinking about this a lot recently. A lot of people redesign their sites all the time. Nobody is satisfied. What makes a really good website, from a geek-design point of view?

I wrote a while back about skinning websites. I want to expand on that, and go deeper, and get a lot more prescriptive.

There are possibly three areas that I want to talk about:

  1. Skinning of a site
  2. Standards compliancy in creating web-pages
  3. "Correctness" of content

I have already discussed the skinning of a site, although my thoughts have now gone a little deeper. The various methods available all have repercussions on other aspects of a web-site, and these need to be addressed. I am beginning to tend ever so slightly towards Tristan's point of view that implementation details (even to the point of "is this page a directory or not") should not have any visible effect whatsoever (largely influenced, I think, by his use of Nevow, which stores pages as python functions mostly), but nowhere near that extreme. I'm not sure that pages should map one-to-one onto the filesystem, although there is definitely ease-of-maintenance potential in the filesystem that should not be discarded. I will write more on this later, when I have examined all the options.

Standards compliancy is something every geek knows about, but I am talking about 100% runs-to-the-core standards compliancy. I'm talking about using Unicode, and sticking to accessibility guidelines, and having meta-data, and correct CSS. But, more relevant to my "how to skin a site" topic, I want to make this standards-compliancy default in a web-site. With a few tweaks here and there, all the meta-data and so on will be put in automatically for every new page. Sure, you'll still need to know that an anchor-tag can't go inside another anchor-tag and so on, but a lot can be done for you.

The final point overlaps somewhat with the second one. A lot of it is covered in this checklist for web standards, but there's more to it even than that. An indication of what I am talking about can be gleaned from this rant on typesetting. I want quotation marks to be used correctly (even if it means using CSS "contentbefore" and "contentafter" properties to adjust the <q> tag), and so on. I haven't delved deep into this topic, but I'd like to look further. Russell knows a lot more on this topic (and most of the other issues I've mentioned in this page), but I'm going to do some reading and see.

I still need some sort of logical flow for this issue, some way to tie it all together. I'm hopefully going to start an outline soon, and then fill it in slowly as my thoughts come together.


I am back from SATNAC, my first conference, and it was interesting. It was fun, and it was revelatory.

The conference has been well written up by Ingrid, Darb, and Dom, who were blogging it as it happened for the most part. I am going to give a sort of overview and opinion here.

As far as the content of the conference goes, it can probably be summarised as follows:

"Old" PSTN (i.e. telephone) networks are on the way out. They will be replaced by the "Next Generation Network" (NGN) (remember that catchphrase, use it whereever you can), which will be an IP network, with MPLS (Multiprotocol Label Switching) running on top of it. This means an Internet network with lots of different protocols running on it. The old PSTN networks will, of course, not just disappear, they will be merged into the NGN slowly. We call this "convergence". The NGN will have lots of services available to its subscribers, using all the cool media like voice, data, video, and so on. Mobility will become rife, and it won't matter where you are or what device you are using, you will be able to access everything anyway. Wireless computing will be everywhere, and all the operators are going to move into this new era with their heads held high.

And that's pretty much it. That's what everybody was about. Sure, there were papers about fuel cells, and security, and so on, but nobody really cared about them. Jason's VoIP PBX paper was packed to the brim, people sitting on the floor - everybody left as soon as it finished, and a paper about "geospatial data" was scheduled. There were catchphrases and acronyms floating about everywhere. Most companies used the conference to say things like: "This is where technology is going. It's awesome. And, by the way, our product is perfect for where this, and you should buy it".

There was quite a bit of Open Source hype, which pleased us. Nothing new, but it was clear that people were beginning to get it. Some of the questions at the open source talks were irritating, because they showed that a lot of the fallacies surrounding open source (it's not commercially viable, etc) were still around, but in general, there was a clear indication that people understood that supporting open source is supporting South Africa.

Other highlights of the conference were the enormous big cheese super-suit CEO of Telkom telling our own Professor Clayton that Rhodes was a crappy third-rate institution (his exact words were, in a debate chaired by Prof Clayton, "I was pleased to see the quality of work, not only from the premium research institutions like Wits and UCT, but also from places like Kwazulu-Natal, Fort Hare and Rhodes"); my own wonderful gaffe in mentioning to another suit from Telkom that we'd been using VoIP (contrary to South African law) for a while; and the fairly attractive young female open source advocate from the CSIR being mobbed by a bunch of drooling geeks after her talk.

On the social side of the conference, I didn't do as much "networking" as Darb did - he really got into the "meet the players in the field" thing. I spoke to a few people, met some geeks from University of Pretoria, but that was it.

The food and the "social events" were fantastic. Even if the rest of the conference had been kak, as Lorenzo put it, "at least we got food for a week and came to Stellenbosch".

The first night had a big buffet meal in Mojo at Spier, with awesome food, from ostrich to mussels to calamari. Claire came down with Random-Friend-Thandi, and we went out for a drink. We got lost on the way there, and had to ask a policeman to drive us to Academia House (to drop Mamello off first). Then, on our way home, we got lost again. We drove around Stellenbosch for an hour and a half, heading out one way, and out another, and just could not find where we wanted to go. In the end, we stopped another police car to ask for help and it was the same bloody cop. He must have thought we were nuts. We told him that we were from Joburg, and he seemed understanding.

The second night was a meal paid for by the CoE that cost more than four month's rent, but was enjoyable. Certain members of the party got hideously drunk, but it was fun.

The third night was the big farewell party at the Stellenbosch Town Hall. It was "district six street party" themed, with all sorts of Malay food, and a lot of drunken aged nerds trying to be cool. They square-danced. We smuggled wine and brandy out, very surreptitiously and sneakily. The bouncer told us later that he didn't actually mind. Somewhat deflated us. Claire and the marvellous Adeline came down and joined us, and we went out for more drinks. I didn't really get to spend that much time with them, but it was fantastic to see them again. I may take Ads's advice and become a rent-boy in Cape Town, so I can see them more often.

So, we are back in Grahamstown. I left my souvenier mug in the bed-and-breakfast, but I managed to bring the pen and the bag back, so the conference wasn't a total waste.


This is where I agree that SCO are indeed litigous bastards.

Block lists for the mule

If you don't fancy huge corporations sneaking around your machine sniffing for stuff they can sue you for, you need to block them from doing it.

The RIAA and the MPAA and their little friends are scanning P2P networks for illegal versions of their copyright material. While this is all well and good, I'm sure they're entitled to protect what they own, but I don't fancy them sniffing around my computer. It's a bit of a violation of privacy, what?

P2P networks are not all about pirating music and suchlike. Recently, Windows XP Service Pack 2 was distributed with huge success over the BitTorrent network. However, in a great show of how much they care about their users Microsoft shut it down.

Herewith, the HOWTO for implementing blocklists for various mules and donkeys.

There is a fairly detailed, but slightly out of date, explanation on the EMule Project homepage on what to do, and Bluetack have a lot of resources, but it breaks down like so:

For Windows, method 1:

  1. Download and install the Bluetack Blocklist Manager. (You will need something that will open RAR files.)
  2. Configure it. Go to Options, and then to Sources, and choose the lists of sources that you want to use to block - the recommended ones have stars next to them. You will also need to tell it where to store the lists it creates. Go to App Locations, and fill in the boxes. If you're using EMule, you need to tell it to store it in ipfilter.dat in the directory where you installed EMule (probably C:\Program Files\EMule, innit). You can fiddle other stuff, if you like, according to these odd instructions (See under How To, Set up the BLM). This is not all that necessary, however. You can fiddle.
  3. Click on Check Sources. This should grab all your sources. I had some proxy problems, which sort of went away after a while. Sorry, can't help there. There's nowhere to define what proxy to use. I think it gets the values from Internet Explorer, so make sure that that is set up properly. Have a look through the Blocklist Manager FAQ if you have problems. One thing that is useful to know is, if the Blocklist Manager just hangs when you press Check Sources, then click on the Options button, click OK straight away, and then click on Check Sources again, and it should work.
  4. Clear the cache (Edit menu -> Clear Cache), and then click on Download Blacklists. This will download them all.
  5. Now you need to export the lists to your apps. Go to the Export menu, and find the app you want to export it to, and click on it. If you're using EMule, it's under P2P. Now load up EMule, and it should have the new blocklist. I did find that EMule didn't automatically load ipfilter.dat. To make sure, go to Preferences, then to the Security tab, and click on Reload in the "IP Filter" box.
  6. You're done.
Note: You can apparently use WinE to emulate the Blocklist Manager in Linux. Even if you can't, you can get somebody with a Windows Box to do it for you, export the list to some file, and copy the file to your Linux machine. XMule and AMule automatically read the ipfilter.dat files in your ~/.xMule or ~/.aMule directories.

For Windows/Linux, method 2:

  1. Go to the Bluetack Blacklist Converter.
  2. Select Peer Guardian plain text as your source format.
  3. Select the output format you want. You'll notice some rather nice ones like iptables bash script, but you probably just want eDonkey (eMule, cDonkey).
  4. Fiddle with any other options you feel like
  5. Go to the source lists, select the ones you want, or paste in your own, get them, download them, etc.
  6. Click on Convert
  7. Get the output from the Output tab, and place it in the ipfilter.dat file (or a bash script, or whatever you've done), and go for it, as above.

Important: You need to update these lists often. IP addresses change, baddies come and go. Blocklists that worked three months ago may not be sufficient any more. Keep up to date with your blocklists, as with everything else

A final note: Using the above method will stop the arrogant American corporations from sticking their noses into your machine, where they don't belong, but you should still be aware of what copyright is, what the law of the land is, and what the law of your service provider is.

Testing Meme Propagation In Blogspace: Add Your Blog!

This posting is a community experiment that tests how a meme, represented by this blog posting, spreads across blogspace, physical space and time. It will help to show how ideas travel across blogs in space and time and how blogs are connected. It may also help to show which blogs (and aggregation sites) are most influential in the propagation of memes. The dataset from this experiment will be public, and can be located via Google (or Technorati) by doing a search for the GUID for this meme (below).

The original posting for this experiment is located at: Minding the Planet (Permalink: --- results and commentary will appear there in the future.

Please join the test by adding your blog (see instructions, below) and inviting your friends to participate -- the more the better. The data from this test will be public and open; others may use it to visualize and study the connectedness of blogspace and the propagation of memes across blogs.

The GUID for this experiment is: as098398298250swg9e98929872525389t9987898tq98wteqtgaq62010920352598gawst (this GUID enables anyone to easily search Google or other search engines for all blogs that participate in this experiment, once they have indexed the sites that participate). Anyone is free to analyze the data of this experiment. Please publicize your analysis of the data, and/or any comments by adding comments onto the original post (see URL above). (Note: it would be interesting to see a geographic map or a temporal animation, as well as a social network map of the propagation of this meme.)


To add your blog to this experiment, copy this entire posting to your blog, and then answer the questions below, substituting your own information, below, where appropriate. Other than answering the questions below, please do not alter the information, layout or format of this post in order to preserve the integrity of the data in this experiment (this will make it easier for searchers and automated bots to find and analyze the results later).

REQUIRED FIELDS (Note: Replace the answers below with your own answers)

  1. I found this experiment at URL:
  2. I found it via "Newsreader Software" or "Browsing the Web" or "Searching the Web" or "An E-Mail Message": Newsreader Software (bloglines)
  3. I posted this experiment at URL:
  4. I posted this on date (day/month/year): 03/08/2004
  5. I posted this at time (24 hour time): 10:20
  6. My posting location is (city, state, country): Grahamstown, South Africa

OPTIONAL SURVEY FIELDS (Replace the answers below with your own answers):

  1. My blog is hosted by: the Rhodes University Computer Users Society (RUCUS)
  2. My age is: 24
  3. My gender is: Male
  4. My occupation is: Student, part-time web programmer
  5. I use the following RSS/Atom reader software: Bloglines
  6. I use the following software to post to my blog: Serendipity
  7. I have been blogging since (day, month, year): 01/07/2004
  8. My web browser is: Mozilla Firefox
  9. My operating system is: Gentoo Linux

The 419-eBay scam

Everybody else has mentioned this furore. Here's my take.

For the facts on what is going on, check out what Russell and Guy have said on the matter. They have both done excellent detective work and written it up very well.

For my part, what is most interesting about this is the part that we, as small-time bloggers and interested geeks, have had. Dominic has a similar take - the blogger is gaining credibility, and taking on a role that, while not the same as that of a journalist, has a similar position in society. Nobody else has done much in the way of investigations, or if they have, they haven't done anything with their results. Already, the blogosphere has started linking to Russell's writeup, and people are using it as the source for their discussions.

I'll be interested to see what happens.

(For more examples of bloggers gaining credibility, see this article in the New York Times about bloggers being given press passes to the Democratic Party's conference thingy.)

SATNAC Paper received

I got my confirmation-of-receipt from the SATNAC dude, today. In effect this means:

  1. email is a viable method of communication
  2. I can read basic instructions on a website that tell me how to submit a paper

No more, no less.

Now we wait to see whether it was actually accepted

SATNAC submitted

Corrections made, title re-thought out, paper submitted.

Very tired.

I shall collapse for an afternoon and then write up an idea I've had this evening.


Subscribe to RSS - Jonathan Hitchcock's blog