Wednesday, April 27, 2011

Linux #2: More Basics - Removing Directories

======================================================
-------- How to Remove Directories and the Files/Folders within Them  --------
======================================================

++++++++++++++ The Reason It Can Be Tricky +++++++++++++++++

Last time I taught you how to do some simple commands via the terminal in Ubuntu, including the ability to create directories. This time I will teach you how to remove directories. Removing directories is a fairly simple task... most of the time it can be done graphically via the GUI by simply right clicking a folder and choosing "Move To Trash". However, on occasion you will find yourself unable to do this because the folder has an icon of a lock next to it, signifying that You do not have permission to delete the folder or its contents. This is because as you go about normal activities in Ubuntu, you do Not have administrative/root privileges by default. The only way to gain root privileges is to type "sudo" into the terminal before any command you may want to execute. This is true for any and just about every command you will run... if it is of any importance, it will require you to type "sudo" before hand, and then prompt you for your account password.

+++++++++++  Removal Solely Via the Terminal  ++++++++++++++++

$>sudo rmdir /path/to/dir/to/be/removed
***NOTE: ONLY WORKS IF DIRECTORY IS EMPTY***

If there are other subdomains, AND they are empty, find
furthest subdomain, NAVIGATE TO IT (cd /path/ as explained earlier), and type:

$>sudo rmdir -p /removed/deepest/sub/dir/

This removes each parent directory, starting from the deepest directory. Which is subsequently equivalent to typing: [again, assuming All directories are Empty]
$>rmdir /removed/deepest/sub/dir/
$>rmdir /removed/deepest/sub/
$>rmdir /removed/deepest/
$>rmdir /removed/

However, the Easiest way to do this is to
use the "Recursively Remove Files" flag, -rf
This will recursively remove all folders and files within the domain...
ultimately doing what we wanted to do all along, minus all the bullshit...

sudo rmdir -rf /path/to/dir/to/be/removed/

This ^^^^^^^^^^^^^^^ is what you should take home from this post.

+++++++++++++  Getting All GOOEY To Do It  +++++++++++++++++

This still must start via the terminal, because typically everything does.
ProTip! Cool People use the terminal!
You are going to launch the program (nautilus in Ubuntu) which
manages file navigation graphically, as root, by typing:

$>sudo nautilus

but....
ProTip! (for realzies this time)... toss an ampersand after your command in order to break it free of still having to run inside the terminal and being virtually connected to the terminal as such:
$>sudo nautilus &


If no Ampersand[&] is placed at the end of your command, the GUI will open for you to navigate through files and folders with root access, but you cannot use that terminal because it will be tied up spitting out text output from the Nautilus program, and more importantly, if you decide to close the terminal, your window showing you whatever folder with whatever files will be closed immediately without warning (though the terminal will remind you it is running a program before it lets you close it completely. Though usually it does not specify what.)

Sorry I haven't posted in a while. Been busy doing this and that. Will post about this and that later in the future. Also, I think I am going to start posting MUCH more Advanced stuff really really soon, skipping the basics and just going back to them every now and then... Ultimately I want this blog to be something I can go back and reference when I need help with something soooo, there will be some good stuff in the soon to near future I promise!

Tuesday, April 12, 2011

Linux #1: Getting Started

Ok, so I determined that there is WAY too much shit in Ubuntu to put into one tutorial... it would be too long and time consuming. Therefore, I decided to break down the Linux tutorial into several different posts. This is good for me, however I feel it isn't the best route to go in terms of showing off the badassness of Linux right away... people may get caught up on a less-amazing, more-technical tutorial that really holds no interest, just necessary info... with this said, please wait until I have 5-6 Linux posts up, read them all, and then determine if you like Linux and give it a shot. Ok, so here we go!...
  --------------------  Setting up Keyboard Shortcuts   --------------------
Ok, so you have Ubuntu installed and your just staring at a blank desktop wondering what to do next and where to go. The first thing I do upon a fresh install of Linux is to create a quick-and-easy button combination to bring up a terminal (command prompt). As many of you know or may have guessed, Linux is very command-line driven. Really though, do Not let this scare you... you can get by using Linux without ever using command line tasks... but using the terminal to complete tasks is really what makes Linux extremely powerful and versatile as an Operating System. Anyways, to make a shortcut, do the following:
// Look at the top left corner of the screen
// There should be three things you can click... "Applications", "Places", and "System"
// Go to System->Preferences->Keyboard-Shortcuts
// Less than halfway down the list you'll see "Run a terminal"
// Double click the box/empty space to the right of where it says that
// Press a key combination that you would like to fire up a terminal
// Personally, I use SHIFT+CNTRL+A... close, quick, and easy.
// Click Close to close that window
// Press your unique keyboard shortcut and launch a terminal

   --------------------  Downloading New Programs   --------------------
Ubuntu is a very security conscious operating system... most of the programs you install onto Ubuntu you will not be going to a website, downloading, and then installing. Instead, the Ubuntu community has a repository of programs ready to be downloaded and installed. This repository is for convenience and security purposes. Think of it as the equivalent of Apple's App-Store, but less monopolistic. And similarly, like an iPhone, you can add third-party repositories so that you have many many more programs to choose from to download and install. However, this is not recommended since third-party repositories have not been thoroughly reviewed and inspected to insure no files are malicious or have been infected... I recommend not adding any third-party repositories in Ubuntu.
You can install programs through a GUI (Graphical User Interface) by going to:
// Applications->Ubuntu Software Center
and then searching for new programs and seeing which are rated best and most used. This is nice for finding new, popular programs, but the real beauty of Ubuntu shines through for users like myself, and many others, who already know Exactly what they want installed on their machine, and want to do it as fast as possible. To install programs the badass AND fast way, do the following:
// Fire up a terminal
// type "sudo apt-get install [program_name]" without quotes and with the name of the program you want to install inside the brackets
// you will be prompted to type in your password
// As you type your password, no letters appear on the screen, this is normal. Just type in your password and hit enter
// If the program is found in the repository, it will come back and tell you how much space it will take to install said program, and as you if you want to continue (Y/n?). Type "y", hit enter, and let it complete the install.
// Nothing else needs to be done, the program installed and should be able to be found by searching through the "Applications" tab.

****Keep in mind you must know the INSTALL name, not just the name... for example, when installing Virtual Box, one must type "sudo apt-get install virutalbox-ose" rather than just "virtualbox"****

Here are some programs I recommend you install, copy past if you want to install them:
~$>sudo apt-get install deluge                // GUI torrent client
~$>sudo apt-get install virtualbox-ose   // Virtual Machine client
~$>sudo apt-get install vlc                     // best media player ever
~$>sudo apt-get install pidgin               // IM client (AIM/Yahoo/MSN)
~$>sudo apt-get install xchat                // IRC client (like mIRC for Windows)
Also, I believe you can install things all at once just by putting a space in between them... ex.) "sudo apt-get install xchat vlc" will install xchat And VLC, prompting you to respond Y/N for one after the other has finished
================================================
 =============== Simple Terminal Commands =============
================================================
  --------------------------------- List Contents of a Directory  ---------------------------------- 

~$>ls                  // lists all files and folders in the current directory
~$>ls -la             // lists all files and folders (including hidden) and more info

 ---------------- Changing Directories and Navigating through folders ---------------

I am going to list the different ways to use the cd (change directory) command, and the information before the ~$> is the current directory you are currently in... blank means root, as far back as you can go (like My Computer in Windows), and ~ means "home" folder which will contain one folder with Your user name you logged in with (defined as user_name throughout this tutorial). Pay attention to the current directory after each operation to understand what it is doing.

~$>cd /home/user_name/Desktop             //changes directory to one specified
~/Desktop$>cd                                          //JUST "cd" goes to /home/user_name/
~$>cd /                            // "cd /" will go to ROOT folder, can't go back further
$>ls                                 // "ls" lists files/folders... just for figuring out where
etc                                   // we  might want to go for the sake of this example
bin
boot
home
cdrom
usr
var
lib
sys
media
mnt  ....... etc, etc, etc... few more folders... lets go to /etc/apt/...
$>cd /ept/apt/
/etc/apt$>cd ..                   // "cd .." navigates to parent directory (back one folder)
/etc$>cd                             // navigate to /home/user_name/ folder
~$>cd ..                             // navigate to parent directory (which will be home)
/home$>cd ..                      // navigate to parent directory again (root)
$> cd home                        // join /home/ folder
/home$> cd user_name       // go to /home/user_name/
~$>exit           // exits... and remember... ~$> is same as /home/user_name$>

  -----------------------------------  Making Directories  -------------------------------------------

~$>mkdir pR0n    // will make folder pR0n in current directory
~$>mkdir /home/user_name/Desktop    // will make folder pR0n on Desktop

--------------------------------  Practice, Practice, Practice!   -----------------------------------
Practice navigating your way in and out of folders and paths to get an understanding of where things are stored in Ubuntu... Use the "ls" command often so you can see what folders are available for you to navigate into. You can look into folders other than the one you are currently in as well... Lets say I am AT root, / , and want to see what is IN my Downloads folder, I can type "ls /home/user_name/Downloads" and it will print out a list of files and folders in my Downloads folder... and if you want to then navigate straight there, type "cd /home/user_name/Downloads", and now you are there! Now a simple "ls" without any path with print out the same thing as the first time because you are now telling it to print out a list from your current directory which is now your Downloads folder.
There is much much more on the way... and Eventually this will evolve into hacking tutorials, I promise... I just want everyone to have a chance to get on the same page. Thank you all! Please comment with any questions or criticism!

Friday, April 8, 2011

The Basics #4: Installing Linux (Ubuntu)

  -------------------- What is Linux? --------------------
Don't quote me on anything I say... I do have a Bachelor's Degree in Computer Science... but I'm still no expert. But Linux is an operating system, just like Windows XP, or Windows Vista (not in design but in the idea of what an Operating System is...). Linux is an off shoot of Unix, an old operating system that came about back in the day to compete with MS-DOS. Arguably, Linux can been seen as the GUI (Graphical User Interface) version of Unix, as Windows can be seen as a GUI of MS-DOS. Much like Windows has different versions (i.e. 95,95,2000,NT,XP,Vista, 7, etc), Linux has several different flavors such as Red Hat, Gentoo, Free BSD, Solaris, Cent OS, Ubuntu, and many many more; some which are free, and some which require a license. We are going to learn how to install Ubuntu, the flavor of Linux which, in my opinion, offers the easiest transition from Windows to Linux.
  -------------------- Where do I get Ubuntu?  --------------------
Ubuntu is free software and can be downloaded from www.ubuntu.com
Once on the site, determine whether you need Ubuntu for a desktop or a laptop, and whether you need a 32-bit version or a 64-bit version (If you are uncertain as to what your processor can handle, simply grab the 32-bit version since 64-bit processors are backwards compatible and can run 32-bit OSes just fine.)
Once this is determined, download Ubuntu in the form of an ISO image.
  -------------------- How do I install Ubuntu?  --------------------
Once the download of the ISO is complete, burn the image to a disc (CD or DVD, which ever your computer has a reader/writer for). If you are unsure how to do this, check out my last tutorial, The Basics #3, and install the appropriate software and the follow the instructions accordingly. After this is complete, stick the disc in your computer and reboot.
At this point you should be prompted with some options from the Ubuntu CD. The cool thing about the Ubuntu image you just burned is that you can choose to run a live CD of Ubuntu which allows you to play with and use Ubuntu without altering your computer At All... once you shut your computer down and remove the disc, your normal OS will boot up as if nothing happened.
If you are Not prompted with Ubuntu options (aka the CD did not run), this is because your CD/DVD drive is Not set as your #1 boot device. If this is the case, you can either permanently change the boot order in the Bios (see How To Access and Alter Bios) or catch the option to change the boot order just that once as your system boots up (see Changing Boot Order).
  -------------------- The Installation  --------------------
The installation is actually insanely straight forward and involves like 8 steps... I will edit this tutorial with exactly what to do at each step in a few days once I download the Ubuntu ISO myself and run it in a VM to see what exactly is asked etc etc... Don't worry though, this really is an easy step.

***** This happened to me a few times and my friend... Your following the install options and going along, and upon choosing your user name and password it just hangs, not allowing you to choose "Next"... even though everything is filled in and it isn't telling you anything is wrong. This is something that needs to be fixed by the Ubuntu community... luckily it isn't any big bug that will have you stuck for ever, it is just Ubuntu failing to tell you something: Your user name Cannot have capital letters in it. If you go back and make everything lowercase and with no spaces or any strange characters, the "Next" button will become available and you can continue on to complete the installation. *****

Good Luck All! If you go to try this and run into any problems, post a comment with your problem and I will help troubleshoot your issue.

PS. - The "How to Access and Alter Bios" and "Changing Boot Order" Tutorials are coming soon... in the meantime I am sorry if you were offended by the temporary link. ; )

Wednesday, April 6, 2011

The Basics #3: Disc Images and Virtual Drives

       ===============================================
         =================== Disc Images ===================
       ===============================================
                -------------------------  What is a Disc Image?  -------------------------
An image of a disc (henceforth known simply as an image), is essentially a snapshot of the raw data that is meant to be placed on a DVD or CD. An image simply refers to an archived file of an optical disc. Arguably, the most common type of image is an ISO image(International Standards Organization) which is a file-type ending with the extension *.iso. Any CD or DVD can be archived by .ISO format. It is a perfect digital copy of the original. The ISO image file is not stored in a container file, it is the raw data... a true copy. Simply put, an ISO image is an uncompressed collection of various files merged into one single resulting file(final_file.iso), which then must be burned onto some form of optical disc(CD/DVD/Blu-ray) to work properly.
            -------------------------  How do I manage/run Images?  -------------------------
In order for images to run properly, they must be burned on to optical disc and then inserted into a CD/DVD reader which will execute the files on the disc autonomously(most of the time the content of an ISO is some sort of installation disc that will prompt for install upon running the CD/DVD just like you would expect from any media on a disc that isn't just an audio CD or a data CD. So anyways, we must burn the ISO onto an optical disc in order to utilize the data stored within the image.
    -------------------------  What Tools are needed to burn ISOs?  -------------------------
If you are already running Linux , burning images is a native option and requires nothing more than inserting a blank disc and choosing "Burn contents as an Image". Windows on the other hand, as usually, needs a little help. There are quite a few options when choosing which image-burning software you want to use which include, but are not limited to:
-- Alcohol 120%
-- PowerISO / UltraISO / MagicISO
-- Daemon Tools (Pro / Advanced / Lite)
I recommend you download either Daemon Tools or Alcohol120% because these two programs allow you to create several virtual drives at once, where the PowerISO etc, etc. programs, as far as I remember, do not offer this functionality. I will explain virtual drives in-depth shortly, but for now download an image-burner of your choosing. Daemon Tools Lites is free and provides all the functionality we need and can be found at Daemon Tools Lite (Free). However, I prefer Alcohol120 because I am sometimes a bit of an alcoholic and really it's just what I've familiarized myself with the most (4 years ago when I still used Windows lol). So use your torrenting prowess learned in Basic-1 of my tutorials and obtain a 100% legal 30-day free trial of Alcohol 120% and you'll be good to go. *trollface.jpg*
      -------------------------  How to burn an ISO with Alcohol 120%   -------------------------
===> Launch Alcohol 120%
===> Choose "Image Burning Wizard"
===> When asked for an image to burn, selected "Browse..."
===> Find the image you would like to burn to a disc (.iso)
===> Make sure to uncheck "delete image when burn complete"
===> Choose the DVD/CD recorder that you want to burn the image with
===> Make sure that drive has the appropriate media in it (a CD or DVD)
===>Click "Next", "Next", etc, etc, "Burn Image"
===>Wait 5-10 minutes for image to burn (time depends on size)
===> ???????????
===> Profit.
        ------------------------- Using the burned ISO Image  -------------------------
Simply insert the disc into a drive that can read that form of media and let your OS do the rest. Usually there is an autorun.inif file on the ISO that tells Windows what to do upon initially reading the CD; if this is the case, you will be prompted with something telling you what the disc is about and telling you how to proceed. If someone failed at making an ISO (you can make custom images with whatever files you want on them... Alcohol120 has this option), after inserting the disc, navigate to the appropriate drive in My Computer, right click the drive and choose "Explore". This should list all the files and folders on the disc. Odds are there is a file called setup.exe if you are looking to install a program, otherwise you can find a file called video.avi if your looking for a movie, or whatever_I_want.extension if you are looking for something else on the ISO.

*****That was the old way to do it. The Windows Millennium way (super successful =p). The hard way. Unless you enjoy wasting time and resources (CDs/DVDs), the above mentioned method should be avoided. However, with that said, it is good to understand everything that is happening and it is good to know how to burn a physical copy of an ISO if one is ever needed.******

         ===========================================
         ================== Virtual Drives ================
         ============================================
                  -------------------- What is a Virtual Drive? -------------------
Ok, so now we know what an image is and that we must burn it onto an optical disc which has to be read by an optical drive before finally giving us our desired results. If we map that out we start with virtual media (software) in the form of a file (in this case an ISO image), and then we burn it onto a physical device (an optical disc), only to stick it Back into the computer so that it can be read by a particular piece of hardware, an optical drive. So if some sort of software application could simply mimic the behavior of an optical drive, the need to burn the image to a physical disc and re-insert the disc into our machine would be eliminated... enter virtual drives. A virtual drive is exactly what it sounds like, it is an optical disc reader that lives 100% in software and simply mimics the hardware actions a regular drive would perform.
             ------------------------- How do I get a Virutal Drive? -------------------------
Both Alcohol120 and Daemon Tools allow you to create virtual drives on your computer. I believe Daemon Tools limits you to 4 virtual drives because it is the free Lite version, and Alcohol120 allows you to have up to 31 virtual drives at once. Either program is fine since 4 virtual drives is plenty, 2 is more than enough... really you only need 1. Virtual drives appear an act like all of your other regular physical drives except for the simple fact that they don't exist... physically anyways. Alcohol120 by default activates 1 virtual drive on its own, but lets go ahead and give ourselves 7 more, for a total of 8 virtual drives...
->Go ahead and launch Alcohol120
->Under the Options box on the middle left-hand side choose "Virtual Drives"
->Where it says "Number of Virtual Drives: 1", change it to 8.
->Click "Ok" and close out of Alcohol120%
Now go to My Computer and look at your drives. You have your regular hard drive C, your first (and most likely only) optical drive is drive D, and then as you'll notice, you now have 8 additional empty DVD drives labeled E-L.
Congratulations!! You now have virtual drives on your computer!!
     ------------------------- How do I use the virtual drives? ------------------------
There are a few ways you can go about using the virtual drives that have been bestowed upon you... first you must know that the process of placing any external media devices (CDs/DVDs/flash drives/external hard drives/phones/cameras/etc/etc...) is known as Mounting those particular devices. So we want to mount our ISO onto one of our virtual drives. To my knowledge you can go about this one of three ways:
1) Launch Alcohol120, click Virutal Drives, and then on the left hand side select "Shell Extensions" to modify which files Alcohol120 should be responsible for taking care of by default. Select which ever ones you want (I selected them all since many I had not heard of, but if A120 can run them, good for it), but make sure to select ISOs(.iso),BINS(.bin), and CUES(.cue). Bin/Cue is another type of image just like an ISO except that one file gets mounted and the other doesn't... but they need each other to run. Anyways, bin/cue is beyond the scope of this TuT... make sure Alcohol120 is set to handle ISOs by default and select "Ok".
Now, find any ISO file you have and right-click the file. You'll notice that two new options appear in your right-click menu: "Burn image to disc" and "Mount Image". When you mouse-over "Mount Image" a list of your virtual drives that currently have nothing mounted to them appears; select a virtual drive and your good to go! If you selected drive H, go to My Computer and double click on drive H and it will launch the media mounted to the virtual drive as if it were a real physical CD/DVD/Blu-ray.
2) Start off by going to My Computer, find an un-mounted virtual drive, and then right-click it. One of the options is "Mount.." and upon mousing over it a new extended window pops out and says "Open...". This allows you to browse your computer for your ISO and select it to be Mounted. Then go ahead and double click the mounted virtual drive and viola, +10 intranetz.
3) You can go into the Virtual Drive settings as we have described earlier, and underneath  the number of virtual drives you want is the option to check a box that says "Mount Image to Device0 on Double-Click of Image File", which essentially will have Alcohol120% do everything for you and allow you to just double click an ISO image to run it.

*****Keep in mind that the virtual drives to Not un-mount themselves. Whenever you are done using an image, find the virtual drive that was/is hosting that particular image, right-click it and select "UnMount". This is the equivalent of "ejecting" a CD/DVD drive*****

Hope this Tutorial helped some people further understand images and how to use them. If you have any questions feel free to PM me and I'll do my best to help you out. The next Basic Tutorial will be a tutorial on installing Linux... so if you want to get a jump start, go grab the Ubuntu ISO for your desktop or laptop.

Tuesday, April 5, 2011

The Basics #2: Port Forwarding

  -------------------- Port Forwarding  --------------------
Ok, so now you have a torrent client and you know how to download torrent files; however, when you download them, they go really slow or perhaps don't even download at all. This is most likely due to your router blocking incoming/outgoing traffic associated with the port your torrent client is trying to use. In order to fix this you must setup port forwarding on your router for the port in question.

*****If your torrents work fine without forwarding any ports, don't bother forwarding any ports! If it's not broken don't fix it. Also, I am not to be held liable or responsible if anything is to happen to your computer or router in the process of doing this*****

This is something you should try and remember how to do... It will come up a LOT in your future. Downloading slow torrents is just one example of a problem that can be solved by forwarding ports. Certain games require you to forward ports, a home-made server would likely require port forwarding, etc, etc...
Forwarding your ports requires knowledge of two things:
-which port your program/application is using
-what brand, and possibly model, of router you have

  -------------------- Getting the Information --------------------
To determine which port your application is using, typically just go to Edit->Preferences->Connection or something similar... Once you are there, it should let you know what ports it is currently trying to use(there should also be a button that says "check port" or "test port" which will tell you if that particular port is open or not, i.e if port forwarding is enabled on that port already or not). Find your port number(for most torrent apps I've dealt with the ports used usually fall between 50,000 and 60,000) and write down or remember this port.
Now determine your router brand and possibly your model. Your model number is only needed if you don't remember the user name/password combo for your router (don't worry, it's usually guessable. Also, look underneath your router; sometimes when the default password is even remotely difficult, the username and password may be written on the bottom of the router(this is often the case if you are using a 2-in-1 modem/router from a cable provider such as Verizon). After you figure out your brand, determine the IP addresss of your router from the list below:

Linksys == 192.168.1.1
Netgear == 192.168.2.2
Belkin == 192.169.2.1
MAC Airport == 10.10.1.1 (only accessible through A Mac's Air Ulitity, typically not the browser)
Verizon == 192.168.1.1 (or a different IP which should be printed under router)

When you type that into your browser, you should be greeted with a pop-up box asking you for a user name and password. Try all the default passwords you know, including, but not limited to:
admin/pass
admin/admin
administrator/administrator
administrator/password
User/guest
admin/password1 (was verizons probably like 4 years ago)

*****If none of the methods I mentioned above worked for you for any reason, check out this site on how to port forward; it has step-by-step walk-throughs for each and every router brand and model. *****

 --------------------  How to actually forward ports  --------------------
Once you log in, find a section labeled "port forwarding" or maybe just "security" or "manage ongoing and outgoing connections". The router will then ask for your IP, a range of ports to allow, and what type of packets to forward (TCP, UDP, or both).
If you are running a windows machine, go to Run-> and type/choose(depending on version of windows) "cmd". Then type ifconfig all one word and hit enter. Your IP should pop up under eth0 if your usig a wired connection, wlan0 if your running off of WiFi.
Enter That IP as the IP the router is asking for. Then for the port range, just put the same port in both the port fields (so like 51,1337 - 51,1337), and then choose to allow Both UDP and TCP packets through the router on that port. Congratulations, your router is now allowing traffic to flow without any overhead on the port you specified. Torrent away.
Once again, if my instructions did not successfully forward the ports you needed, check out  www.portforward.com for an in depth walk through for port forwarding with Your specific router brand and model... Good luck!!

If you have any questions just leave a comment and I'll answer best as possible, thanks for your patience!

Sunday, April 3, 2011

The Basics #1: Torrents

Torrents!!! Odds are you know what torrents are, you've been using torrents since you came out of the womb, and you are seeding your entire porn collection right now, while downloading new House; and by House I mean porn. However, if you were not so fortunate as to be born with absolute knowledge of the universe, odds are you still fap to magazines and you have to continuously get new ones because they either get boring real quick, or all of the pages stick together... either way, torrents are the answer to your problems.
------------------------------ What is a Torrent? ------------------------------
A torrent is a file that contains meta data regarding  a specific file or files in question. It typically contains its name, size, other things, and most importantly it contains information about its whereabouts. The file.torrent will contain at least one tracker, which is a URL that points to a website which contains more tracking information. Ultimately, a torrent is a very very small file, maybe a few kilobytes or less which just contains information that a torrent client uses to find and download the torrent.
------------------------------ How Torrents work? ------------------------------
Torrents rely on the BitTorrent protocol. The BitTorrent protocol is a peer-to-peer (P2P) protocol in which seeders and leechers communicate with each other directly and exchange data. What makes torrents so unique is the way in which they utilize P2P file sharing. Let's assume that a large group of people (1000+) want to download a particular file that has just been uploaded by one BAMF (just one cool individual, if you don't know what BAMF stands for); in a classic P2P system such as Kazaa, Limewire, or Azerus, everyone would download from the individual that has a complete copy of the file. Once more people obtained completed copies, other people could download from them, but until other people successfully downloaded the file, the file could only be gotten from one person. Everyone trying to download a particular file from one source created a HUGE bottlenecking problem which could cause everyone to download at insanely slow speeds, or could possibly end up DOSing the uploader such that no one could get the file.
With BitTorrent, anyone with a completed file that they are uploading is considered a seeder because they are "seeding" (letting it sit on your computer and upload to others), whereas the people who are currently in the process of downloading a file are considered leechers because they are "leeching" (downloading) that file. Now, the fundamental difference with BitTorrent is that each file is broken down into a number of pieces (the actual number varies based off the size of the file in question), and any user can download different pieces from different people at the same time, even if the person they are downloading from has not finished downloading the entire file themselves. Simply put, leechers can leech from seeders, and leechers can also leech from other leechers. This allows for a much better distribution of bandwidth which avoids any hardcore bottlenecking problems.
------------------------------ Pros and Cons of Torrents ------------------------------
This also is the reason the BitTorrent protocol has become so popular amongst websites which distribute pirated software... it is extremely difficult for someone to determine what file I downloaded if I downloaded 5/200 pieces from source A, 20/200 from B, 1/200 from C, and so on and so on. The best part about this is that although I may not have the completed file, I can share what I have with other people who also may not have the completed file, but we can all download from each other and successfully obtain copies of the completed file in question even though technically there may never have been anyone seeding the file throughout the time I was downloading it; in other words, at any given point in time, no one may have a complete copy of a particular file, however all of the pieces are out there floating around such that it can be obtained. In theory, this is nice (and typically in practice it does work really well too), but it does depend on people seeding files, or at least uploading while they download. BitTorrent has created a new file sharing problem that is quite unique to torrents. The problem arises when people fail to seed the file they just downloaded or if a number of people aren't allowing uploading as they download (they aren't allowing anyone to leech from them). This will cause some pieces of the file to fall out of circulation (assuming there is no main seeder) which will result in you, and Everyone else that is leeching the file to get close to completion but stuck around 95-99% because a few pieces of the file are distributed to peers that either don't allow uploads or they finish downloading and don't seed
------------------------------ How-To Torrent ------------------------------
In order to download torrents you need two things: a torrent, and a torrent client.
Torrents themselves are typically found on websites because you can read reviews and ratings of the torrent in question. However, some torrent clients have a built in "search" feature that allows you to search for torrents that way for convenience... personally I would never download anything that way because you can't be 100% sure of its source and legitimacy.
Torrent Clients come in all shapes and sizes. If you are running a Linux distro such as Ubuntu (currently what I am using; highly recommended) it comes with the ability to handle torrents natively, with a bare-bones program called Transmission Client that will handle and manage your torrents for you. While this works, it looks really shitty and lacks key features I look for in a torrent client. If you are running Linux, I recommend getting a torrent client called Deluge.
$>sudo apt-get install deluge //if you are running Ubuntu
And if you are running any version of Microsoft Windows, I recommend you get a light weight program called uTorrent.
Once you have downloaded and installed a client, there are a few settings you may want to look for and enable if they are available to you.
*****Note: I am not responsible for any damages caused to your computer if you mess something up while installing anything, changing any settings, or browsing any of the following sites. I am also not responsible for the way in which you choose to use this torrenting software. I, of course, only using torrents to download 100% free and legal e-books. trollface.jpg******

If available, find and choose the following options:
- encrypt the steam of data (outgoing and ingoing) for your torrents.
- choose to ignore local bandwidth limits on your network.
- choose to carry out your torrent activity on Random ports.
- make sure you are uploading and at least seeding twice as much as you leech.
- set your download limit to unlimited (-1), and your upload limit high (~500Kbs).
- allow more active downloads if you download a lot of files at once.
- prioritize first and last piece of torrent, so that VLC or another media player you may have can at least attempt to play it for you if your anxious to see your porn.

Here are a few good sites to find torrents on:
The Pirate Bay - a classic, will never let you down. Also, they may be on the forefront of the legal battle of the intrawebz, so if your rich, donate.
IsoHunt - another classic; however, they used to be much much better until they got sued and had to revamp their site to become "isoHunt Lite"...
Kick Ass Torrents - a newer site, seems ok, but be weary of malicious files. Although often times I can find what I'm looking for on this site, if you search for "X09j34ioemrfi$#$f" it will consistently return like 3-4 files claiming to be EXACTLY what you searched for... ALWAYS read comments and check ratings before downloading any torrents.
h33t - A decent torrent site with plenty of filter options including HD and Anime
Demonoid - probably the best torrent site out on the web right now, and for a reason. It is a private torrent site that is invite-only, and you must maintain a positive seed-to-leech ratio otherwise your account will be closed. Comment on this article or get a hold of me and I'll consider giving you an invite. (Though I don't mind giving you an invite, I get penalized somehow if a person I referred has a negative seed/leech ratio, and I only get something like 1 inivite per month, so forgive me if I am unable to give you one).
What.CD - the most exclusive and best torrent site for everything music. This website only deals with music and typically keeps everything in FLAC (Free Lossless Audio Codec) which is extremely inefficient as far as compression is concerned but is the highest quality possible since nothing is compressed at all. This website is also invite only and I actually lost my account due to inactivity (what can I say... I don't listen to a whole lot of music... *shrug*).

If there are any better torrent clients you know of or personally use, or any torrent websites that are really good as well, please leave a comment and let me know, I would love to find new sites and test new clients. Thanks!

Saturday, April 2, 2011

Hello, here is the game plan.

Soooooo I've done it. I've conformed. I sold my soul, and now I am.... I am... a blogger *crowd gasps, I sigh*... It's ok though, I'll admit I've always been a hater (on blogging), but in reality I probably was just hating change, or the fact that no one would follow my blog if I created one. Who wants to listen to my fat a$$ anyways... (does it matter if I curse on my own blog? I'm assuming it won't bleep out bad words because this is America and we have Freedom of Speech and blah blah blah who cares lol).

What I'm actually trying to say, is that I now have a blog and I plan to use it to record all of my computer endeavors whether they be hardware or software. My blog will consist of a bunch of how-to tutorials on setting up and using certain software, while possible including a few on building a custom desktop computer from scratch or upgrading one instead. These tutorials will start with the most basic of basic how-to's such as how to use torrents and how to burn Images (.iso not .jpg or any other type of pictures) and slowly lead up to how to install and use Ubuntu and what all can be done with Ubuntu. My goal is to have a site laid out such that someone could follow through the tutorials and successfully have a computer setup similar or identical to mine right now, and then they could proceed to read my more advanced tutorial's on how to crack WEP encryption in 5 minutes or how to reverse a binary file.

I will start out with very very basic tutorials that explain how to torrent a file, how to port forward for games or better torrentig performance, and how to burn an image file. Then these skills will be used to install Linux on your machine, and then I will explain everything you need to know about Linux. Finally I will discuss everything I know how to do in Linux and the current things I am currently learning how to do.
I am a hacker from the University of South Florida with a Bachelors Degree in Computer Science. I am very interested in computer security and am currently learning x86 32-bit assembly language while completing "gera's insecure programming" buffer overflow challenges; welcome to my world... Let's begin.