More about FreeNet

This bunny killed censorship The network has been buzzing with activity after FreeNet got mentioned on SlashDot, I’m seeing a constant total throughput of about 50 KiB/s from my node, split between about 35 KiB/s upstream and 15 KiB/s downstream.

This means that the effect of “plausible deniability” is starting to make sense. This is the argument that I cannot be blamed for the things on my machine because I probably didn’t put them there myself. Or rather, it’s a defence against the case where someone requests some information from FreeNet and sees that my machine supplies it to them. Every node on FreeNet knows the IP addresses of it’s neighbours, and it know where it got each piece of information from.

But things work a little different on FreeNet than on most other networks. The mere act of requesting information moves it around the network, so just because you got it from my machine, it’s hard for you to justify your claim that I had something to do with it. It could infact be your request that made my machine go get the information from another node, so who’s to blame now?

It’s these questions that make FreeNet interesting from a teoretical point of view. If you’re interested in the legal implications of technoligies like FreeNet, then you should go and read this article from the UCLA Journal of Law and Techonology.

New computer

I’m beginning to play with the idea of buying a new computer — my old system feels old, especially after I’ve begun using FreeNet.

The focus on my new machine will be low noise — I aim for no noise at all, but that’s probably a bit hard to achive. As it can be seen here, it is actually possible to build a desktop PC without any moving parts(!) but the performance suffer.

So a little noise is probably innevitable… but there’s no reason to put in more fans that I have to, so I wont buy a motherboard or graphcscard with a fan on it. How come every little chip needs acitve cooling these days?

I’ve been browsing the ‘net a little, and have come up with a list of components, but I’m still very open to suggestions, if any of you have experience with building low-noise systems.

Intel Pentium 4 at 2.8 GHz: This should be a nice step up from the AMD Athlon 900MHz I have now…

Zalman CNPS7000-Cu: The tests I’ve read indicate that this is a good low-noise cooler.

Asus P4PE: This board has onboard LAN, audio and serial ATA. Does anybody know if the onboard audio works in GnuLinux? I’ve read that some boards support “Dual DDR RAM” which should increase the memory bandwidth further — is this something that works?

512 or perhaps even 1024 MiB DDR-SDRAM PC3500: I hope this fits together with the CPU and motherboard? From what I’ve figured out about these numbers, PC3500 RAM is the same as DDR433? But I haven’t seen a motherboard that supports this speed, infact I’ve only seen motherboards supporting up to PC2700. Any comments?

proSilence silentmaxx proSilence: This is a power supply without a fan! The idea of having a power supply without a fan sound absolutely wonderful to me, for it’s my current power supply that produces most of the noise from my current system. But I wonder how this will affect the air-flow in the case?

There’s a very recent English review here. It actually looks like this unit is very new, it’s in back-order everywhere I’ve looked, including http://www.silentmaxx.de/ which appears to be the main reseller.

Seagate Baracuda V SATA: From what I’ve read around the ‘net, this should be the most silent harddrive available. Or rather, the Baracuda IV should be the most silent drive available, but I would rather have this newer model.

If you have any comments or suggestions for my new super low-noise system, then please either mail them to me at mgeisler@mgeisler.net, or place them directly in the page. Just write some stuff, I’ll always be able to edit it after I’ve read it.


Sounds like a pretty cool system. For my next pc I’ll definitely also go for an Intel P4 CPU. -Kristian Kristensen

Yes, now I just have to find out when this funky power supply will be available in Denmark, and how much it will cost. I’m afraid that it will be rather expensive though…

Visit GimpsterDotCom in FreeNet!

Activelink for GimpsterDotCom I’ve now succesfully inserted GimpsterDotCom in FreeNet using the fcptools package. Go to GimpsterDotCom/1// and give my site a try! Like every other site on FreeNet, GimpsterDotCom has it’s own ActiveLink — it’s the little image on the right. So if you stumble over this image while browsing FreeNet, then click on it :-)

The site will be edition based, so that I can insert a new edition whenever I feel like. I’ll try and make a new edition a couple of times a week as the WikiWikiWeb at GimpsterDotCom is updated. Because the FreeNet edition is a mirror of the live www.gimpster.com then it’s easy to put comments on the pages by editing them on the real Internet. I know that this is isn’t anonymous, but on the other hand: there’s nothing at GimpsterDotCom that should require you to be anonymous. But I could insert a NIM (Near Instant Messaging) board if it seams worth is.

Ups, wrong key!

Some of you might have noticed, that the link above has changed from edition 6 to edition 1. This is because I’ve generated a new set of keys. I suddenly realised, that I had managed to use the public key with fcpputsite where it expected the private key. So my site ended up under a third key with a nice mixture of private and public keys in the links in the HTML code :-) I hope I’ve got things under control now.

Time flyes by!

I’m sorry about the lack of updated lately — nothing much has happened… But that doesn’t mean that I don’t have anything to write!

This bunny killed censorship I’m still playing with FreeNet, it’s getting better and better all the time. I’ve now been running my computer as a node in the network for about three weeks and I’m pretty well connected now.

Apart from FreeNet, then I’ve spend some time on fixing [PhpWiki][] so that I can export a whole WikiWikiWeb, complete with pages, images, and style-sheets. There was already support for exporting the pages as XHTML pages, but the links to the images and stylesheets were left as-is, that is, pointing to the installation directory. My version of PhpWiki uses relative links to a files directory which contains all external images and style-sheets needed for the site to function. It’s a bit of a hack, but it works — take a look at the website for The Danish National Research Foundation: Center for Catalysis which is a site I’ve made using PhpWiki. You’ll recognize the RecentChanges page and all the PhpWiki documentation if you look around a little :-)

One of my plans is to export GimpsterDotCom as a set of static XHTML pages, and then insert it into FreeNet. I think getting a relatively big site like GimpsterDotCom with it’s nearly 298 pages (see AllPages for a list) would be a good thing for the network, since most FreeSite~s out there consist of just a (often very big) single page. The downside of having such a large number of small pages is, that many of them will drop out of FreeNet if they’re not being requested often enough. The LeastPopular pages are simply the ones that are removed first to make room for new content. So FreeNet is not about permanent storage, it’s a more democratic system where everybody can publish everything, and where the popular stuff (whatever that might be) spreads to many nodes.

But I’ll let you know when you can find GimpsterDotCom in FreeNet. Last time I tried to insert it Fishtools (which is mirrored on the normal Internet) it couldn’t verify the inserted pages. I think I’ve narrowed it down to my use of = in filenames. The =’s come when I encode the names of the pages as Quoted-Printable when exporting from PhpWiki. The pagenames has to be encoded in some way, as they can contain all sorts of strange characters, or at least the full ISO-8859-1 (also known as Latin-1) character set which includes all the normal accented characters we use in Western Europe.

At first the pagenames were encoded by php-function:urlencode, but this gave problems when viewing exported pages on a webserver. It’s perfectly fine to have a file called foo%2Fbar.html on the server, this is a valid filename in Linux. But when you ask the webserver for it, using a browser, then it will (correctly) interpret the %2F in the URL given by the browser as the character with ASCII value 0×2F which a / and therefore look for bar.html in the foo directory. There’s no such file, so it returns the dreaded “404 Not Found” error to the user. And even if we created a foo directory and moved foo%2Fbar.html to foo/bar.html, then all relative links in the new bar.html would have to be changed, because bar.html is moved relative to the other pages.

The links themselves could instead be rewritten, so that the browser would use the URL foo%25Fbar.html in the request. The webserver will now decode the URL into foo%Fbar.html and find this file, because %25 is interpreted as %. The problem with this is, that the links no longer works when you’re viewing the site offline from your harddisk, because then noone will translate the %25 into the required % :-(

The net result is, that we shouldn’t use php-function:urlencode to encode the pagenames. This function is used to encode arguments passed in a GET request, but it’s a mess to use it with the filenames. Using another encoding like Quoted-Printable works around this problem, for no webserver will do Quoted-Printable decoding on the URL before it looks for the file in the filesystem. But then there’s the problem with some tools that cannot handle = in filenames… I think I’ll just replace the = with another character like _ or -, but I haven’t done this yet…

The speed of FreeNet

This bunny killed censorship I’m still experimenting with FreeNet, and the more I use it, the better it gets. I’ve done some speed tests, and it’s actually not as bad as I thought first: I’m able to download with speeds of around 40 KiB/s (that’s 40 kibibytes per second, a kibibyte is 1024 bytes whereas a kilobyte is 1000 bytes. These units are the new IEC international standard units for binary multiples — yes, they sound hillarious! There’s also mebibytes, gibibytes, and tebibytes available…).

Since FreeNet is a peer-to-peer network, then the speed depends on how well-connected your node is. It was only yesterday that I reached 40 KiB/s, the first days were much slower. But now it seams, that my node has found a couple of “nearby” nodes with a reasonable bandwidth.

If people started using FreeNet here at [Skejbygård][], then I’m sure that I would see much higher download rates.

Contents on FreeNet

Digitalis purpurea (Foxglove) There’s actually a lot of interesting contents to be found on FreeNet, it’s much more than just piracy. The next few links will only work for people who run a server on their local machine. I’ve found pages about philosophy (see the text on Objectivism — The Philosophy of Ayn Rand), recipes with lots of images, such as this recipe for Stir-Fried Chicken & Chile Tacos, and poisonous plants like the Foxglove (”Digitalis purpurea”), that’s the plant in the image on the right.

I also found this funny story about the perils of Girlfriend 5.0 somewhere out there, enjoy!

Desperately seeking technical support!

I’m currently running the latest version of Girlfriend 5.0 and having some problems. I’ve been running the same version of Drinking Buddies 1.0 for years as my primary application, and all the Girlfriend releases have always conflicted with it.

I hear that Drinking Buddies won’t crash if you minimize Girlfriend
with the sound off, but since I can’t find the switch to turn it off, I just run them separately and it works OK. Girlfriend also seems to have a problem coexisting with Golfware, often trying to abort my Golf program with some sort of timing incompatibility.

I probably should have stayed with Girlfriend 1.0, but I thought I
might see better performance with Girlfriend 2.0. After months of
conflicts, I consulted a friend who has experience with Girlfriend 2.0. He said I probably didn’t have enough cache to run Girlfriend 2.0 and eventually it would require a Token Ring upgrade to run properly. He was right.

As soon as I purged my cache, Girlfriend 2.0 uninstalled itself.
Shortly after that, I installed a Girlfriend 3.0 beta. All the bugs were supposed to be gone, but the first time I used it, it gave me a virus.

After a hard drive clean up and thorough virus scan, I very cautiously upgraded to Girlfriend 4.0. — this time using a SCSI probe and virus protection. It worked OK for a while until I discovered Girlfriend 1.0 wasn’t completely uninstalled! I tried to run Girlfriend 1.0 again with Girlfriend 4.0 still installed, but Girlfriend 4.0 has an unadvertised feature that automatically senses the presence of Girlfriend 1.0 and communicates with it in some way, resulting in the immediate removal of both versions!

The version I have now works pretty well, but, like all versions, there are still some problems. The Girlfriend package is still written in some obscure language that I can’t understand, much less reprogram. And I’ve never liked how Girlfriend is totally object-oriented. A year ago, a friend upgraded his version to GirlfriendPlus 1.0, which is a Terminate-and-Stay-Resident version. He discovered GirlfriendPlus 1.0 expires within a year if you don’t upgrade to Fiancee 1.0. So he did.

But soon after that, you have to upgrade to Wife 1.0, which he
describes as a “huge resource hog.” It has taken up all his space, so he can’t load anything else. One of the primary reasons that he upgraded to Wife is that it came bundled with FreeSex 1.0. Well, it turns out that the resource allocation module of Wife 1.0 sometimes prohibits access to FreeSex (particularly the new Plug and Play items he wanted to try). On top of that, Wife 1.0 must be running on a well warmed-up system before he can do anything. And, although he did not ask for it, Wife 1.0 came with Mother-In-Law 1.0, which has an automatic pop-up feature he can’t turn off.

I told him to install Mistress 1.0, but he said that he heard that if you try to run it without first uninstalling Wife, that Wife 1.0 will delete MSMoney files before uninstalling itself. Then Mistress 1.0 won’t install anyway, due to insufficient resources.

Is anybody out there able to offer technical advice?