My Experiences
This page is a documentation of my experiences with a number of
P2P programs. The programs I will discuss all make use of Gnutella
as the backbone network for sharing.
By the way before loading any of this code be suspicious of the adware/spyware
content of the code. Research the code before installing!!!
You can read more about spyware.
Common Points of Concern
There are a number of common concerns that come up wihen using
P2P programs:
- how much can I control what gets shared and what does not.
Some programs share things without your knowledge, even to the point
of hiding the fact that they are doing so. Some share things without
asking you and some share things that you can not turn off. I have
a problem with programs deciding for me what I should share.
- How much bandwidth of mine is used to contribute to the
network that I can not control?
- how does the program handle hashing of files?
- where are the partial files put. Some programs do not allow
you to independantly control where the partials go. Some go into
the program directory (in wich case you have to watch where you
install the program) and some create there own subirectory
on the drive or directory where you put the completed files.
Since partial directories can grow unbelievably it is important
to pay attention to where these are put.
- how invasive are these programs (spyware/adeware). You
can read more about spyware.
Hashing of files (The plague)
Files get corrupted in transit. Sometimes people share incomplete
files. Sometimes people choose to make changes to files. To combat
against this programs make a hash code. This is a numeric check
of the file that can be generated to attempt to find out:
- has the file been corrupted
- has the file been renamed
Good intentions but hashing can be procesor intensive to generate.
Additionally there are two different types of hashes on Gnutella
(maybe more). SHA1 and Bitprint. So there ends up being three
combinations for a program to deal with No Hash, SHA1 hash
and Bitprint HASH. It gets even worse if the program supports both.
Why do you care. Well if the file has no HASH, or a different hash
then the file is considered to be different. This means there
will end up being a number of different offerings of the same
file. So the program will not continue from a file that is
different and it will also not get from multiple sources files
that are different. Net result while hashing has good intentions
it makes life very difficult, time consuming and bandwidth
intensive to get a complete large file. Especially in a network made
up of machines that turn off frequently when it can take
quite sometime to download say a movie of 700MB.
Ultrapeer
Distributed networks such as Gnutella rely on special nodes called
ultrapeer to form the basis of the network. The network needs
Ultrapeers. Most P2P programs assume you would want to be an
Ultrapeer. While it would be nice if you can not control it
becoming an Ultrapeer can chew up large amounts of your bandwidth.
Program Stability
There are a number of reasons why program stability is of concern.
The bvious one is you really don't want your machine crashing of
having memory leaks. The unobvious one is that it can take up to a
day to get into the queue of busy servers and finally begin to
download. Some programs are so stupid they allow outrageous
numbers of files to be queued. This on a machine that will more
often than not get turned off before even a single movie might
be finished. So after waiting a day in a queue having the program
crash and get back in that Q is very frustrating. When you are getting
files from MIRC for example you can shut down, and reboot and
as long as your machine is back up and running before the download
starts your still in the queue. For whatever reason this does not seem
to be the case in P2P. Shutdown the program, and your back at then
end of the queue. Waiting yet again.
Partial files the main plague of P2P
P2P is great for finding files, but for large files it can be
difficult to get the file completed. As described above hashing
makes this even worse. The net result is that you get a lot of
half completed partial files. Finding way to manage your partials,
and manage the queue of files you have requested is a challenge
you will need to address. You can often get decent download speeds
only yot have the end user shut down and never come back. This
can make the partial directory become quite large and unmanagemeable.
Good program, no Adware. Excellent control of bandwidth for ultrapeer
excellent control of upload.download bandwidth. Initial settings of
this program are odd at best Go through each and make up your
own mid. For example the prorgram limtis the number of files
to download at once etc. Odd. Program for me was unstable
crashing at least once a day. Hashing is good in that it supports
only SHA1 and you you can choose to have the program be
liberal in how it uses hashes. The switch called Hassh integreity
control this.
If Hash Integrity is OFF:
Two files are equal if they have the same name and length, or if both have a SHA1 value and the SHA1's are equal.
If Hash Integrity is ON:
Two files are equal IF they both have SHA1's and those SHA1s are the same, OR, if neither have SHA1s but they have the same name and size.
You can not control how much processor the Hashing uses.
The program without asking shares out the program itself.
Not a big deal. It does show you it is doing so.
Program seems to be the worst and slowest at finding files.
Program is open source so should be free from adware/spyware.
Biggest negatives are:
- biggest problem with this code is a bug that when it can not
connected to an ultrapeer the program slips into ultrapeer mode
even if you have disabled it and it will chew up every last
bit of bandwidth it can get. This program with this bug can not
be trusted.
- supports both SHA1 and Bitprint and is VERY purist. If the
hash doesn't match, different file. This means getting a large
file downloaded is VERY inefficient. And you can not control this
- program is moderately unstable
- program shares out your partial files, hides the fact it is
doing so and can not be disabled. Once again I consider this
a violation of my trust.
- program has a memory leak in it
This program uses Java so as such requires you to load Java Runtime
Environment. The initial code you download is small but it is
misleading because the programs imply connects and downloads the
remaining peices of the code. The program is adware bigtime. Not
as bad as Kazaa. Kazaa's website is so bad you don't even escape
from there without realizing how much it is Adware.
Limewire added 4 icons onto my desktop, asked it was ok to install
Limeshop, which I refused and it installed it anyway.
This program is VERY slow to do finds. It also severely limits
the number of hosts you can connect to, which in effect limits
the effectivenes of your searches. Like all Java based programs
it is a pig from a processor and memory point of view.
Java program so likes processor and memory. Pretty good searching.
No ability to control the location of the temp directory.
Goes into the program directory.
Good program supported by ads. Search is one of the worst. Limits the searchs to 200
results, filtering is poor, and search runs once and does not refresh. You can only
have one active search at a time. That said if you can find the file you
want the program works well. Seems pretty stable. Program allows you to
find more files shared by the same user so if you find someone with a good bandwidth you
can see what else he is offering. A unique feature. Processor and memory utilization is
reasonable. Ad can easily be blocked by Spystopper.
Program is missing a total bandwidth meter. User interface is well done.
By the way Kazaalite is a hack of Kazaa.
Kazaa
Kazaa is one of the worst most invasive
most objectionable peices of code I have heard of in a long time. Stay away from it
like the plague. Read more about Kazaa's haneous code
and more here
and finally here.
Here is the text from their EULA:
You hereby grant BDE (Brilliant Digital Entertainment) the right to access the unused
computing power and storage space on your computer/s and/or internet access or bandwidth
for the aggregation of content and use in distributed computing.
The user acknowledges and authorizes this use without the right of compensation.
Mild spyware, seems stable. Good search results. Bad screen handling. Very tenacious
program will try everything possible. It will re-search automatically lookiing for additional
sources.
So my favs are: