Search This Blog

Wednesday, December 30, 2009

+ A Basic Guide To The Internet

The Internet is a computer network made up of thousands of networks worldwide. No one knows exactly how many computers are connected to the Internet. It is certain, however, that these number in the millions.

No one is in charge of the Internet. There are organizations which develop technical aspects of this network and set standards for creating applications on it, but no governing body is in control. The Internet backbone, through which Internet traffic flows, is owned by private companies.

All computers on the Internet communicate with one another using the Transmission Control Protocol/Internet Protocol suite, abbreviated to TCP/IP. Computers on the Internet use a client/server architecture. This means that the remote server machine provides files and services to the user's local client machine. Software can be installed on a client computer to take advantage of the latest access technology.

An Internet user has access to a wide variety of services: electronic mail, file transfer, vast information resources, interest group membership, interactive collaboration, multimedia displays, real-time broadcasting, shopping opportunities, breaking news, and much more.

The Internet consists primarily of a variety of access protocols. Many of these protocols feature programs that allow users to search for and retrieve material made available by the protocol.

COMPONENTS OF THE INTERNET

WORLD WIDE WEB
The World Wide Web (abbreviated as the Web or WWW) is a system of Internet servers that supports hypertext to access several Internet protocols on a single interface. Almost every protocol type available on the Internet is accessible on the Web. This includes e-mail, FTP, Telnet, and Usenet News. In addition to these, the World Wide Web has its own protocol: HyperText Transfer Protocol, or HTTP. These protocols will be explained later in this document.

The World Wide Web provides a single interface for accessing all these protocols. This creates a convenient and user-friendly environment. It is no longer necessary to be conversant in these protocols within separate, command-level environments. The Web gathers together these protocols into a single system. Because of this feature, and because of the Web's ability to work with multimedia and advanced programming languages, the Web is the fastest-growing component of the Internet.

The operation of the Web relies primarily on hypertext as its means of information retrieval. HyperText is a document containing words that connect to other documents. These words are called links and are selectable by the user. A single hypertext document can contain links to many documents. In the context of the Web, words or graphics may serve as links to other documents, images, video, and sound. Links may or may not follow a logical path, as each connection is programmed by the creator of the source document. Overall, the Web contains a complex virtual web of connections among a vast number of documents, graphics, videos, and sounds.

Producing hypertext for the Web is accomplished by creating documents with a language called HyperText Markup Language, or HTML. With HTML, tags are placed within the text to accomplish document formatting, visual features such as font size, italics and bold, and the creation of hypertext links. Graphics and multimedia may also be incorporated into an HTML document. HTML is an evolving language, with new tags being added as each upgrade of the language is developed and released. The World Wide Web Consortium (W3C), led by Web founder Tim Berners-Lee, coordinates the efforts of standardizing HTML. The W3C now calls the language XHTML and considers it to be an application of the XML language standard.

The World Wide Web consists of files, called pages or home pages, containing links to documents and resources throughout the Internet.

The Web provides a vast array of experiences including multimedia presentations, real-time collaboration, interactive pages, radio and television broadcasts, and the automatic "push" of information to a client computer. Programming languages such as Java, JavaScript, Visual Basic, Cold Fusion and XML are extending the capabilities of the Web. A growing amount of information on the Web is served dynamically from content stored in databases. The Web is therefore not a fixed entity, but one that is in a constant state of development and flux.

For more complete information about the World Wide Web, see Understanding The World Wide Web.

E-MAIL
Electronic mail, or e-mail, allows computer users locally and worldwide to exchange messages. Each user of e-mail has a mailbox address to which messages are sent. Messages sent through e-mail can arrive within a matter of seconds.

A powerful aspect of e-mail is the option to send electronic files to a person's e-mail address. Non-ASCII files, known as binary files, may be attached to e-mail messages. These files are referred to as MIME attachments.MIME stands for Multimedia Internet Mail Extension, and was developed to help e-mail software handle a variety of file types. For example, a document created in Microsoft Word can be attached to an e-mail message and retrieved by the recipient with the appropriate e-mail program. Many e-mail programs, including Eudora, Netscape Messenger, and Microsoft Outlook, offer the ability to read files written in HTML, which is itself a MIME type.

TELNET
Telnet is a program that allows you to log into computers on the Internet and use online databases, library catalogs, chat services, and more. There are no graphics in Telnet sessions, just text. To Telnet to a computer, you must know its address. This can consist of words (locis.loc.gov) or numbers (140.147.254.3). Some services require you to connect to a specific port on the remote computer. In this case, type the port number after the Internet address. Example: telnet nri.reston.va.us 185.

Telnet is available on the World Wide Web. Probably the most common Web-based resources available through Telnet have been library catalogs, though most catalogs have since migrated to the Web. A link to a Telnet resource may look like any other link, but it will launch a Telnet session to make the connection. A Telnet program must be installed on your local computer and configured to your Web browser in order to work.

With the increasing popularity of the Web, Telnet has become less frequently used as a means of access to information on the Internet.

FTP
FTP stands for File Transfer Protocol. This is both a program and the method used to transfer files between computers. Anonymous FTP is an option that allows users to transfer files from thousands of host computers on the Internet to their personal computer account. FTP sites contain books, articles, software, games, images, sounds, multimedia, course work, data sets, and more.

If your computer is directly connected to the Internet via an Ethernet cable, you can use one of several PC software programs, such as WS_FTP for Windows, to conduct a file transfer.

FTP transfers can be performed on the World Wide Web without the need for special software. In this case, the Web browser will suffice. Whenever you download software from a Web site to your local machine, you are using FTP. You can also retrieve FTP files via search engines such as FtpFind, located at /http://www.ftpfind.com/. This option is easiest because you do not need to know FTP program commands.

E-MAIL DISCUSSION GROUPS
One of the benefits of the Internet is the opportunity it offers to people worldwide to communicate via e-mail. The Internet is home to a large community of individuals who carry out active discussions organized around topic-oriented forums distributed by e-mail. These are administered by software programs. Probably the most common program is the listserv.

A great variety of topics are covered by listservs, many of them academic in nature. When you subscribe to a listserv, messages from other subscribers are automatically sent to your electronic mailbox. You subscribe to a listserv by sending an e-mail message to a computer program called a listserver. Listservers are located on computer networks throughout the world. This program handles subscription information and distributes messages to and from subscribers. You must have a e-mail account to participate in a listserv discussion group. Visit Tile.net at /http://tile.net/ to see an example of a site that offers a searchablecollection of e-mail discussion groups.

Majordomo and Listproc are two other programs that administer e-mail discussion groups. The commands for subscribing to and managing your list memberships are similar to those of listserv.

USENET NEWS
Usenet News is a global electronic bulletin board system in which millions of computer users exchange information on a vast range of topics. The major difference between Usenet News and e-mail discussion groups is the fact that Usenet messages are stored on central computers, and users must connect to these computers to read or download the messages posted to these groups. This is distinct from e-mail distribution, in which messages arrive in the electronic mailboxes of each list member.

Usenet itself is a set of machines that exchanges messages, or articles, from Usenet discussion forums, called newsgroups. Usenet administrators control their own sites, and decide which (if any) newsgroups to sponsor and which remote newsgroups to allow into the system.

There are thousands of Usenet newsgroups in existence. While many are academic in nature, numerous newsgroups are organized around recreational topics. Much serious computer-related work takes place in Usenet discussions. A small number of e-mail discussion groups also exist as Usenet newsgroups.

The Usenet newsfeed can be read by a variety of newsreader software programs. For example, the Netscape suite comes with a newsreader program called Messenger. Newsreaders are also available as standalone products.

FAQ, RFC, FYI
FAQ stands for Frequently Asked Questions. These are periodic postings to Usenet newsgroups that contain a wealth of information related to the topic of the newsgroup. Many FAQs are quite extensive. FAQs are available by subscribing to individual Usenet newsgroups. A Web-based collection of FAQ resources has been collected by The Internet FAQ Consortium and is available at /http://www.faqs.org/.

RFC stands for Request for Comments. These are documents created by and distributed to the Internet community to help define the nuts and bolts of the Internet. They contain both technical specifications and general information.

FYI stands for For Your Information. These notes are a subset of RFCs and contain information of interest to new Internet users.

Links to indexes of all three of these information resources are available on the University Libraries Web site at /http://library.albany.edu/reference/faqs.html.

CHAT & INSTANT MESSENGING
Chat programs allow users on the Internet to communicate with each other by typing in real time. They are sometimes included as a feature of a Web site, where users can log into the "chat room" to exchange comments and information about the topics addressed on the site. Chat may take other, more wide-ranging forms. For example, America Online is well known for sponsoring a number of topical chat rooms.

Internet Relay Chat (IRC) is a service through which participants can communicate to each other on hundreds of channels. These channels are usually based on specific topics. While many topics are frivolous, substantive conversations are also taking place. To access IRC, you must use an IRC software program.

A variation of chat is the phenomenon of instant messenging. With instant messenging, a user on the Web can contact another user currently logged in and type a conversation. Most famous is America Online's Instant Messenger. ICQ, MSN and Yahoo are other commonly-used chat programs.

Other types of real-time communication are addressed in the tutorial Understanding the World Wide Web.

MUD/MUSH/MOO/MUCK/DUM/MUSE
MUD stands for Multi User Dimension. MUDs, and their variations listed above, are multi-user virtual reality games based on simulated worlds. Traditionally text based, graphical MUDs now exist. There are MUDs of all kinds on the Internet, and many can be joined free of charge. For more information, read one of the FAQs devoted to MUDs available at the FAQ site at

+ Increase Virtual RAM - To Make Your System Faster.

Follow the steps given below :-

1) Hold down the 'Windows' Key and Press the 'Pause/Break' button at the top right of your keyboard.
Another way is Right-Clicking 'My Computer' and then Select 'Properties'.

2) Click on the 'Advanced' tab.

3) Under 'Performance', click 'Settings'.

4) Then click the 'Advanced' tab on the button that pops up.

5) Under 'Virtual Memory' at the bottom, click 'Change'.

6) Click the 'Custom Size' button.

7) For the initial size (depending on your HD space), type in anywhere from 1000-1500 (although I use 4000), and for the Maximum size type in anywhere from 2000-2500 (although I use 6000).

8) Click 'Set', and then exit out of all of the windows.

9) Finally, Restart your computer.

10) You now have a faster computer and 1-2GB of Virtual RAM..!

Tuesday, December 29, 2009

+ What is the Best Type of Virus Protection ?

Many computers are vulnerable to various types of harmful software such as viruses, Trojans, and worms — collectively called malware. Having virus protection on a system is important to help protect data. As with most things, the best virus protection is prevention; an anti-malware program that will stop malware before it can get on your system. Possibly the most well known type of virus protection is an anti-virus software. However, it is also important to have an anti-spyware and a firewall installed and active on the system.

When looking for virus protection, consider first an anti-virus program. The important options for an anti-virus program are real time or on-access scanning, the ability to schedule a scan on a regular basis, and automatic e-mail scanning. It is also important to find an anti-virus that is easy to use and install, that is effective in both detecting and cleaning viruses, that will give you easy to understand notices of found viruses and what the program has done with it, and has good customer support. It is also necessary for the updating process to be easy so that the user can keep the software regularly updated. The scanning process should also be fast so the user does not get tempted to pause or stop the scan.

Firewalls are also important in keeping malicious objects off a computer. A firewall is a program that examines all messages going to and from the system and blocks those that do not meet certain criteria. This can stop malware from getting on to the system. A firewall does not, however, detect malware that has made its way onto the computer so regular anti-virus scanning is a must. Most computers will come with a firewall installed, but it is up to the user to make sure it is up and running.

Some users may find themselves being bombarded by pop-ups that are designed to sell them something. These pop-ups are types of spyware. Spyware can also steal personal information and change the computer’s configuration without the user’s knowledge. The solution to this is an anti-spyware program. A good anti-spyware will not only detect and remove spyware from the system but will also keep spyware off the system in the first place.

Those looking to protect their computers from viruses may find themselves tricked into buying fake virus protection. Such programs, called rogue anti-viruses, can be programmed to look just like legitimate anti-virus software. They often pop up when a user is on the internet and claim that the system is infected when, in fact, it may not be. If the user downloads the rogue software, it can cause problems on the system, including tricking the user into buying fake software, stealing information, corrupting files, disabling real computer and anti-virus updates, and stopping the user from visiting a real anti-virus website. Proper virus protection, coupled with knowledge of how these rogue anti-viruses work, will prevent users from succumbing to these attacks.

Of course, knowledge is the best form of virus protection. If an unknown — meaning that the user did not install it — virus protection window pops up claiming that the computer is at risk go to a trusted anti-virus scanner to check it out. It is wise to have an updated, running virus scanner on the system, but there are also good online virus scanners available. Viruses can also be stopped if the user does not click on any unexpected links—even if it looks like it is being sent by a person the user knows--before asking the sender if he or she sent it. Lastly, always try to download software straight from the publisher to ensure that the software is legitimate and not a virus.




+ Why Has My Computer Slowed ?

There are many reasons a computer can slow down with use and all of them are either preventable or fixable. Often the culprit turns out to be a combination of things, but in most cases a little simple maintenance can help get you back up to speed.

Has your computer slowed due to fragmentation? Every time a computer accesses information on a hard drive, it must seek out the requested data. If files are contiguously placed on the drive, this can occur quickly. However, with continued use files become fragmented. The times it takes to retrieve all parts of the file increases, slowing performance. “Defrag” tools are built into most operating systems and are also available online.

Is the hard drive nearly full? A full hard drive can also slow down a computer, leaving little available space for read/write processes. These processes use a portion of the disk’s free space as a virtual drive or “scratch pad.” In this case adding a second drive and distributing your data can improve performance.

Is your Windows™ or Vista™ registry corrupted or cluttered with junk? Over time the registry can become littered with incorrect values and false pointers from programs that don’t uninstall properly. This can be especially noticeable while booting into the desktop, as it might take noticeably longer than it once did. A registry cleaner will restore your registry to a clean, efficient state.

Have you recently upgraded your operating system? If you noticed the computer slowed after installing a new operating system, it could be that the new system requires more Random Access Memory (RAM) to run efficiently. For example, Microsoft™ Vista™ utilizes more RAM resources than Windows™ XP™. Install more RAM to alleviate a memory-based bottleneck.

Has your computer slowed because it hasn’t been routinely scanned for adware, spyware or viruses? Assuming the issues previously mentioned aren’t the problem, third party programs might be leeching resources. Adware, for example, is “free” software that continually gathers information and serves advertisements. This consumes both bandwidth and system resources. Adware can also be a source for security breaches.

Your computer might also have slowed due to spyware, commonly installed surreptitiously, imbedded inside what appears to be a benign program or email attachment. Spyware can hide its tracks while using your computer resources for its own benefit. Spyware scanners can check for and remove spyware.

It could be that your computer slowed due to a virus that is interfering with system processes. Some viruses are merely annoying while others cause repeated crashing, spontaneous rebooting, or the eradication of valuable data. If your computer does not have an anti-virus program running or if its database is out of date, your system might have picked up one or more bugs.

Has your computer slowed due to a root kit? A root kit is yet another type of infestation. This small program, installed secretly by ‘hitch-hiking’ its way on to your computer, allows a remote operator to control your computer without your knowledge. Hundreds, thousands, or in some cases over a million computers can be part of a single “robot network” known as a botnet. The controlling hacker can send a single command that propagates out to every computer in the botnet. Victims’ computers are often used for illegal purposes, such as participation in attacks on websites or email accounts. A root kit can also delete files or erase hard drives.

To keep a computer running its best, periodically defragment the hard drive(s), ensure you have plenty of room and sufficient RAM, and use scanning software to check for adware, spyware and root kits. Install a good anti-virus program that provides regular database updates, and keep a firewall running to block unwanted intrusions. Periodic cleaning of the registry is also a good idea. These tasks can be scheduled to run automatically using any common scheduling program.

There are many freeware and shareware programs available for scanning your computer, defragmenting the drives, cleaning the registry, and searching for root kits. For advice on which software to use, try referring to current issues of popular online computer magazines and technology websites. Read the editor’s reviews and user reviews to find the most popular, proven programs.

Monday, December 28, 2009

+ What is a 'Hacker' ? Is that the same as a 'hax0r' ?

Question: What is a 'Hacker'? Is that the same as a 'hax0r'?

You've heard of "hackers", and you've seen sensationalized versions of hackers in movies. But what exactly is a hacker? And are they the same as "haxors"?

Answer: A hacker (also spelled creatively as "haxor" and "Hax0r") is a computer user who, for either negative or positive motivations, will manipulate and break into computer systems.

Originally, a hacker of the 1980's was strictly evil and dishonest: a criminal who would illegally and unethically take control of computers and networks. And indeed, that criminal definition still applies today in the 21st century. However, the term hacker has also broadened to include non-criminal computer users. Today, "hacker" encompasses both "black hat" and "white hat" computer users with special systems knowledge:

There are four modern types of hackers:

1. Black Hat: Criminal Hackers
2. White Hat: Ethical Hackers
3. White Hat: Computer Artists/Academics
4. White Hat: Hobby Tinkerers

1) Classic "Black Hat" Hackers = Lawbreakers
This is the classic definition of a hacker: a computer user who willfully seeks to vandalize or commit theft on other people's networks. This classic hacker is also known as a "black hat hacker" because of his malicious motivations. Black hats are gifted but unethical computer users who are motivated by feelings of power and petty revenge. They are electronic thugs, in every sense of the word, and share the same personality traits as punk teens who smash bus stop windows for personal satisfaction.

Black hat hackers are renowed for the following common cybercrimes:

      .DOS/DDOS attacks that overload Internet servers.
      .Defacing websites by hijacking control and replacing
         the main page photos with rude slogans.
      .Performing identity theft by stealing private information
         of individuals.
     .Botnetting: taking remote control of dozens of personal
         computers, and programming them to "zombie" as spam broadcasters.

2) White Hat "Ethical Hackers" = Modern Security Technicians
Different from the classic black hat hackers, white hat hackers have honorable, or at least benign, motivations. A white hat "ethical hacker" is a talented user computer security user who is employed to help to protect computer networks. These white hats are very much like former convicts who take on work as store security guards. While they themselves may not be completely ethical, their vocation is considered white hat. These ethical hackers perform very technical security work in exchange for money. It is not surprising to see ethical hackers spending their paychecks on very expensive personal computers in their personal lives, so they can play online games after work. As long as they have a good paying job to support their personal habits, an ethical hacker is usually not motivated to destroy nor steal from their employer.

3) White Hat "Academic Hackers" = Creative Computer Artists
An "academic hacker" is not interested in vandalizing or stealing, but rather in creating clever programs and beautiful interfaces. If you are an academic hacker, for example, you will take existing programmatic code, and improve upon it through clever alterations and additions. "Academic hacking" is about obsessively innovating computer code so that it becomes more beautiful or more efficient as a program. Academic hackers, in general, are harmless and do not seek to hurt other people's networks. Academic white hats are often graduate students in computer programming.

4) White Hat "Hobby Hackers" = Home Tinkerers
There are many white hat "hobby hackers" out there. These are users who like to disassemble and modify their own computers for hobby pleasure. Many hobby hackers are gamers who want to extract even more performance from their gaming computers. These individuals will often spend thousands of dollars on custom computer cases and liquid cooling modifications. But hobby hackers also like to do small "white collar crimes", like downloading pirated movies and music. By this definition, yes, millions of p2p downloaders are hobby hackers. And indeed, if you have ever modified your router and firewall to allow faster p2p downloads, you could describe yourself as a hobby hacker. Gratefully, only a small percentage of hobby hackers ever escalate into becoming unethical hackers.

Question: are you a hobby hacker?

Answer: if you obsessively tinker with your computer hardware and software, the answer is yes, you are a white hat hobby hacker. In 2009, this connotation is not a negative thing.

+ Basic Hacking Skills Tutorial PART - II

The hacker attitude is vital, but skills are even more vital. Attitude is no substitute for competence, and there's a certain basic toolkit of skills which you have to have before any hacker will dream of calling you one.



This toolkit changes slowly over time as technology creates new skills and makes old ones obsolete. For example, it used to include programming in machine language, and didn't until recently involve HTML. But right now it pretty clearly includes the following:

   1. Learn how to program.

This, of course, is the fundamental hacking skill. If you don't know any computer languages, I recommend starting with Python. It is cleanly designed, well documented, and relatively kind to beginners. Despite being a good first language, it is not just a toy; it is very powerful and flexible and well suited for large projects. I have written a more detailed evaluation of Python. Good tutorials are available at the Python web site.



Java is also a good language for learning to program in. It is more difficult than Python, but produces faster code than Python. I think it makes an excellent second language. Unfortunately, Sun's reference implementation is still proprietary. This is not so much an issue with the Java language itself, as high-quality open-source Java interpreters are readily available; the real problem is the class libraries that travel with the language. The open-source class libraries lag behind Sun's. So, if you do choose to learn Java, do it with one of the open-source implementations rather than becoming dependent on Sun's proprietary code.



But be aware that you won't reach the skill level of a hacker or even merely a programmer if you only know one or two languages; you need to learn how to think about programming problems in a general way, independent of any one language. To be a real hacker, you need to get to the point where you can learn a new language in days by relating what's in the manual to what you already know. This means you should learn several very different languages.



If you get into serious programming, you will have to learn C, the core language of Unix. C++ is very closely related to C; if you know one, learning the other will not be difficult. Neither language is a good one to try learning as your first, however. And, actually, the more you can avoid programming in C the more productive you will be.

C is very efficient, and very sparing of your machine's resources. Unfortunately, C gets that efficiency by requiring you to do a lot of low-level management of resources (like memory) by hand. All that low-level code is complex and bug-prone, and will soak up huge amounts of your time on debugging. With today's machines as powerful as they are, this is usually a bad tradeoff — it's smarter to use a language that uses the machine's time less efficiently, but your time much more efficiently. Thus, Python.



Other languages of particular importance to hackers include Perl and LISP. Perl is worth learning for practical reasons; it's very widely used for active web pages and system administration, so that even if you never write Perl you should learn to read it. Many people use Perl in the way I suggest you should use Python, to avoid C programming on jobs that don't require C's machine efficiency. You will need to be able to understand their code.



LISP is worth learning for a different reason — the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot. (You can get some beginning experience with LISP fairly easily by writing and modifying editing modes for the Emacs text editor, or Script-Fu plugins for the GIMP.)



It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP. Besides being the most important hacking languages, they represent very different approaches to programming, and each will educate you in valuable ways.



I can't give complete instructions on how to learn to program here — it's a complex skill. But I can tell you that books and courses won't do it (many, maybe most of the best hackers are self-taught). You can learn language features — bits of knowledge — from books, but the mind-set that makes that knowledge into living skill can be learned only by practice and apprenticeship. What will do it is (a) reading code and (b) writing code.



Peter Norvig, who is one of Google's top hackers and the co-author of the most widely used textbook on AI, has written an excellent essay called Teach Yourself Programming in Ten Years. His "recipe for programming success" is worth careful attention.



Learning to program is like learning to write good natural language. The best way to do it is to read some stuff written by masters of the form, write some things yourself, read a lot more, write a little more, read a lot more, write some more ... and repeat until your writing begins to develop the kind of strength and economy you see in your models.



Finding good code to read used to be hard, because there were few large programs available in source for fledgeling hackers to read and tinker with. This has changed dramatically; open-source software, programming tools, and operating systems (all built by hackers) are now widely available. Which brings me neatly to our next topic...



    2. Get one of the open-source Unixes and learn to use and run it.

I'll assume you have a personal computer or can get access to one. (Take a moment to appreciate how much that means. The hacker culture originally evolved back when computers were so expensive that individuals could not own them.) The single most important step any newbie can take toward acquiring hacker skills is to get a copy of Linux or one of the BSD-Unixes or OpenSolaris, install it on a personal machine, and run it.



Yes, there are other operating systems in the world besides Unix. But they're distributed in binary — you can't read the code, and you can't modify it. Trying to learn to hack on a Microsoft Windows machine or under any other closed-source system is like trying to learn to dance while wearing a body cast.



Under Mac OS X it's possible, but only part of the system is open source; you're likely to hit a lot of walls, and you have to be careful not to develop the bad habit of depending on Apple's proprietary code. If you concentrate on the Unix under the hood you can learn some useful things.



Unix is the operating system of the Internet. While you can learn to use the Internet without knowing Unix, you can't be an Internet hacker without understanding Unix. For this reason, the hacker culture today is pretty strongly Unix-centered. (This wasn't always true, and some old-time hackers still aren't happy about it, but the symbiosis between Unix and the Internet has become strong enough that even Microsoft's muscle doesn't seem able to seriously dent it.)



So, bring up a Unix; I like Linux myself but there are other ways (and yes, you can run both Linux and Microsoft Windows on the same machine). Learn it. Run it. Tinker with it. Talk to the Internet with it. Read the code. Modify the code. You'll get better programming tools (including C, LISP, Python, and Perl) than any Microsoft operating system can dream of hosting, you'll have fun, and you'll soak up more knowledge than you realize you're learning until you look back on it as a master hacker.



For more about learning Unix, see The Loginataka. You might also want to have a look at The Art Of Unix Programming.



To get your hands on a Linux, see the Linux Online! site; you can download from there or (better idea) find a local Linux user group to help you with installation. From a new user's point of view, all Linux distributions are pretty much equivalent.



You can find BSD Unix help and resources at www.bsd.org.



I have written a primer on the basics of Unix and the Internet.

(Note: I don't really recommend installing either Linux or BSD as a solo project if you're a newbie. For Linux, find a local Linux user's group and ask for help.)

3. Learn how to use the World Wide Web and write HTML.

Most of the things the hacker culture has built do their work out of sight, helping run factories and offices and universities without any obvious impact on how non-hackers live. The Web is the one big exception, the huge shiny hacker toy that even politicians admit has changed the world. For this reason alone (and a lot of other good ones as well) you need to learn how to work the Web.



This doesn't just mean learning how to drive a browser (anyone can do that), but learning how to write HTML, the Web's markup language. If you don't know how to program, writing HTML will teach you some mental habits that will help you learn. So build a home page. Try to stick to XHTML, which is a cleaner language than classic HTML. (There are good beginner tutorials on the Web; here's one.)



But just having a home page isn't anywhere near good enough to make you a hacker. The Web is full of home pages. Most of them are pointless, zero-content sludge — very snazzy-looking sludge, mind you, but sludge all the same (for more on this see The HTML Hell Page).



To be worthwhile, your page must have content — it must be interesting and/or useful to other hackers. And that brings us to the next topic...



4. If you don't have functional English, learn it.

As an American and native English-speaker myself, I have previously been reluctant to suggest this, lest it be taken as a sort of cultural imperialism. But several native speakers of other languages have urged me to point out that English is the working language of the hacker culture and the Internet, and that you will need to know it to function in the hacker community.



Back around 1991 I learned that many hackers who have English as a second language use it in technical discussions even when they share a birth tongue; it was reported to me at the time that English has a richer technical vocabulary than any other language and is therefore simply a better tool for the job. For similar reasons, translations of technical books written in English are often unsatisfactory (when they get done at all).



Linus Torvalds, a Finn, comments his code in English (it apparently never occurred to him to do otherwise). His fluency in English has been an important factor in his ability to recruit a worldwide community of developers for Linux. It's an example worth following.



Being a native English-speaker does not guarantee that you have language skills good enough to function as a hacker. If your writing is semi-literate, ungrammatical, and riddled with misspellings, many hackers (including myself) will tend to ignore you. While sloppy writing does not invariably mean sloppy thinking, we've generally found the correlation to be strong; and we have no use for sloppy thinkers. If you can't yet write competently, learn to.

+ A BEGINNERS GUID FOR HACKING UNIX

HACKING UNIX -  IN THE FOLLOWING FILE, ALL REFERENCES MADE TO THE NAME UNIX, MAY ALSO BE SUBSTITUTED TO THE XENIX OPERATING SYSTEM. BRIEF HISTORY: BACK IN THE EARLY SIXTIES, DURING THE DEVELOPMENT OF THIRD GENERATION COMPUTERS AT MIT, A GROUP OF PROGRAMMERS STUDYING THE POTENTIAL OF COMPUTERS, DISCOVERED THEIR ABILITY OF PERFORMING TWO OR MORE TASKS SIMULTANEOUSLY. BELL LABS, TAKING NOTICE OF THIS DISCOVERY, PROVIDED FUNDS FOR THEIR DEVELOPMENTAL SCIENTISTS TO INVESTIGATE INTO THIS NEW FRONTIER. AFTER ABOUT 2 YEARS OF DEVELOPMENTAL RESEARCH, THEY PRODUCED AN OPERATING SYSTEM THEY CANLMD "UNIX". SIXTIES TO CURRENT: DURING THIS TIME BELL SYSTEMS INSTALLED THE UNIX SYSTEM TO PROVIDE THEIR COMPUTER OPERATORS WITH THE ABILITY TO MULTITASK SO THAT THEY COULD BECOME MORE PRODUCTIVE, AND EFFICIENT. ONE OF THE SYSTEMS THEY PUT ON THE UNIX SYSTEM WAS CALLED "ELMOS". THROUGH ELMOS MANY TASKS (I.E. BILLING,AND INSTALLATION RECORDS) COULD BE DONE BY MANY PEOPLE USING THE SAME MAINFRAME. NOTE: COSMOS IS ACCESSED THROUGH THE ELMOS SYSTEM. CURRENT: TODAY, WITH THE DEVELOPMENT OF MICRO COMPUTERS, SUCH MULTITASKING CAN BE ACHIEVED BY A SCALED DOWN VERSION OF UNIX (BUT JUST AS POWERFUL). MICROSOFT,SEEING THIS DEVELOPMENT, OPTED TO DEVELOP THEIR OWN UNIX LIKE SYSTEM FOR THE IBM LINE OF PC/XT'S. THEIR RESULT THEY CALLED XENIX (PRONOUNCED ZEE-NICKS). BOTH UNIX AND XENIX CAN BE EASILY INSTALLED
ON IBM PC'S AND OFFER THE SAME FUNCTION
(JUST 2 DIFFERENT VENDORS).


NOTE: DUE TO THE MANY DIFFERENT
VERSIONS OF UNIX (BERKLEY UNIX,
BELL SYSTEM III, AND SYSTEM V
THE MOST POPULAR) MANY COMMANDS
FOLLOWING MAY/MAY NOT WORK. I HAVE
WRITTEN THEM IN SYSTEM V ROUTINES.
UNIX/XENIX OPERATING SYSTEMS WILL
BE CONSIDERED IDENTICAL SYSTEMS BELOW.

HOW TO TELL IF/IF NOT YOU ARE ON A
UNIX SYSTEM: UNIX SYSTEMS ARE QUITE
COMMON SYSTEMS ACROSS THE COUNTRY.
THEIR SECURITY APPEARS AS SUCH:

LOGIN; (OR LOGIN;)
PASSWORD:

WHEN HACKING ON A UNIX SYSTEM IT IS
BEST TO USE LOWERCASE BECAUSE THE UNIX
SYSTEM COMMANDS ARE ALL DONE IN LOWER-
CASE.
LOGIN; IS A 1-8 CHARACTER FIELD. IT IS
USUALLY THE NAME (I.E. JOE OR FRED)
OF THE USER, OR INITIALS (I.E. J.JONES
OR F.WILSON). HINTS FOR LOGIN NAMES

CAN BE FOUND TRASHING THE LOCATION OF
THE DIAL-UP (USE YOUR CN/A TO FIND
WHERE THE COMPUTER IS).
PASSWORD: IS A 1-8 CHARACTER PASSWORD
ASSIGNED BY THE SYSOP OR CHOSEN BY THE
USER.
COMMON DEFAULT LOGINS
--------------------------
LOGIN; PASSWORD:
ROOT ROOT,SYSTEM,ETC..
SYS SYS,SYSTEM
DAEMON DAEMON
UUCP UUCP
TTY TTY
TEST TEST
UNIX UNIX
BIN BIN
ADM ADM
WHO WHO
LEARN LEARN
UUHOST UUHOST
NUUCP NUUCP

IF YOU GUESS A LGIN NAME AND YOU ARE
NOT ASKED FOR A PASSWORD, AND HAVE
ACCESSED TO THE SYSTEM, THEN YOU HAVE
WHAT IS KNOWN AS A NON-GIFTED ACCOUNT.
IF YOU GUESS A CORRECT LOGIN AND PASS-
WORD, THEN YOU HAVE A USER ACCOUNT.
AND, IF YOU GUESS THE ROOT PASSWORD,
THEN YOU HAVE A "SUPER-USER" ACCOUNT.
ALL UNIX SYSTEMS HAVE THE FOLLOWING
INSTALLED TO THEIR SYSTEM:
ROOT, SYS, BIN, DAEMON, UUCP, ADM
ONCE YOU ARE IN THE SYSTEM, YOU WILL
GET A PROMPT. COMMON PROMPTS ARE:

$
%
#

BUT CAN BE JUST ABOUT ANYTHING THE
SYSOP OR USER WANTS IT TO BE.

THINGS TO DO WHEN YOU ARE IN: SOME
OF THE COMMANDS THAT YOU MAY WANT TO
TRY FOLLOW BELOW:

WHO IS ON (SHOWS WHO IS CURRENTLY
LOGGED ON THE SYSTEM.)
WRITE NAME (NAME IS THE PERSON YOU
WISH TO CHAT WITH)
TO EXIT CHAT MODE TRY CTRL-D.
EOT=END OF TRANSFER.

LS -A               (LIST ALL FILES IN CURRENT
                          DIRECTORY.)
DU -A              (CHECKS AMOUNT OF MEMORY
                          YOUR FILES USE;DISK USAGE)
CD\NAME       (NAME IS THE NAME OF THE
                          SUB-DIRECTORY YOU CHOOSE)
CD\                  (BRINGS YOUR HOME DIRECTORY
                         TO CURRENT USE)
CAT NAME    (NAME IS A FILENAME EITHER
                         A PROGRAM OR DOCUMENTATION
                         YOUR USERNAME HAS WRITTEN)
               MOST UNIX PROGRAMS ARE WRITTEN
               IN THE C LANGUAGE OR PASCAL
               SINCE UNIX IS A PROGRAMMERS'
               ENVIRONMENT.
ONE OF THE FIRST THINGS DONE ON THE
SYSTEM IS PRINT UP OR CAPTURE (IN A
BUFFER) THE FILE CONTAINING ALL USER
NAMES AND ACCOUNTS. THIS CAN BE DONE
BY DOING THE FOLLOWING COMMAND:

CAT /ETC/PASSWD

IF YOU ARE SUCCESSFUL YOU WILL A LIST
OF ALL ACCOUNTS ON THE SYSTEM. IT
SHOULD LOOK LIKE THIS:

ROOT:HVNSDCF:0:0:ROOT DIR:/:
JOE:MAJDNFD:1:1:JOE COOL:/BIN:/BIN/JOE
HAL::1:2:HAL SMITH:/BIN:/BIN/HAL

THE "ROOT" LINE TELLS THE FOLLOWING
INFO :
LOGIN NAME=ROOT
HVNSDCF = ENCRYPTED PASSWORD
0 = USER GROUP NUMBER
0 = USER NUMBER
ROOT DIR = NAME OF USER
/ = ROOT DIRECTORY

IN THE JOE LOGIN, THE LAST PART
"/BIN/JOE " TELLS US WHICH DIRECTORY
IS HIS HOME DIRECTORY (JOE) IS.

IN THE "HAL" EXAMPLE THE LOGIN NAME IS
FOLLOWED BY 2 COLONS, THAT MEANS THAT
THERE IS NO PASSWORD NEEDED TO GET IN
USING HIS NAME.

CONCLUSION: I HOPE THAT THIS FILE
WILL HELP OTHER NOVICE UNIX HACKERS
OBTAIN ACCESS TO THE UNIX/XENIX
SYSTEMS THAT THEY MAY FIND. THERE IS
STILL WIDE GROWTH IN THE FUTURE OF UNIX,
SO I HOPE USERS WILL NOT ABUSE
ANY SYSTEMS (UNIX OR ANY OTHERS) THAT
THEY MAY HAPPEN ACROSS ON THEIR
JOURNEY ACROSS THE ELECTRONIC HIGHWAYS OF AMERICA. THERE IS MUCH MORE TO BE LEARNED ABOUT THE UNIX SYSTEM THAT I HAVE NOT COVERED. THEY MAY BE FOUND BY BUYING A BOOK ON THE UNIX SYSTEM (HOW I LEARNED) OR IN THE FUTURE I MAY WRITE A PART II TO THIS........