What do you know, I still have a blog, despite not posting to it in a little under a year. Since the last post I moved to London, got a job, and became British.
Currently I am living with acehole and fred. fred lives in the living room, but it's OK as he moved in with an xbox, Rock Band, and a sizable amount of alcohols, many of which have already been consumed. He also brought the entire Next Generation with him. Energize!
In a week I am going to go to Ukraine to see the family.
Also I'm just starting the process of getting a new computer.
Now that I remember about this blog again, I plan to post to it more in the coming weeks. Yay.
Last weekend Dan (acehole), Caroline, and I went on a trip to the Portsmouth Historic Dockyard. Amongst other things we went on HMS Warrior, which I had not been on before. We also went up into that tall concrete tower thing they built recently.
Recently I have tried using Freenet, an anonymising encrypting p2p network.

Freenet is a network that has been in development for a number of years, but is still not very complete, despite having most of its core functionality implemented and working. In that respect the project is similar to Hurd. Freenet has one full-time paid developer working for the project, which means it is in constant development (and hence constant improvement?). Having not used real world anonymising p2p networks before this was a learning experience for me.
To get started with Freenet I needed to download the installer. The installer is a Java program that downloads the latest versions of various things that come with Freenet, decompresses everything into the place specified, and starts everything up. It requires Sun Java 1.5+ to work.
When configuring Freenet the default store size is set to 1GB. This is a very conservative value, since it pretty much defines how much you will be sharing with others or (when new data comes along old data gets discarded). Hard drive space is cheap, so setting the value higher, like 10GB or even 20GB is a good boost to the network. Of course, since the network is encrypted and anonymising you have no idea what is being shared in the 10GB or 20GB. However the algorithm used by Freenet means you will end up with the most commonly requested information, and over time your node will also specialise on content that is close to each other in the keyspace.
Another important configuration option is darknet vs. opennet. Darknet is the default setting, and it is the most secure setting. When configured to use darknet, the node will only connect to trusted peers, forming a F2F network. Opennet on the other hand is less secure, as it allows the node to connect to untrusted nodes, which can potentially surround you and hence work out what you transmit. Freenet also provides you with a third option: darknet where you go on IRC and ask people to be your friend. This is a great options since it combines the inconvenience of having no friends with inconvenience of not knowing the few friends you find. You also get the added disadvantage of revealing your IP address to the whole IRC channel, so now everyone who cares knows who you are and who your friends are. This is exactly what I did, and before long I had my 5 references, out of which 3 managed to connect.

Once connected to Freenet I could start browsing the Freesites. Freesites are very similar to normal websites, except they exist as resources on Freenet, and link to each other by resource addresses. Since all the data on Freenet is static, currently it is impossible to make dynamic pages, and so there are no search engines or any interactive sites, just static content. There is one "entry page", which indexes other pages, and by browsing it a person can explore the linked areas of Freenet. I suspect the majority of pages on Freenet are unlinked and are not reachable unless you know the resource address, which is a long random string, so hiding information on Freenet is very easy.
So, my first impression of Freenet was "web of 20 years ago". There is basic html on websites, it is slow, small, one page indexes all other pages, Usenet is still alive, it is completely cut off from the rest of the world, only used by geeks and social outcasts, and is generally a group of masochists trying to pass messages to each other making it as difficult for themselves as they can manage.
Content-wise there did not seem to be very much to browse on the indexed Freeweb. The index contained some religious sites, links to sites that claimed to contain pornography, both legal and morally dubious, guides to terrorism, and some Flogs (blogs on Freenet). It took me all of 15 minutes to browse through the entirety of Freeweb avoiding links to anything I did not have any intention of seeing. This is in part due to all pages predating version 1010 of Freenet not being accessible any more, due to weak encryption they use.
Next I decided to create my own Freesite. There is a tool for Freenet called jSite made just for that purpose. Uploading a site to Freenet turned out as easy as putting together a small html page, together with any images and CSS files it wanted to use, adding it to a jSite project, and clicking "Upload". Few seconds later it was up and accessible from Firefox. Considering how easy it is to put up websites I am surprised there are so few up there.

Another program that works with Freenet is Frost. Frost is a newsgroups-like program, with message boards and discussions on a range of topics. People can also post files to message boards, which can be searched and downloaded using a built-in download manager. I found the messages to propagate rather slowly, but that may be more to do with my slowish Internet connection.

The range of Frost boards in use reflects the wide user base of Freenet. There are boards for a wide range of dubious topics, from assassination boards to several boards that claim to specialise in discussion and distribution of illegal images of child abuse. Side by side there are boards for animal rights activists and boards claiming to contain animal pornography. Here you will also find your usual boards dealing with more traditional topics such as politics, movies, music, and computer cracking.

Unfortunately Freenet makes it very hard to prevent spam, and spammers use that to spam all the public message boards. Frost allows users to rate different identities, ignoring messages from "bad" identities, but that does not work, as spammers can just use a new identity for each message. Since it is impossible (or very hard) to track down the source of spam, or to tell the difference between spam and legit newbies, there is currently no good solution to the problem. The spam itself does not offer anything or advertise anything. It is simply an AI trying to waste time and annoy users away from Freenet. This problem will definitely need to be addressed before they make a 1.0 release.
Considering the algorithm used to transmit information the throughput is surprisingly good. Of course it does not come close to direct download networks, but then performance and ease of use are not design goals of the project. Some sort of event subscription mechanism would be beneficial on the network, as it would allow things like dynamic sites and live chat to be implemented.
Overall Freenet seems like a good tool if you want to transmit information anonymously and securely, not caring much about performance. Friends who know each other can form their own darknets, or if they want they can merely create their own keyed message boards, and keep their conversations secret and private. UDP NAT traversal seems to be working well too, and I have noticed next to no disruption to any other Internet activities; my ping time to google went up from 32ms to 45ms whilst running a node. As long as you are using Sun Java VM the node stays up very well, but it may be a good idea to adjust the size of memory available to the VM to 512MB.
It's been a while since my last post, and the last 24 hours have been eventful enough to justify a post.
Last night I went up to London to see Converge. It was very much a last minute thing, and I would not say their style is quite up my street, but seeing them live was still very enjoyable, and I even got out without any long term injuries. Kerrang gave their Brighton performance KKKKK, and showed a picture of the singer topless with the fans. Electric Ballroom had barriers (which they did apologise for, but nevertheless), so that was not really possible. Perhaps the Brighton people are more receptive ;-) . Towards the end I ended up closer to the speakers than I intended, which resulted in ringy ears.
This morning found me still in London, so I went to see the new Harry Potter movie, Order of the Phoenix. As far as Harry Potter movies go it did not disappoint. The biggest thing I found wrong with it was the age of the actors - they were supposed to be in their GCSE year, but appeared to be of university-going age. The length of the film is over 130min, but it felt slightly too short. As with the last film it seems the Order of the Phoenix assumes everyone watching has read the book, and so skips over much of the background story, concentrating on main events. Overall I give this film 7/10.
From the cinema I took Waterloo and City line to Waterloo, and wandered around the Millennium Bridge and St. Paul's area. I saw something that resembled synchronous scaffolding climbing: about ten people clinging onto some scaffolding, climbing around to form various patterns. Very random.
Finally I went to see some soapboxes, arranged in a maze, with lots of threads and comments on them. It looked as if someone took an on-line forum, tore it out of cyberspace, and placed it into a large room. It seems the aim was to encourage sensible discussion of interesting topics: there were many thought provoking questions dotted around the place. Most of the responses however did not rise above the average level you would expect from a web forum. One that is unmoderated.
Reading Fred's earlier post made me remember a bag acehole found warning potential users about the dangers of suffocation.
Writing about BBC article about a possible coke strike
This is a heads-up to all fellow coke users, you know who you are. Stocking up on coke is probably still a bit premature, but there is a slight chance that you will have to switch to Pepsi unless you do.
On the other side of the coin this may present itself as an opportunity
to try out other colas. I will not risk Tesco Value cola, but that
classic cola they sell at Costcutters is quite drinkable IME.
Have any of you tried other colas? How did you find them?
Development version of Ekiga Softphone now sports a dazzling new contact list feature, which means there is a good chance I might actually be persuaded to keep the app running whilst I get on with my day to day things.
As evident from the screenshot, it supports contact groups, and works as you would expect. Unfortunately my contact list is rather bare at the moment, as no one else seems to use voice and video to communicate? Anyone?
If you run Ubuntu 7.04 you can try the cvs version by using the following magic deb line:
deb http://snapshots.ekiga.net/ubuntu feisty main
Before trying also note that there is a 400MB/day leak in the current svn build, so YMMV.
I just discovered a really cool new feature in Fiesty. It is called command-not-found, and it displays the package the command is in if you try to run a program that is not installed. If the program is provided by more than one package it gives a list of packages that provide the command.
On Tuesday I said a warm goodbye to Slackware 11, and installed Ubuntu on my laptop. Having not used Ubuntu in two years, I decided to give it a quick review.
The livecd booted without any problems, and soon I found myself in GNOME. I was pleasantly surprised by the hardware detection capabilities of the Ubuntu stock kernel - it found my wireless card, my SD reader, and something even configured my funny case buttons that control the volume, etc. The install process went just as smoothly. The installer asked some very basic questions and I had Ubuntu on my hard drive in no time.
Upon rebooting I discovered that the /etc/apt/sources.list did not need modifying by hand to get universe and multiverse packages, and all the special codecs, java, and flash could be installed by simply going to Applications->Add/Remove... . Installing the nVidia binary graphics drivers was just as easy, they got installed automatically when went to System->Preferences->Desktop Effects (which also gave me a shiny cube to play about with).
Another thing I like about GNOME is the funny little power graph it can draw, displaying the laptop's power use over time when I run on battery.
Despite the mostly positive experience, there is still plenty of room for improvement on Ubuntu's behalf. After installing the binary nVidia driver the text no longer fits into gdm's text boxes. I have so far sustained one X crash, which seems to have been brought down by a screen saver, and two GNOME crashes, which I think can be blamed on applets in the gnome-panel misbehaving.
Another quirk about Ubuntu I do not like is the lack of header files in normal packages. If I install a library I expect to be able compile things against it. Instead Ubuntu installed me a C compiler, but did not include any C library headers. How that can be considered as "useful" I can not say.
Also, by default the network interface names are not deterministic. This can cause problems when you have scripts that rely on eth0 being the wired interface and eth1 being the wireless interface for instance. To work around that, a simple udev modification is needed:
First create a file called /etc/udev/rules.d/10-ifaddresses.rulesThen add the following lines into it, replacing my MAC addresses with the ones in your cards (obtainable from ifconfig):
KERNEL=="eth*", SYSFS{address}=="00:12:3f:e9:1f:dc", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:13:ce:50:32:32", NAME="eth1"
There is no good reason this file can not be auto-generated by Ubuntu, so I consider having to do that myself to be a flaw in Ubuntu.
Finally, there is no good GNOME/Ubuntu GUI for setting up a NAT between two interfaces. iptables commands to achieve the effect are not complex, but still require a text editor and a rough idea of what you are doing. There is also no standard place for such a script to go that I could find, so I ended up using /etc/init.d/firewall, which is by my guess the Debian equivalent place of Slackware's /etc/rc.d/rc.firewall .
The book is not very typical of sci-fi works out there. Its main purpose is to draw a comparison between a Utopian anarchist society and a capitalist society. It does so by picking up a character to follow (a physicist named Shevek), and placing the him into both societies, observing both the reactions of the character to the society and of the society to the character. In doing so, the book makes some interesting points and observations, which make the book worth reading. I can not say I agree with all the points expressed in the book, but they are all expressed well enough to understand the messages the book tries to convey.
Only four stars because she could have developed the storyline a bit more.