| asdf |
I use the phrase "I'll explain later" a lot of times also. I don't expect you to understand all this the first time. Don't try and read more than a few screens at once, then go watch tv or something for a few hours or till the next day. I could remove stuff and simplify it, and just teach you how to use computers, but I want you to really understand them. Most book authors add a lot of bullshit, reviews, repeating themselves, etc. in order to slow down your pace of learning (in other words, dilute the information), so that you can understand it. My method, although not as good, is just to present the facts and explain them as best I can, and just tell you not to read too much at once or expect you to understand it immediately, or all of it for that matter. So you're not retarded at all, just review it, keep reading it, till you get it. If your frustrated, leave, get some sleep, and come back. Wait... I'm repeating myself already, aren't I? Yeah, I am... so let's get started... Oh wait one more thing, here's the FAQ for this page: Bits and Bytes A bit is a simple "yes" or "no", 0 or 1. A byte is composed of 8 bits. A byte's value is from 0 to 255. Here's a sample byte:
64+32 +8+2+1 =107 so this byte is 107. Notice the numbers in the 2nd table are all powers of two if you don't understand this.
Dos and Filez
Now let's type in a Dos command: C:\>cd\windows C:\windows\> Now we're talking about the windows "folder" in any commands we give. The CD [folder] brings you into another folder: C:\windows\>cd system C:\windows\system> The CD .. brings you down a folder C:\windows\system>cd .. C:\windows\>cd .. C:\> Shortcut: Instead of doing CD twice we can do it once like this: C:\windows\system\>cd\ C:\> Another shortcut: C:\>cd\windows\system C:\windows\system\> c:\windows\system>dir The above command will list the files in the system folder, which is a folder inside the windows folder. Make sure you understand all this before we got on File endings: Typically, a file in dos is it's name followed by a period, followed by a 3-character extension. The name is what the file's supposed to be called. The 3 character extension tells what kind of file it is, such as html, text, exe, etc. Now although Dos is obsolete, this concept, which is used on almost all computer systems, is not at all obsolete and probably won't be obsolete until IBM's slogan is "solutions for a small galaxy." The wildcards concept Instead of a filename or directory name, you can specify wildcards. An asterix (*) translates into "anything here". You can use it in place of a filename, except when creating a file. For example, dir *.EXE, means all files that end in .EXE. Dir a*.EXE means all files which start with a and end in EXE. Or you could do dir *.EX* which would mean, all files where the first 2 letters of the extention are EX. windows also lets you type some wildcards when searching for files, or in a directory box. * = Some computer companies and hard drive makes call a megabyte a million bytes and a gigabyte exactly a billion, even though it is actually more. They do this to rip you off, but it's not exactly false advertising. Who can prove that a "gigabyte" is over a billion. In latin, giga even means billion. Note: The importance of 1024 is because it is two to the 10th power (In case you don't know much algebra: 2 to the 1st power is 2; 2 to the 2nd power is 4; 2 to the 3rd power is 8; etc.) Dos has a stupid limit of 640K for programs written in 16-bit mode. Programs written in 32-bit mode, however, do not have this limit. Some people would argue that Dos is a dead operating system because: As for the first one, OS/2, which is a newer system, but still compatible with dos, makes a lot of improvements, it's even 32 bits. As for the second one, that is what makes it so good! No bullshit microsoft stuff, no DLL filez(I'll explain them later), no slow graphics, but just the pure, near-infinite (by human standards) power of the processor which is not confined to the laws of motion like we are(i hope you understand that computers use electricty, and in this universe elecricity is not fast at all; us physical life forms are slow), optional virtual memory which you can tweak and tune yourself, and the full 8 or 16 megabytes of the machine to work with. The only problem is that it can only transfer 16 bits at once with the hard drive and cd-rom. The real reason Dos is dead, therefore, is because microsoft decided that they couldn't monopolize such a simple, wonderful system, so instead they made windows. As a programmer I know that in terms of speed, efficiency, bullshit, overhead, stuff nobody understands, bearocracy, hard to find information, and getting in the way, windows 95 is the computer equivalent of the government. (Although visual basic is a pretty fast programming language to write in, it's not as powerful as Dos and totally restricts writing any kind of utility software. Windows behind the screen is fairly undocumented in comparison to dos, which is why I know so much more about dos.
For more dos commands, type "help" at the Dos prompt. Don't carelessly experiment with the delete command or format your hard drive. Also, something I learned the hard way (and without backups), is, don't ever press escape and cancel while you are running doublespace or defragmenting your compressed drive(s), even though it lets you click OK and doesn't warn you of any risk of losing data. Typing To type you keep your fingers on the "home row", which is "asdfghjkl;'". The A and J keys each have a little bump on them. This is so you can feel which keys are which without looking at the keyboard. Your indexfingers should be on these keys. Each of the keys to the right of J and left of f are for the fingers right and left of those keys. The 2 index fingers also get G (left) and H (right). The fingers should stay on the keys. You lightly tap the keys, that's faster. Also, just remember this: If it's in the "qwertyuip" row, then it's the same finger as the key below and slightly right of it. If it's in the "zxcvbnm,." row, it's the same finger as the key above and slightly to the right. You should sit up straight when you type you'll type better that way. Just practice and you'll get good at it pretty fast. When you're good you shouldn't have to look at the keyboard. Text editors: The "cursor" is whatever blinks. This is where you type stuff. To move it up, down, right, and left, use the arrow keys. If you move to the edge of the screen, the document will move up or down so that your cursor stays on the screen. PGUP (pageup) and PGDN keys move up or down a screen at once. Press insert to toggle insert and overwrite modes - insert inserts the text (moves everything right one to make room for more text), while overwrite mode will erase the character at the cursor to make room for the new once. The delete key deletes the character at the cursor. The backspace key(the one on the upper-right corner of the main area on the keyboard) deletes the character before the cursor. CTRL+HOME= start. CTRL+END=end. To select text, hold shift and use any other of the cursor movement keys above. Or, click the mouse on it, hold it down, and move the mouse around to select text, then let it up until the text stays highlighted. Once it's highlighted, you can cut or copy it (from the menu), both of which put it on the clipboard. Paste (CTRL+V or use edit menu) inserts whatever's on the clipboards into the document, at the place where the cursor is. To get to Dos's built-in editor, type "edit" at the Dos prompt. You can also use it to type html. It's my favorite text editor for most purposes. TIP: To find a place in your document, use the search (somewhere on the menu) and type a word that would only be at that place Tip: It's smart to save your work every 10 minutes in case the power goes out, you step on the computer's surge protector/outlet switch, or you mess up. HTML and Web Design
How html works Html is pretty simple, you just type the text you want and insert special codez into it. For example, to insert an image, you would type <IMG SRC="http://www.locationofimage.com/directory/image"> and that image would appear there. A simple html code is: normal text<Font Size=+X>bigger text </FONT> normal text Other codes are <BR> which inserts a "line break" (goes to next line), A HREF=placetolinkto> </A> you get the idea. In your browser, click on view, then document source to see the html that makes a web page.
Standard URL syntax: Just as Dos uses folders for files, web servers do too. There is sometimes a "document root" which means the so called outermost folder is actually inside another invisible folder, but for simpleness let's just forget this for now Here's a sample URL http:/www.server.com/~madhacker/hackpagez/hack.htm The www.server.com is the "name" of the computer where this file is located. I'll get into this in detail later. ~madhacker/hackpagez/ is the Folders to go to find the file. hack.htm is the name of the file. How forms workHere's a sample form: <FORM ACTION=http://www.server.com/cgi-bin/join.cgi METHOD=POST> <INPUT TYPE=text width=35 Name=firstname> <INPUT TYPE=Submit VALUE="Enter Information"> </FORM> Will produce the following on the page: When the user clicks submit, the page they go to will be http://www.server.com/cgi-bin/join.cgi&firstname=john+smith& If they typed in "john smith" for their name. It's the browser's job to do this translation, and to translate characters such as the space, which is not allowed in a URL for reasons I don't know. CGI is a programming language, so that instead of just returning a page that it reads off the hard drive, the server can think and be programmed to do anything. The CGI program creates the page that you see in your browser as "join.cgi" in this example. Join.cgi is actually a file on the server, and this file contains the program it will run to produce the "page" you see. It is ran everytime someone views the page. In this example, The other information after the ampersand(&) is information you typed in for the program, so it will know what to do.
Profesional web design: Anyone with an IQ above 60 can write in html. I wouldn't doubt that even a chimpanzee that knew some basic English words could be taught to do it. But if you can create profesional looking web pages, such as www.microsoft.com or www.nbc.com, you become a "webmaster" and it is your job to design good pages. Some tips for good web design: In Netscape Communicator, to get to it's page composer, click communicator on the menu, then click "Page Composer". You can just start typing your page and clicking the buttons on top to do other things.
Originally, computers used 8 and then 16-bit processors (16 bit means the CPU can handle 2 bytes at a time.) Today, computers can handle 32 bits at once(totaling 4 bytes at a time) so they are faster. Windows 95, which should have been released years ago, was the first popular system that ran the CPU in "32 bit mode" (CPU's can still operate in "16 bit mode" today in order to run old software.) Why windows 95 sucks:
Window's lame attempt at virtual memory: If you let windows 95 manage it's own virtual memory, you'll run into problems. It tries to leave a lot of free space on the hard drive, and if there isn't, then it will shrink the swapfile smaller and smaller, and unless it desperately needs more memory, it keeps the small swapfile, which gets fragmented (data scattered all around it and not in order), and then the whole system gets very slow. If it doesn't need tons of memory, it leaves about half your total free space wasted. Go into controls, and set the "minimum size" to about 3 or 4 times the amount of ram you have, and reboot. It still won't expand the swapfile, you'll have to start a whole lot of programs and force it to expand the swapfile. The swapfile is usually c:\win386.swp, you can view it's size with "dir /oS" (means: Order = Size) at c:\> Long Filenames: Dos limits file names to 8 characters. Windows 95 doesn't. To keep compatibility with Dos, windows 95 actually makes the dos file or folder be the first 6 letters in it's Windows 95 name, followed by ~ and then # (the # is in case 2 files start with the same letters.) It uses special files to remember the full names of these long filenames, and all this is hidden from the user clicking on a folder from within Windows 95. DLL files: Windows is notorious for it's use of .DLL files(As we discussed in the Dos section, this is the part of a filename that's after the period.) DLL (Dynamic Link Library) files contain various routines for programs to call. I'm not sure exactly how all this works, I believe the program tells windows 95 the name of a routine in the DLL file to execute. This is why nobody has managed to clone Windows 95, because this is largely undocumented, complicated, etc., and Microsoft has a copyright on it's DLL files. If they just used Interrupts like Dos does (i'll get to this later) and documented it well, then it would be a lot simpler; but they don't want something simple, then it could be cloned. The internet is the best place for finding this stuff out, but I still have a lot of trouble finding any documentation. I'll have more on .DLL files later. To write programs for winsock, you have to link a .DLL file into your programs when you compile them with a C++ compiler. You use either winsock.DLL (windows 3.1) or some other .DLL files for the Windoze 95 dialer. File Allocation: Dos and windows 95 computers have what is called the "file allocation table". It is at the start of every hard drive, cdrom, and floppy disk. Except for CdRoms(I think they're different I'm not sure), disks are divided into sectors or 512, 1024, or more bytes. A file is a single chunk of data(bytes), with it's own name, that is stored on the hard drive. It can be any length as long as there's room for it. The Operating system divides it up into sectors (or chunks) of 512 bytes (or whatever the size is for the drive) and gives each 512(or whatever) bytes of the file a sector on the disk (Note: The programs never have to worry about this or think about this). Other Operating Systems use different codes at the start of the disk to allocate files, such as the NTFS(windows NT file system; we'll get into windows NT later), Macintoshes, and Unix (which we'll get into later). Operating System: By definition, an Operating System handles file allocation, it runs other programs, runs when you turn on your computer, and manages other programs. Is windows an Operating System? Not really, it runs above Dos. Defragmenting Your hard drive: Now that we know how filez have their data scattered all around the hard drive, let's say we have a hard drive that can read 20 megabytes a second, but takes 8/1000 of a second to reach any place (this is known as the seek time). This is about the standard speed for a new hard drive. Now let's say a file is in little sectors all over the hard drive. We could let the operating system read that file a lot faster if all the sectors were right next to each other, otherwise most of the time is spent just skipping around on the physical disk. This is what defragmenting does, it rearranges the locations of the sectors. To defragment your hard drive, find that icon under system tools, under programs, under accesories, under programs, in the windows 95 startup menu. Defragging is especially imporant for doublespaced drives (I have no idea how sectors are allocated on a doublespaced drive) Data compression: Almost all data has some kind of a patern in it or some repetition. Data compression does not recognize all theoretical mathematical possibilities, but it does recognize some common, basic stuff found in many files. Sometimes, it would take less data to write special codes for these paterns than to write what the program said to write, and then decode it when the program wants to read it. This is how data compression works.(Compression agent and drivespace let you create or control compressed "drives" which act like your C: but have another letter and have their compressed data hidden in one huge file on your C:, for example E: would be a compressed drive) Zip files (.ZIP is a file extention) use data compression, and contain a lot of files all with their data "stuffed" into one huge file. You can download a lot of stuff from the internet in "zip" files. To manage/read/write ZIP files, use Winzip. Tip: when creating your own zip files for the internet, put compression on "highest" in Winzip's settings. Graphics Formats There are 2 types of graphics files you can use on web pages: To draw nice pictures, you will need a nice paint program. The program that comes with Windows 95 is the lamest "art" program I have ever seen (except for the one in windows 3.1) You should get a shareware program like Paint Shop Pro or pirate comercial software like Adobe Photoshop. Photoshop is much better, it supports advanced image manipulation and filters, and different layers which can be superimposed over each other in about 20 or so ways. Takes a while to learn how to use Photoshop, but trust me, once you do, your pages will kick ass. Both can be downloaded from my Forgotten Warezhouse. Click Here for a picture I made pretty fast with photoshop, using only these features:superimposed layers, wind at a 100 degrees angle, random noise, the gradual color shader, the area selector, and the spraycan. Using Web searches and Navigating the Web For complicated questions (not just information on the assasination of Abraham lincoln or something like that), you will need to know how to Navigate the Internet: Need to download a huge file? Go ahead and surf at the same time. Also, if there's more than one file for download, and it comes in at less speed than your modem is capable of (almost always), open 2 windows. However, due to browser bugs which make browsers crash/freeze/close occasionally, I don't recomend more than one window at once for large files (over 2 megabytes). Another way to download all this is leaving your computer on all night long(or all day long after you're done). If you don't surf the internet, the chances of your browser crashing/freezing/closing during that time are a lot less so go ahead and start downloading a lot of huge files pretty slow. Leaving your computer on all night won't hurt it or wear it out, and your provider won't mind since their entire system (and a lot of the internet too) is just sitting around waiting for someone to use it. By the way, the internet is super fast if you stay up at night too. Spam Sanford Wallace is the King of Spam, he owns his own Internet connection just for it. He plans on building a backbone network just for spammers. Here's how you can avoid spam: Programming:Qbasic Basic is the simplest programming language ever invented. To see if you have it, go to the Dos prompt and type "Qbasic". If you do, you'll get a dumb help screen; hit escape. If you don't have Qbasic, try typing "dir /s qbasic.exe" at the d:\> (assuming D: is your cd-rom drive) with the Windows 95 Cd-Rom in the drive. I know it's there somewhere, I forget where. Once in Qbasic, The screen that comes up is where you can type your program. In a programming language, there are a few basic concepts to learn: A "string" is just text, named for a "string of characters". It uses ASCII codes which I explained at the start of this text. I don't need to explain what a number is, except that you can have various precisions of numbers (Integer, Long Integer, etc.) Here is the syntax for a sample function, ABS. It stands for absolute value, so ABS(5) would be 5, and ABS(-5) would also be 5. Let's make a "variable" x be a number. Here's our program so far: X = ABS(-5) print X The print command actually writes it to the screen; it does not print it on the printer. Here's a sample program: input "what's your name", name$ 'ask the user their name print "your name in all caps is:"; ucase$(name$) print "your name in all lower is:"; lcase$(name$) print "Your name minus the first letter is"; mid$(name$, 2) print "The 3rd letter in your name, then the next 4 letters is:"; mid$(name$, 3,4) 40 f = instr(name$, " ") 'find the first space in the name, f=its location if f>0 then 'don't want to do anything if f=0 cuz there's no more spaces name$=left$(name$, f-1)+mid$(name$,f+1) 'remove the space goto 40 'go back to line 40 to see if there's more spaces end if 'OK, that's all you're supposed to do when f > 0 print "your name without any spaces is"; name$ input "how old are you", age print "in 5 years you will be"; age+5 if age > 20 then print "You're over the hill!" else print "in"; 20-age; "years, you'll be over the hill." end if Note: you can't just type anything in your program- your personal notes about the program must have a apostrophe (') where they start on each line Type Alt or click the mouse on the menu to get the menu. Move to help and select index. This will give you a master list of all subs and functions. Click a command to see what it does, and how to use it. If it is a function that returns a string or number (that means it's not a sub), then you can use it as a parameter for another sub or function (or the same one for that matter). For example: x$ = str$(abs(v$) + 5 + 3 * (abs(int(rnd*5)))) Rnd means a random number from 0 to .999999999... the * means multiply. INT means integer, which is any whole number that does not contain a decimal. You cannot say that a string of text equals a number; instead you must use STR$. To make a variable become the value of some text, use VAL. There are many other functions you can use. Just see the help index. To get a copy of a program similar to Qbasic, go here and download Power Basic. This demo version can't load files it saved, but it's not too hard to hack. Just open a file with windows wordpad, highlight the whole program, and press ctrl+c. Then switch to power basic, and click on the windows icon in it's upper left corner (it should be running in windows 3.1 or '95). Pull down to edit, then move the mouse to "paste". Parting Qbasic words: Qbasic is a good beginner's language, but don't plan on selling software you wrote with it or getting a job programming in it. When programming in any language, you'll learn very soon that it doesn't do what you expected it to. Neither me nor any computer guru in the world, can ever accurately guess what a program will do and see all possible bugs 100% of the time in a large program, only testing the program can accomplish that. Debugging is the process or figuring out why your perfect-looking-to-humans program doesn't do what you'd expect it to do (Because of something you never though of, or a mistake you made), and fixing it so it does. This is very common, just so you know. You're not stupid, I don't think I've ever written a large program (over, say, 100 lines) without having to debug it. The good news, is, you'll get better at it, and maybe you can even learn from your mistakes like a chess master. You're asking me, why don't I teach you my mistakes. That's like asking a world chess champion to teach you how to play chess so well you'll be as good as him; it wouldn't work without practice, no matter how many strategies and hints he told you. Here is some philosophy that I believe: There is some weird method of communication and storing stuff within a human brain, which is totally different from the English language, and cannot be translated into the English language, or any foreign language. Science is unaware of this (or else would explain it differently) but it's probably true. I hope you understand this now, and I hope you understand why you need tons of experience with computers to truly be a guru, even though I've made this tutorial fairly complete. When you're ready to move on to being a real programmer, switch to C++. I don't have the time to write about it thoroughly, but alot of good material is available on the Internet. Assembly language is an English version of the direct language of the CPU. Everything you type is directly translated word-for-word, code-for-code, to numbers the CPU understands as instructions. You never really understand how a computer works if you don't know some assembly. Basically, in assembly, you can copy numbers from any of the below, to any of the below: Also, we can call interupts(I'll get to this later), or communicate directly with the hardware. Registers are "number holders" that the CPU can access very fast, by the way. Let's examine a simple command in Qbasic. Let's say we wanted to make x = x + 1. Really Qbasic doesn't work quite as efficient(it's an inferior programming language, but C++ is pretty efficient) but theoretically here's what it would do: Earlier in program: offsetsegmentreg=A place in Ram for the program's data(In most programing languages, this is represented by the DS register, I believe, for those of you into assembly language) It would request some Ram from the operating system to "give" it control of, and offsetsegmentreg would be the first byte of that section of ram. Later in the program(this line): offsetreg=the number the "compiler" assigns to X. Each variable would be given a different number. dataregister=ram cell at[offsetreg+segmentreg] dataregister=dataregister+1 ram byte at[offsetreg+segmentreg] = dataregister Skipping around in programs, and "running" programs, is accomplished by changing the number in the program counter. There are various codes to make the CPU do different things. During a cycle(there's 66 million a second on a 66 MHZ processor), it loads the Ram cell at the location[program-counter] and then does the codes there. Newer CPU's like the 486 and beyond(I'm not sure if earlier CPUs do or not) can read ahead in the program, and do up to 4 instructions simultaneously, if the data required by one instruction (such as the value in a data register) doesn't depend on the result of another earlier instruction, and the first instruction doesn't change the program counter (go to another place in the program). If the CPU has done as many instructions as it can at once(it can take longer than 1 CPU cycle on some instructions) it will increase the number in the program counter (Note: before it increases the program counter, it has already read ahead in the ram looking for future instructions) When the CPU's clock "ticks" again, another CPU cycle will begin. A 66-Mhz processor has a "clock" build into the computer, that creates an electrical pulse 66 million times a second, to trigger new CPU cycles, assuming the processor can go on. For example, if it was thinking about and finishing AX = 123*412 (AX, BX, and CX are some of the "number holders") it could simultaneously be thinking about BX = CX. But it could not think about BX = AX + 4 in the next cycle, because the number AX has not yet been determined. In this case, it would either pause the CPU until AX = 123*412 finished, or else look even further ahead in the code for more stuff to do(that did not depend on the value of AX or BX, because it wouldn't yet know the answer). New CPU's such as the 486, Pentium, Pentium II, and Pentium PRO, don't just crank out more megahertz, they take less cycles per instruction, and are much better at "juggling" all kinds of stuff at once (in the different circuits across the chip) than primitive processors. Looking ahead is known as "instruction lookahead". Intel would claim that their processors are better than generic chips with cranking out more instructions completed per million cycles, through various technologies, but some tests have proven just the opposite to be true.
Programming in C++ Here is a sample C++ program. #INCLUDE "STDIO.H" main() { printf("I am kornholio"); } It's output will be: I am kornholio Here's another sample program: #INCLUDE "STDIO.H" main() { printf("I am kornholio!"); bunghole(); } void bunghole() { printf("Need TP for my bunghole"); } It's output will be: I am kornholio! Need TP for my bunghole #INCLUDE "STDIO.H" main() { printf("I am kornholio!/n"); bunghole(5); } void bunghole(int a) { printf("Need TP for my %n bungholes!", a); } It's output will be: I am kornholio! Need TP for my 5 bungholes! For more information, and tutorials, visit my links. Except for 2 things not explained very well in most web pages: Header files These are files that contain "declarations" for other routines, such as Printf (print-function which writes text onto the screen). Each Header file contains a lot of different routines, that are compiled into the main file(Note: the text you type is actually merged with the stuff in the header file). Each header file contains routines for a particular type of function, such as routines for strings (text) handling, or disk access, or whatever. STDIO.H is the "standard Input/Output routines", which includes the PrintF function. The ASM keyword allows you to type assembly language codes into your page. I won't discuss actualy assembly codes on my page, but there's some links to good pages. Different compilers have different ways of adding assembly. Using "inline assembly" let's you speed up your program. You should only do it at the central routine of your program, which is executed hundreds of thousands or millions of times a second. Warnings: Here are some popular C++ compilers: Computer History and CPU's Cheap Computers were pretty much impossible without the IC(integrated circuit) which is a circuit burned onto a peice of silicon (manufacturing chips is a complicated process that involves intense light, projecting the light, and a lot of chemicals). IBM computers were some of the first computers that didn't cost much. Here's the line of PC history Generic Chips: The cyrix 6x68 and the AMD K6 are 100% compatible with Intel's Pentium line. In fact, they are actually faster in most benchmark tests. They work fine, and cost less. I recommend buying computers that use their CPU's, they're cheaper. Just because Intel has a lot of adds with astronauts dancing around, doesn't mean their CPUs are any faster. Bus: moves the data between the CPU and the hardware. When computers first came out, they were incredibly slow, except for large computers which had a lot of processing power. Since PC's started at around 64K of Ram, and only 320K 5 inch floppy drive, you couldn't very well run very advanced operating systems. Only huge computers at Universities had the Unix operating system. It supports all kinds of security, multiple users, built in Networking, and other things. It is a superior operating system, the best ever created. Not only that, it doesn't even hog much of the system resources Today, we ARE using supercomputers! What once took up a room you can now hold in your hand. Dos is an inferior system, designed only to run on inferior computers. windows is only an inferior operating system hiding behind a pretty mouse-driven user interface, and it runs above dos. So why don't you drag internet explorer in the trash can(It's best to just get rid of windows altogether, but it's a lot of fun dragging internet explorer into the trash can) and go with a REAL operating system, such as Linux, it is the best operating system ever created. It can run programs written for dos, including Windows 3.1 (not in 386-enhanced mode, however; but 386-enhanced does not mean 32-bit), and a lot of programs written for it. Whenever downloading software, make a note of how many pulldown menus now have "linux", "freebsd", or "sun" on them, these are various versions of Unix.(note: freebsd and sun aren't the same as linux, although freebsd is very compatible.) Netscape, Quake, and WordPerfect include some of the hundreds of programs which have versions for Linux. Since it can emulate dos, you can run a lot more software. Almost everyone who knows alot about computers has switched to Linux or another good system, it is estimated that it is on 7 to 10 million computers. Linux is also 100% free by the way. Some Dos games won't run in Linux, however, if they are 32-bit (we'll get to this later). However, if you've just finished reading my tutorial, don't understand much yet (keep reading it again and again until eventaully you do, trust me you're not stupid), and have never had any experience I don't recommend it. But if you're ready to move on and are becoming a guru, I do recommend it. Interrupts An interrupt was originally meant to be a way to "interrupt" a program when the hardware needed to tell the operating system that a key was pressed or it has reached a certain place on the hard drive, during which time the program would be suspended while Dos handled the data that the hardware gave it. It later came to be used also as a way for programs to communicate with dos, by generating interrupts(the cpu has can do this). In Dos, the various cpu registers are set with values and codes, and the program makes an interrupt. Each PC has 256 possible interrupts, and an Interrupt Vector Table in the Ram which tells the CPU what location in ram to go to(execute the cpu codes there). Internet Protocols and Data Packets The Internet is a TCP/IP network (transmission control protocol/ internet protocol). If any particular connection is down between your computer and another, it can re-route itself. Basically this is how it works. Each computer has an "IP" address, which is four numbers from 0 to 255. To send data, the computers send packets, which are small amounts of data. A packet includes the following information: Source IP address, Destination IP address, source port, destination port, checksum(a way of checking for errors, add all the chars together), and some data itself. DNS lookup - The DNS(domain name server) computers at Internic contain a table of IP addresses and domain names. A sample domain name is: geocities.com. When you need to contact that server, your computer first looks up geocities.com at Internic's computers, which will give it an IP address to go to. It will then ask the IP address of Geocities.com where to go for www.Geocities.com (probably the same IP address). It will then start talking to that computer to request the page. A protocol is a specific set of codes used to communicate between computers. Most popular protocols use the TCP/IP protocol to send their data, except for DNS lookup (which uses UDP which I won't explain on this page.) One such protocol is http (hyper text tranfer protocol). When you request a page, after that computer has been looked up(with DNS, domain name server, which translates www.wherever.com into an IP address and port address), it will use codes that are part of the http standard to request that page from the server. The server will then split the page's data up into small packets and send it to your computer. Each of these packets, of course, has your IP address in it's "TO" field, just like the packets you send out requesting that page have the server's IP address in their "TO" field. TCP/IP networks were created by the government, so that they could have a working computer network if there was ever a war and some buildings and a few phone offices got bombed. They did good at that; in its years of operation, the internet has never once "crashed". Researchers soon got on the Internet to share data and reports with each other; so then college students wanted to get on. Computer geeks also had a lot of fun, and hacking began. Unix, hackers, and the WWW have, of course, for years been associated with each other. HTML and not much later, A graphical WWW browser, called Mosaic, was created, so the internet became more fun. When enough college students got online, businesses caught on to the idea of using it to advertise, while more and more stuff was getting on and more and more people, and a lot of information was put on. Finally it reached the news. The Mosaic browser has evolved into Netscape and is still the best WWW browser. Another reason I like Netscape (besides the fact that it's faster and has more features and doesn't crash every 5 minutes) is because it created the internet as we know it: modern html, embedded music, plugins, encryption(which will soon have transferred over a trillion dollars), tables, even images, javascript, and everything else. If we want more innovation on the internet, we better keep Netscape around. In fact, they are developing a java-only browser right now but I don't know how it's supposed to work. Networks windows NT (ought to stand for "neanderthal technology"), is a special version of windows 95, which has a lot of network things built in to it, for example, file sharing, shared internet access, etc. Another popular network is Novell Netware. The NT kernel (center of the operating system) is not as handicapped as Windoze 95, but still inferior to Unix. A firewall is a computer that connects a network to the internet. You can't just have your network just "on" the internet and let unfiltered packets mess around with your network, let anyone change any shared files, etc. The firewall's job, therefore, is to decide what packets get in, and which don't. A well designed, secure Network won't let any packets in or out, but is a server that exists on both the network and the internet. Employees in a corporate network can use the it's mail server and it's proxy server Most networks use 10 Base T cards or 100 Base T cards. 10 base get 10 million bits a seconds, and 100 Base T cards get 100 million bits a second. Ten Base works good for most purposes, but if you have a large office or expect to share a lot of multimedia CD's over the network you'll need 100 base T. When buying network cards, you must get the same brand. YOu don't have to do this, but it creates all kinds of problems if you don't. The cards are connected through a hub, which sends packets from and to different computers, which each have an IP address. Besides the network cards that go in every computer, another part of the network is a hub. You can plug a lot of computer's network cards into one hub, and attach hubs together with the exact same wiring, it's pretty simple and stable. A router is different than a hub in that it can route packets around to the right place, based on the IP address they are supposed to go to. This is how packets get routed around on the internet. Apparently, the internet can automatically re-route itself when a section goes down (if there's another possible route). I don't know much about how routers work and how they actually decide to which of their connections to send the packets to (Another router, a computer, a network hub, fiber optic hardware, a T1 line, different connections between backbone providers, etc.), but somehow it all works and the packets get around. Packets do, however, have a "lifetime" in the headers, from which 1 "bounce" is subtracted by each router they pass through, so that if somehow a packet goes in a circle, it will eventually "die" (vanish into space forever, discarded by a router) or get sent back to where it came from, rather than bounce around on the internet's routers for years to come, that would not be good. Bios, cmos, and bootup What happens when your computer turns on? What is the value of the program counter(see the assembly section)? The first thing that is run is a boot-up program in the Bios, which is like Ram except that it can't be changed and the program is already in it. After checking that the computer is working(nothing is broken), it attempts to load from the boot sector (comes before the file allocation table) of the floppy disk. If there's no disk in the drive, it moves on to the first hard drive, and tries to read it's boot sector. After it has loaded the boot sector from a disk (copied it into Ram), it will run it. Usually this is a very small program that loads Dos, Windows 95, a boot manager(you'll find out about this if you read about and prepare to install Linux I won't explain it for now), or some other operating system. Cmos This is ram powered by a little battery so it won't lose it's information when you turn the computer off. It holds information about your hard drive(s), such as what type it is, as well as other information about other hardware and its configurations. Hacking and subculture Go to my Guide to hacking to learn more about how to hack. Well, a simple way anyways. It won't by any means make you a hacker (as in the noun form of the word) but it will make you able to hack (as in the verb form of the word.) It will make you a cracker, aka lamer, but if you feel like you're making progress by defeating security, then that is good. It explains the basics of hacking. Here's what a hacker really is La-mer noun 1)A person who claims to be a hacker but doesn't know the size of his hard drive. 2)A fucking white trash retard with low self esteem that goes onto the internet and starts shit with total strangers and tries to be a bitch cuz he's too much of a puss to do it in real life.(most instances of the word refer to the first definition) hac-ker noun 1) A person who breaks into computers or crashes them 2) a computer guru. Careers Therefore, the best jobs you can get involve computers. Also, you might enjoy it. Here's some good careers: So, how do you get the best jobs in these fields? The more of a guru you are, the more money you make and the easier it is to get a job! So study this page till you understand it, then go out on the internet, master the searches with my tips, and READ, READ, READ till you know everything there is to know! I'll try and get a lot more good links on this page for you too, and expand this page, be sure and check back here from time to time! The place I recommend going to, and hope to go to, is Devry. They are a high tech University, and they claim that many major companies hire a lot of their graduates. Throw in a lot of computer knowledge, a degree from Devry, and a worry-free life with a lot of money is ahead of you. What I like about them besides this is, you only need a 2.5GPA and a diploma to get in, and their graduation requirements don't include a whole lot of English crap and other stuff irrelivent to the real world. Although some people will learn a lot faster than others, anyone can become a rich network administrator(Not anyone can become a Doctor, however). This is the opportunity of a liftime, and in the computer field there will always be opportunities, because many people are scared of computers, and therefore would not dream of going to this kind of school. Particularly people who have had "bad experiences" or suffer from "computer phobia" would never dream of entering one of these colleges, they don't know if they'd succeed (actually anyone could, I believe). I'm 17, a Junior in high school. Hope to see ya there in a few years :-) There are many other high-tech universities around the countries, and you'll be surprised how much their philosophy differs from "liberal arts" colleges. Some, such as Cambridge College, another high-tech university, don't even HAVE a minimum grade point average, and requiring a 4.0 in technology schools is virtually unheard of. They do, however, look at your computer-related classes, and I don't know what else. The best thing of all this is, and maybe the reason why the tech universities let "slackers" in, is that there is a shortage of skilled people with computers, very few of their graduates are ever unemployed 6 months after graduation. There is an estimated shortage of 300,000 computer-related jobs, and it is obvious to anyone surfing the internet that a huge percentage of computer companies link to their "jobs" section straight from their homepage, since they desperately need you to help them. Ways to connect to the internet here's a few ways to get online: The main cost of an Internet connection is actually the phone companies. Even expenses you don't pay, your internet provider pays. Cable modems will end their monopoly pretty soon, but I'm not in a cable area :-( Cable modems get 400,000 bits a second downstream (from your provider) Most of the internet's backbone consists of fiber optic lines, rented from and/or shared from/with long distance companies. If you need to purchase a lot of data sending capacity over long distance, you can get a much better deal than you can on phone calls, but you must buy in very long increments of time (not 10 minutes like a phone call; we're talking months or years). Newer technology recently invented in a laboratory uses some waves created during the quantum leap (an electron jumping from 1 atom to the next), instead of the actual electrical charge, to send a trillion bits a second, but it needs expensive hardware every 20 miles. As soon as an internet backbone is built with it, which will take a long time, multimedia on the internet will be as good as it is on CD-Rom, all for a small cost to each user. If 100,000 people/providers shared the cost of building one loop around the country, each could get a megabyte a second, for 24-hours a day, assuming they used all of it. In reality it would get even more. The Internet has no central backbone either, although some companies are very large, such as UUNET. The backbone networks all route packets around to the correct places, and route packets back to you. They connect to each other free of charge. Even though they are competitors, probably bitter enemies, they kind of have to connect their computers and routers to each other; any company that didn't, sure wouldn't get you much of the internet :-) The government also owns it's own internet backbone network, which connects to the commercial ones. Most of the backbone routers and connections between backbone providers are in major cities. Backbone networks sell one or more T1 lines, or a t3 line, to internet providers, who resell slower connections to users or smaller providers. Most Internet service providers (ISP's) who need more than a T1 usually won't buy more than one T1 line to the same backbone, they'll connect to different backbones, this way they won't go down if one router goes down, and there's more paths for data to flow in and out so that packets can better get around congested areas of the internet backbone. However, going with a big provider might not be faster, it might be faster going with a smaller one, being as a lot of huge services and large one-city providers, try to cut costs by squeezing too many users onto too few T1 lines, resulting in delays in time for packets to get in and out of the system. Eventually, everyone's web surfing gets slowed down, resulting in less bandwidth consumption, which balances it out. AOL is particularly notorious for it's flooded systems. The future There is a standard rate or computer technology doubling every 1.5 years. This has been going on ever since the invention of the first Apple computers, and will continue for your whole life unless there's a depression or a World War III or something like that. For example, Intel's newest processors get 333Mhz (million Hertz, or cycles per second). Another company has made a processor that gets 500 MHz, but since it can read ahead and do lots of instructions simultaneously (if the data used by one instruction doesn't depend on the result of a previous instruction) it gets up to 2 billion instructions done in a second. So, go ahead and dream of the future, because it isn't sci-fi anymore, you can accurately forecast when something will happen. And, for $2000 you can buy a complete system with a monitor and a CPU that does up to 2 billion instructions a second. The Internet is soon going to replace the TV as it gets fast enough. It will be the main source of news, shopping (Amazon.Com makes millions of dollars a year), and information. Banner advertising is a 1 million dollars a day industry worldwide (standard banner rate is about 1 cents a banner; this is how fortunecity is able to let me put this page here). Soon it will make more money than the TV networks. Even though Netscape and Internet Explorer are now both free, you can see why they want to control the browser market, just imagine the potential power and possibility of controlling the program used by everyone for all information and trillions of dollars in sales. Actually, Netscape's short term goal is to use it to as leverage to help make new technologies (Encryption being one they already made standard by this technique) of their WWW server more marketable and standard. Before it was free, Netscape's browser was only 17% of their profits. Billions of dollars in safe credit card transfers have been made possible through this encryptionl. Microft's short term profit motivation is that they can force everyone to use windows 95 by only making Internet Explorer's latest versions available for Windows 95. Internet sales have already passed the billion dollar mark. Microsoft has been launching a huge campaign in getting involved in computer information, first with MsNBC, and they are planning on creating their own WWW search (This is one market I wouldn't mind Microsoft monopolizing, being as just about anything would have to be better than the searches we have now) This is now known as the information age because printing books used to cost a lot of money, but computers have such amazing speed there is almost no expense in this today. So people can give away information for free, you can find it quickly. For example, think how much information I just gave, you totally free, in this document. The only thing that motivates me to make this is to be nice, and because I have benefitted from pages made by other people I ought to contribute what I can. I would never know anything about computers beyond just Qbasic programming and some Pascal and C++ were it not for the internet. Use this for your advantage, so you can be like me and become a guru. If you are interested in programming, and get addicted, you definitely have silicon in your blood like me. This is how my obsession began, years ago. Free SpeechBeing as the Internet has such a free exchange of information, it's altering what was once the standard laws of nature. The guerillas in Mexico have gained international support through the internet; Many people fear "hate" speech. I have yet to find a page that outright promotes violence, hatred, and bigotry towards other races. I have found a lot of other race related stuff. As far as I'm concerned with this, and any other issue as well, either it's wrong so it doesn't matter, or it's right so Clinton can suck my dick. I guess there's always other complicated arguments around this, which I won't get into, but if any of them are true, then we are a sad species. Then who can forget, the Area 51 stuff in cyberspace, although as with many subjects, people have started copying each other's pages, and creating pages with no unique information. But I guess there's only so much information you can have about UFO's, crop circles, photographs, groom lake, etc. I remember that this was like the first thing I looked up when I got on the Internet, with America Online, years ago. Other information you can get is bomb recipes and anarchy files (courtesy of the Jolly Roger), meth recipes (I never found any actual recipes, but I believe that it must exist, and I wasn't as good at web searches when I searched for that stuff.), jokes, and of course political stuff. Then there's hacking info, and files on ways to raise hell. Check out Counter Politix to read about my political opinions, this is my use of free expression in Cyberspace, I do what I can with what I have here.Then there is the issue of pornography on the Internet. Being as I know a lot about computers, I can tell you very easily there are a lot of ways around this besides making it illegal. Besides adding keywords to a porn page that will block out computers with software like NetNanny, you can even apply an adult-content "watermark" to a picture, using Adobe Photoshop, which you can get at my forgotten warezhouse.
Microsoft Propaganda ActiveX this is some way of programming for the internet, build into Internet Explorer. I think it can also be used it word. It has some security flaws, and just isn't designed to be a cross-platform (operating system) program or run on different CPU's. OLE Object Link Embedder - This has something to do with how programs and Windoze 95 control objects, such as buttons, pulldown menus, etc. Windoze 95 is, by default, and OLE server. Internet Explorer 4.0, if it is configured to, can also become the OLE server, and interact with applications, although this usually fucks up your computer since an Application is handling something that should be the responsibility of the kernel (You have to understand operating systems better to know what I mean by this, please don't get confused :-) Unknown to most users Netscape can also be an OLE server, although its OLE is not as cool or advanced as Internet Explorer (of course this cool stuff will catch up with you eventually when your hard drive crashes) design time(when you are developing the software on your comptuer), you can view or change the properties(color, etc.) by left clicking the object (scrollbar, textbox, circle shape, image, button, whatever) and pulling the menu up to "properties". At run-time (when your program is running on your computer or a user's computer), read or change it as "form1.text1.text". For example, to make it say "hello" in a textbox, you would type: form1.text1.text="hello". In Visual Basic, the layout of the program code looks pretty much the same as it does in Qbasic, and you can use the exact same commands except for ones that deal with the screen, since Visual Basic uses forms and other stuff of the windows operating system (while Qbasic uses print statements). Note: if you don't really care about being a guru, skip this part it will confuse you. A web page can be thought of as similar to a form. You lay it out in an html editor, and change various properties of the page with your program's code. Events in javascript: Here is a simple way of catching a user event in javascript: <A HREF="wherever.com" OnMouseOver="[javascript code to execute]"> When the user moves their mouse over this html link, it will execute the link. Other events include changing an item on a pulldown menu, clicking the mouse, typing in a textbox, clicking the mouse, etc. Events in Visual Basic: Left click the scrollbar, textbox, whatever, and select "view code". You will see a place where you can type in stuff. One of the pulldown menus is the various objects on your form, the other is various events that can be triggered by clicking the mouse, chaning a textbox, etc. Select the event you want. Then in the text area, type the code that you want to execute when that happens. Java: A threat to Windows 95Right now, java is not very powerful. It doesn't usually do very much, possibly because of more improvements needed, but this will change. But it is a programming langauge. In the interactive web-based future, where that is the main use of computers, programs could be written completely in Java if Netscape continues to improve it. There is no risk in running Java, since what it can and can't do is restricted by Netscape(Internet Explorer, theoretically does too but it has some major holes.) You can't format a hard drive or install a virus. Since it is so universal. No .DLL files, or any complicated codes to talk to the operating system, direct CPU codes(it's not compiled to the CPu's language, the browser has to do that), it also holds the potential of ending any backwards-compatibility restrictions on what CPU's can do. Then, Unix, a superior operating system, could take over, if the interface was improved. Or Netscape could write it's own operating system. Whatever the result, there would be a lot of operating systems and a lot of incompatible CPU's that use different codes from Intel's line of chips, but that would not cause any problems. Microsoft, in panic, stuck ActiveX into Internet Explorer. Also, although it supports some java, they support very little, in fact Sun (the owner of the java trademark) was going to sue them for calling it java, since it's below their standard. ActiveX gets complicated, and I don't know much about it, most people don't. It can install viruses though so it is not much of a programming solution for interactive pages. the X windows system
|
|
To get rid of those annoying popup banners on Geocities/tripod, I hear that
adding this code to the end of your page will get rid of them: <SCRIPT LANGUAGE="none"> Someone tell me if this works or not. |