http://pastebin.com/f396257b6
Original credit goes here - http://krishnan.co.in/blog/post/download-videos-from-youtube-(C).aspx


I currently run Ubuntu 8.04 on an old eMachines desktop, and on my Toshiba A215-4767 laptop.
Here I will update the Linux community with my experiences installing and maintaining this crazy operating system on two machines.
For getting VirtualBox properly set up and configured, this guide will point you in the right direction. The steps are pretty much the same for 8.04 (Hardy Heron).
The highlights of the guide are these -
(1) Two versions to choose from - OSE vs Non-Free
"There are two versions of VirtualBox, the OSE (opensource edition) and the closed source, binary one. The OSE edition is the one you will find in the Ubuntu repositories (add/remove programs), but it lacks some features of the binary one, most notably, USB support. For this reason, I would advice using the binary. For Hardy, download it here (link many change eventually)
(2) Add yourself to vboxusers group
After installing, you will get a warning that you need to add users to the vboxusers group. Let's do so now:
System menu > administration > users and groups > manage groups
Select the “vboxusers” group > properties > check any users you want to be able to use VB.
Now log out, and log in again for these changes to become effective.
(3) Fix USB error #1 - VERR_FILE_NOT_FOUND
You may at some point get the error - "Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND)":
To fix it, we need to enable usbfs. Open a terminal and type:
sudo gedit /etc/init.d/mountdevsubfs.sh
Find this part:
# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount --rbind /dev/bus/usb /proc/bus/usb
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
Reboot Ubuntu.
Restart virtualbox, select your VM, then click settings. You should have no error messages now.
(4) Fix USB Error #2 - Permissions
You might also encounter a USB permissions problem with VirtualBox. (see here)
The fix? Open up a terminal and type in the following -
sudo gedit /etc/fstab
Add the following to the bottom of the text file -
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0
(This assumes the group plugdev is group ID 46 on your machine - that's the default group ID for pulgdev anyway, so it shoulden't be a problem)
Now, plugdev, which handles plugable devices, can interact correctly with VirtualBox (after a reboot, probably)
Toshiba A215-4767 Specific Notes
Installing Ubuntu 8.04 on the Toshiba A215-4767 is a fairly simple process. There are only two components that take any real configuration - the wireless and sound setup.sudo -i
echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist
rmmod ath_pci
apt-get install ndiswrapper-utils-1.9 ndiswrapper-common
ndiswrapper -i net5211.inf
ndiswrapper -l
look for something like this:
net5211 : driver installed
device (168C:001C) present (alternate driver: ath_pci)
modprobe ndiswrapper
echo "ndiswrapper" >> /etc/modules
mac_address|XX:XX:XX:XX:XX:XXand replace the X's with your MAC address.
ME: However....AllPeers doesn't use the host computer 's local LAN to transfer files - it uses the Internet to connect to a remote AllPeers session (as far as I know). Therefore I could simply set up an AllPeers share on my computer with the Tournament demo in it. I'll do that, keep Firefox running, go to school, and then we can use your Firefox w/ AllPeers to connect to my home computer and download it that way.
Of course you could do the exact same thing with your personal home computer. It's just a matter of convenience and preference.
HIM: What is the point of p2p if it has to go through something else?
ME: You're right in saying that p2p doesn't "go through something else" - however, you're wrong in saying it would use the school's LAN to achieve this. You need to understand some basic p2p theory first to understand what it's actually going to end up doing. (By the way I recommend reading all of this - I worked hard on it.. lol)
The only two reasons to use p2p are that (1) it allows you to initiate a direct connection between client to client, thusly eliminating the need for a mediating central server and (2) it distributes the clients resources (bandwidth, etc) to each other equally.
This is in juxtaposition to the client-server model in which everyone downloads from one main server (similar concept to the Boyd drop boxes and shared drives in general). This main server gets considerably drained as more people access it, decreasing download speeds for the individual.
P2P solves this problem under optimal conditions and is in those cases faster that the client-server model. However, we need to define optimal conditions. They are, simply put, a relatively speedy Internet connection, high bandwidth, and (most importantly) a relatively sizable number of clients that are connected at the same time to the p2p network. The number of clients is so important because each one serves as a node to both distribute already existent resources (like bandwidth, storage space, and computing power) and to add their OWN bandwidth, storage space, and computing power resources.
Let’s create a scenario - Let’s say that there are only two people sharing resources on a p2p network. The speeds will undoubtedly be slower than a traditional client-server setup in this instance because the two computers are probably average home computers using their relatively small, restrictive, and slow RoadRunner internet bandwidth. They are sharing very little bandwidth and computing powers between themselves. (I know that from experience), in comparison to simpy connecting to a server that in all likelihood will probably have a T3 (or whatever the major Interent connection is) connection that is routing incredible amounts of bandwidth to it for the public to access and utilize.
Of course if the number of people in the theoretical p2p network I made up increases, then its overall power in comparison begins to completely own.
So the problem(s) at school are that when we use AllPeers, we are distributing the school's bandwidth to *each other*, essentially negating any speed benefits of a p2p network. We are still using the Internet to do this because AllPeers was designed for non-Intranet file sharing and it doesn't know how to interface with a nearby Local Area Network/Intranet. (put more simply, AllPeers has no idea that we are in a LAN config at school - for all it knows, the computer next to you in the CompSci lab is located in China.) Logically, why would AllPeers use the LAN to do sharing? That would defeat the purpose. If you already have a LAN, you essentially have one major part of a p2p network set up already between all the computers in the network. Think about shared network folders in Windows. Machine to machine file transfer. LAN. Partly p2p.
If AllPeers used the LAN, it'd be exactly the same as about a thousand other programs out there, including Microsoft's built in networking tools and capabilities themselves.
We can still do it your way but I guarantee you it will not be any faster that your traditional downloads and it definitely won't use the school's LAN. It's just a convenient way to set up a private temporary network that uses the Internet to gather people in a p2p pool of clients. But in our case, two people isn't going to make any download speeds very fast.