What is Bit Torrent

Apr 30, 2009


Let’s start from some basics

Basic File sharing: Client-Server and P2P
Skip ahead if you know this part.

A few years ago the Internet was pretty easily divided into two groups: servers and clients. (Just like at a restaurant.) There weren’t that many servers, but their primary job was to hold web pages and files to be downloaded. They didn’t do much other than sit there and wait for people like you to request a web page or file. You, as the client, probably didn’t share any files or web pages with anyone. This segregation was primarily due to the fact that it takes a lot of outgoing bandwidth to share stuff. In a time before broadband DSL and cable modems, back in the days of dialup, most people didn’t have the bandwidth, let alone the knowhow to share stuff on their own. This old system was called client-server, appropriately enough, and it is still used today for the vast majority of stuff on the Internet, including web pages.

With the advent of broadband technologies such as DSL and cable modems, the everyday user like you suddenly has a big chunk of bandwidth, not only for download, but also upload. Sharing files directly from your computer (without first sending them to a server) is now a reality. This is where p2p comes in. The acronym p2p stands for peer-to-peer, which basically means client to client. That is, you download files from people like you instead of from big servers, and in turn they download files from you. You share your files, your friends share their files, and everyone talks directly to each other.




Introduction
Bit Torrent is a peer-to-peer file sharing (P2P) communication protocol. A Bit Torrent client is the application which uses that protocol. You can use Bit Torrent to share and download any type of file you want. It uses a principal called tit-for-tat. This means that in order to receive files, you have to give them. Bit Torrent downloads different pieces of the file you want simultaneously from multiple computers.

Unlike other download methods, Bit Torrent maximizes transfer speed by gathering pieces of the file you want and downloading these pieces simultaneously from people who already have them. This process makes popular and very large files, such as videos and television programs, download much faster than is possible with other protocols.

Developer
The protocol is the brainchild of programmer Bram Cohen, who designed it in April 2001 and released a first implementation on 2 July 2001. It is now maintained by Cohen’s company Bit Torrent, Inc.

How Bit Torrent works?
Before understanding how bit torrent works let us know some bit torrent jargon
  • Seeder = A computer with a complete copy of a Bit Torrent file. Seeder’s uploads the file; to get a file you need at least 1 seed
  • Leecher =People who download files but do not share files on their own computer with others (also known as a peer). Leecher’s downloads the file uploaded by a seeder (he can also upload the file for others to download)
  • Tracker = A program that keeps track of who has what and what pieces or A server that manages the Bit Torrent file-transfer process
  • Swarm = the group of computers involved with any one particular torrent. Or A group of computers simultaneously sending (uploading) or receiving (downloading) the same file. The number of computers that the swarm contains is found by adding the number of seeds to the number of peers.
  • Ratio = the amount you have downloaded to the amount you have uploaded.
To share a file or group of files, a peer first creates a small file called a “torrent” (e.g.” MyFile.torrent”). This file contains metadata about the files to be shared and about the tracker, the computer that coordinates the file distribution. Peers that want to download the file first obtain a torrent file for it, and connect to the specified tracker, which tells them from which other peers to download the pieces of the file.

Users browse the web to find a torrent of interest, download it, and open it with a Bit Torrent client. The client connects to the tracker(s) specified in the torrent file, from which it receives a list of peers currently transferring pieces of the file(s) specified in the torrent. The client connects to those peers to obtain the various pieces. Such a group of peers connected to each other to share a torrent is called a swarm. If the swarm contains only the initial seeder, the client connects directly to it and begins to request pieces. As peers enter the swarm, they begin to trade pieces with one another, instead of downloading directly from the seeder.

Clients incorporate mechanisms to optimize their download and upload rates; for example they download pieces in a random order to increase the opportunity to exchange data, which is only possible if two peers have different pieces of the file.

Summary
  • Bit Torrent client software communicates with a tracker to find other computers running Bit Torrent that have the complete file (seed computers) and those with a portion of the file (peers that are usually in the process of downloading the file).
  • The tracker identifies the swarms, which is the connected computers that have all of or a portion of the file and are in the process of sending or receiving it.
  • The tracker helps the client software trade pieces of the file you want with other computers in the swarm. Your computer receives multiple pieces of the file simultaneously.
  • If you continue to run the Bit Torrent client software after your download is complete, others can receive .torrent files from your computer; your future download rates improve because you are ranked higher in the “tit-for-tat” system.
Downloading pieces of the file at the same time helps solve a common problem with other peer-to-peer download methods: Peers upload at a much slower rate than they download. By downloading multiple pieces at the same time, the overall speed is greatly improved. The more computers involved in the swarm, the faster the file transfer occurs because there are more sources of each piece of the file. For this reason, Bit Torrent is especially useful for large, popular files.

The big differences with Torrents compared to other P2P networks are:
a) I don’t have to give the whole file to each person to get it out there - I can give a bit to each person
b) Once I have given a bit out, its availability has just increased, because someone else can then also give it out, and so on and so on. the speed of a torrent will generally get better as more and more people want it - unlike Soul Seek or other P2P apps where you just wait longer to get it!!
c) Torrents technically aren’t illegal. After all, a torrent is just a tiny little file with no copyrighted content. It’s a bit muddy water here though, as they can facilitate the transfer of copyrighted content.

Indexing
The Bit Torrent protocol provides no way to index torrent files. As a result, a comparatively small number of websites have hosted the large majority of torrents linking to (possibly) copyrighted material, rendering those sites especially vulnerable to lawsuits. Several types of websites support the discovery and distribution of data on the Bit Torrent network.
Public tracker sites such as The Pirate Bay allow users to search in and download from their collection of .torrent files; they also run Bit Torrent trackers for those files. Users can typically also upload .torrent files for content they wish to distribute.

Private tracker sites such as Demonoid operate like public ones except that they restrict access to registered users and keep track of the amount of data each user uploads and downloads, in an attempt to reduce leeching.

There are specialized tracker sites such as FlixFlux for films, bitme for educational content, fullcaliber.be for metal music, PureTnA for pornographic content, and TV torrents for television series. Often these will also be private.

Search engines allow the discovery of .torrent files that are hosted and tracked on other sites; examples include Mininova, Monova, BTJunkie, Torrentz and isoHunt. These sites allow the user to ask for content meeting specific criteria (such as containing a given word or phrase) and retrieve a list of links to .torrent files matching those criteria. This list is often sorted with respect to relevance or number of seeders. Bram Cohen launched a Bit Torrent search engine on http://search.bittorrent.com/ that commingles licensed content with search results.
Limitations and security vulnerabilities

Lack of anonymity
Bit Torrent does not offer its users anonymity. It is possible to obtain the IP addresses of all current, and possibly previous, participants in a swarm from the tracker. This may expose users with insecure systems to attacks.

The leech problem
Bit Torrent file sharers, compared to users of client/server technology, often have little incentive to become seeders after they finish downloading. The result of this is that torrent swarms gradually die out, meaning a lower possibility of obtaining older torrents. Some Bit Torrent websites have attempted to address this by recording each user’s download and upload ratio for all or just the user to see, as well as the provision of access to newer torrent files to people with better ratios. Users who have low upload ratios may see slower download speeds until they upload more. This prevents (statistical) leeching, since after a while they become unable to download much faster than 1-10 kB/s on a high-speed connection. Some trackers exempt dial-up users from this policy, because they cannot upload faster than 1-3 kB/s.

The cheater problem
There are “cheating” clients like BitThief which claim to be able to download without uploading, and because of this can sometimes download faster than regular clients. Such exploitation negatively affects the cooperative nature of the Bit Torrent protocol.

Some Important Things to Remember
  • Keep seeding till you achieve at least a 1:1 RATIO!!!
  • Once you have the file, it’s no good just closing your client and forgetting about it. In order to allow it to be shared for others you MUST continue to seed.
  • You are not invisible when you are in a swarm. Others, including copyright owners if they so wished, can see your IP when you are downloading or uploading a file.
  • If you use a torrent site which has a forum attached, take the time to say thanks to the poster of the torrent. It only takes a moment.
  • The speed at which you download is determined by things such as the Seed to Peer ratio, the seed(ers) upload bandwidth and of course your available download bandwidth. Try to download torrents that have lots of seeders and few peers in order to get faster speeds.
Some good sites
1.Public tracker sites The Pirate Bay.org (my best site)
2.Private tracker sites Demonoid (for registered users)
3.FlixFlux for films
4.bitme for educational content
5.fullcaliber.be for metal music
6.PureTnA for pornographic content
7.ICTorrent.com a forum based torrent site also contains a large no of useful torrents.

Last words
Bit Torrent is perfectly legal to use. However, it is illegal to download copyrighted materials in most countries. So if the file you’re downloading is copyrighted, then what you’re doing is not legal. Also never upload any copyrighted material on net and never seed any such file. If you have read the above article carefully then you will notice that your IP Addresses are not hidden. Help to protect n prevent PIRACY.

References
1. HowStuffWorks.com
2. Wikipedia
3. Basic File sharing: Client-Server and P2P: Don’t remember the source it is somewhat like tweaking Bit torrent and so on…
4. Some Important Things to Remember: Taken from ICTorrent.com Forums but don’t remember the author.

READ MORE - What is Bit Torrent

The Logon Process

Apr 29, 2009


WinLogon
Users must log on to a Windows NT machine in order to use that NT based machine or network. The logon process itself cannot be bypassed, it is mandatory. Once the user has logged on, an access token is created (this token will be discussed in more detail later).

This token contains user specific security information, such as: security identifier, group identifiers, user rights and permissions. The user, as well as all processes spawned by the user are identified to the system with this token.

The first step in the WinLogon process is something we are all familiar with,
CTRL+ALT+DEL. This is NT’s default Security Attention Sequence (SAS - The SAS key combo can be changed. We will also discuss that later.). This SAS is a signal to the operating system that someone is trying to logon. After the SAS is triggered, all user mode applications pause until the security operation completes or is cancelled. 
(Note: The SAS is not just a logon operation, this same key combination can be used for logging on, logging off, changing a password or locking the workstation.) The pausing, or closing, of all user mode applications during SAS is a security feature that most people take for granted and dont understand. Due to this pausing of applications, logon related trojan viruses are stopped, keyloggers (programs that run in memory, keeping track of keystrokes, therefor recording someones password) are stopped as well.




The user name is not case sensitive but the password is. After typing in your information and clicking OK (or pressing enter), the WinLogon process supplies the information to the security subsystem, which in turn compares the information to the Security Accounts Manager (SAM). If the information is compliant with the information in the SAM, an access token is created for the user. The WinLogon takes the access token and passes it onto the Win32 subsytem, which in turn starts the operating systems shell. The shell, as well as all other spawned processes will receive a token. This token is not only used for security, but also allows NTs auditing and logging features to track user usage and access of network resources.

Note: All of the logon components are located in a file known as the Graphical Indetification and Authentication (GINA) module, specifically MSGINA.DLL. Under certain conditions, this file can be replaced, which is how you would change the SAS key combination.
For fine tuning of the WinLogon process, you can refer to the registry. All of the options for the WinLogon process are contained in the

 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWinlogon

area. You can also fine tune the process by using the Policy Editor.
Logging on to a Domain If an NT machine is a participant on a Domain, you would not only need to login to the local machine, but the Domain as well. If a computer is a member of a Domain, the WinLogon process is replaced by the NetLogon process.

Image credits: se.edu
READ MORE - The Logon Process

What is Joomla?

Apr 28, 2009


What is Joomla?
Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone.

What’s a content management system (CMS)?
A content management system is software that keeps track of every piece of content on your Web site, much like your local public library keeps track of books and stores them. Content can be simple text, photos, music, video, documents, or just about anything you can think of. A major advantage of using a CMS is that it requires almost no technical skill or knowledge to manage. Since the CMS manages all your content, you don’t have to.

What are some real world examples of what Joomla! can do?

Joomla is used all over the world to power Web sites of all shapes and sizes. For example:
  • Corporate Web sites or portals
  • Corporate intranets and extranets
  • Online magazines, newspapers, and publications
  • E-commerce and online reservations
  • Government applications
  • Small business Web sites
  • Non-profit and organizational Web sites
  • Community-based portals
  • School and church Web sites
  • Personal or family homepages



Who uses Joomla?
Here are just a few examples of Web sites that use Joomla:
United Nations (Governmental organization) - http://www.unric.org
MTV Networks Quizilla (Social networking) - http://www.quizilla.com
L.A. Weekly (Online publication) - http://www.laweekly.com
IHOP (Restaurant chain) - http://www.ihop.com
Harvard University (Educational) - http://gsas.harvard.edu
Citibank (Financial institution intranet) - Not publicly accessible
The Green Maven (Eco-resources) - http://www.greenmaven.com
Outdoor Photographer (Magazine) - http://www.outdoorphotographer.com
PlayShakespeare.com (Cultural) - http://www.playshakespeare.com
Senso Interiors (Furniture design) - http://www.sensointeriors.co.za

More examples of companies using Joomla can be found in the Joomla Site Showcase Forum.

Read more here




READ MORE - What is Joomla?

Directx Explained

Apr 27, 2009


Ever wondered just what that enigmatic name means?
Gaming and multimedia applications are some of the most satisfying programs you can get for your PC, but getting them to run properly isn’t always as easy as it could be. First, the PC architecture was never designed as a gaming platform. Second, the wide-ranging nature of the PC means that one person’s machine can be different from another. While games consoles all contain the same hardware, PCs don’t: the massive range of difference can make gaming a headache.

To alleviate as much of the pain as possible, Microsoft needed to introduce a common standard which all games and multimedia applications could follow – a common interface between the OS and whatever hardware is installed in the PC, if you like. This common interface is DirectX, something which can be the source of much confusion.

DirectX is an interface designed to make certain programming tasks much easier, for both the game developer and the rest of us who just want to sit down and play the latest blockbuster. Before we can explain what DirectX is and how it works though, we need a little history lesson.
DirectX history



Any game needs to perform certain tasks again and again. It needs to watch for your input from mouse, joystick or keyboard, and it needs to be able to display screen images and play sounds or music. That’s pretty much any game at the most simplistic level.
Imagine how incredibly complex this was for programmers developing on the early pre-Windows PC architecture, then. Each programmer needed to develop their own way of reading the keyboard or detecting whether a joystick was even attached, let alone being used to play the game. Specific routines were needed even to display the simplest of images on the screen or play a simple sound.

Essentially, the game programmers were talking directly to your PC’s hardware at a fundamental level. When Microsoft introduced Windows, it was imperative for the stability and success of the PC platform that things were made easier for both the developer and the player. After all, who would bother writing games for a machine when they had to reinvent the wheel every time they began work on a new game? Microsoft’s idea was simple: stop programmers talking directly to the hardware, and build a common toolkit which they could use instead. DirectX was born.

How it works?
At the most basic level, DirectX is an interface between the hardware in your PC and Windows itself, part of the Windows API or Application Programming Interface. Let’s look at a practical example. When a game developer wants to play a sound file, it’s simply a case of using the correct library function. When the game runs, this calls the DirectX API, which in turn plays the sound file. The developer doesn’t need to know what type of sound card he’s dealing with, what it’s capable of, or how to talk to it. Microsoft has provided DirectX, and the sound card manufacturer has provided a DirectX-capable driver. He asks for the sound to be played, and it is – whichever machine it runs on.

From our point of view as gamers, DirectX also makes things incredibly easy – at least in theory. You install a new sound card in place of your old one, and it comes with a DirectX driver. Next time you play your favourite game you can still hear sounds and music, and you haven’t had to make any complex configuration changes.

Originally, DirectX began life as a simple toolkit: early hardware was limited and only the most basic graphical functions were required. As hardware and software has evolved in complexity, so has DirectX. It’s now much more than a graphical toolkit, and the term has come to encompass a massive selection of routines which deal with all sorts of hardware communication. For example, the DirectInput routines can deal with all sorts of input devices, from simple two-button mice to complex flight joysticks. Other parts include DirectSound for audio devices and DirectPlay provides a toolkit for online or multiplayer gaming.
DirectX versions
The current version of DirectX at time of writing is DirectX 9.0. This runs on all versions of Windows from Windows 98 up to and including Windows Server 2003 along with every revision in between. It doesn’t run on Windows 95 though: if you have a machine with Windows 95 installed, you’re stuck with the older and less capable 8.0a. Windows NT 4 also requires a specific version – in this case, it’s DirectX 3.0a.

With so many versions of DirectX available over the years, it becomes difficult to keep track of which version you need. In all but the most rare cases, all versions of DirectX are backwardly compatible – games which say they require DirectX 7 will happily run with more recent versions, but not with older copies. Many current titles explicitly state that they require DirectX 9, and won’t run without the latest version installed. This is because they make use of new features introduced with this version, although it has been known for lazy developers to specify the very latest version as a requirement when the game in question doesn’t use any of the new enhancements. Generally speaking though, if a title is version locked like this, you will need to upgrade before you can play. Improvements to the core DirectX code mean you may even see improvements in many titles when you upgrade to the latest build of DirectX. Downloading and installing DirectX need not be complex, either.

Upgrading DirectX
All available versions of Windows come with DirectX in one form or another as a core system component which cannot be removed, so you should always have at least a basic implementation of the system installed on your PC. However, many new games require the very latest version before they work properly, or even at all.

Generally, the best place to install the latest version of DirectX from is the dedicated section of the Microsoft Web site, which is found at www.microsoft.com/windows/directx. As we went to press, the most recent build available for general download was DirectX 9.0b. You can download either a simple installer which will in turn download the components your system requires as it installs, or download the complete distribution package in one go for later offline installation.
Another good source for DirectX is games themselves. If a game requires a specific version, it’ll be on the installation CD and may even be installed automatically by the game’s installer itself. You won’t find it on magazine cover discs though, thanks to Microsoft’s licensing terms.

Diagnosing problems
Diagnosing problems with a DirectX installation can be problematic, especially if you don’t know which one of the many components is causing your newly purchased game to fall over. Thankfully, Microsoft provides a useful utility called the DirectX Diagnostic Tool, although this isn’t made obvious. You won’t find this tool in the Start Menu with any version of Windows, and each tends to install it in a different place.

The easiest way to use it is to open the Start Menu’s Run dialog, type in dxdiag and then click OK. When the application first loads, it takes a few seconds to interrogate your DirectX installation and find any problems. First, the DirectX Files tab displays version information on each one of the files your installation uses. The Notes section at the bottom is worth checking, as missing or corrupted files will be flagged here.

The tabs marked Display, Sound, Music, Input and Network all relate to specific areas of DirectX, and all but the Input tab provide tools to test the correct functioning on your hardware. Finally, the More Help tab provides a useful way to start the DirectX Troubleshooter, Microsoft’s simple linear problem solving tool for many common DirectX issues.
source: Internet doesent remember the name and site of original author


READ MORE - Directx Explained

About Author

My photo
Working as an Automation Analyst, Ritesh is very passionate about developing tools and apps. His profile contains a long list of tools developed for Windows and apps for Android platform.