If I were you, I would bookmark this page right now. Disclaimer: This file is provided "as is" without warranty of any kind, express or implied, as to the reliablity, accuracy, or usefulness for any particular purpose, of this information. All information in this file is only believed to be true by me and I take no responsibility for any inaccuracies, typing errors, or skipped warnings and information. Use this at your own risk.

 
 
 
asdf  
Contents

 

Welcome, mere mortals

Bits and bytes 

Introduction to Dos 

HTML, forms, web design 

Windows 95, other systems, 
file systems 

Graphics formats, photoshop, paint shop pro.

Using Web Searches and navigating the web

Spam

Programming: Qbasic 

Programming: C++ 

Programming: Scripts


Visual Basic and Visual C++

Programming: Assembly 

Computer history, CPU's, and hardware.

IRQ's, computer repair 

History and Subculture 

Unix 

Windows NT and other Networks 

Bois, Cmos, setup

Internet Protocols, packets 

Computer Repair

Hacking

Miscellaneous

Careers

Welcome, mere mortals,to my ultimate computer tutorial. It has all the information to move you from Computer Illiterate to setting you on the right track towards computer guru. I will assume you know nothing, other than how to use Windows 95. Now this tutorial isn't real easy to understand, I'm really, really, really sorry I suck so bad at explaining this stuff, but it is hard stuff to explain.


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:
  • I'm confused read it again
  • You don't explain everything Follow my links.
  • Do you dislike Microsoft? I dislike the way explorer is integrated with Windoze, mainly because it is an application and running it as part of the system creates a lot of technical problems. However, anything good or bad said about their products I believe to be true.


    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: 
     
     
     
    0 1 1 0 1 0 1 1
    64+ 32+ 0 8+ +2 +1
     
     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.
     
     
    ASCII - American Standard Code for Information Interchange - Some characters are represented by numbers. There is a table of letters, numbers, and other symbols, each represented by a number from 0 to 255. Text - letters, numbers, and html - is made up of numbers which represent various symbols. For example, 32 is a space.

    Dos and Filez
    Dos is a pretty dead operating system, but it illustrates a lot of the simple, universal concepts of computers so I'm going to teach you some of these concepts and simple Dos commands.

    Here's the "C prompt" also known as "dos prompt":

    C:\> The C: stands for "C" drive. C represents the first hard drive(A hard drive is a metal disk inside the computer that spins around and has different locations magnified in different directions to store data). Sometimes D drive is the CDROM drive. A: is usually the first floppy disk, B: the second.
    Dumb info:CDROMS have about 600 megabytes. Floppies get 1.54 megabytes if they are high density. New hard drives start a little over a gigabyte and get bigger from there.

    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."
  • All files that end in ".EXE" are programs. They contain codes that the CPU can interpret, after windows or Dos copies these codes from the disk into the Ram.

    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.
  • Ram: Since the hard drive must spin to reach any location, it is slow. Ram (random access memory) is much faster. It is stored with silicon chips inside the computer. Each location in ram has it's own tiny circuit in the chip, so small you couldn't see it. Computers usually have at least 16 megabytes of Ram. With Windows 95, the minimum you can get by with is 8.
  • Kilobyte:1024 bytes abrev:K
  • Megabyte:1024 Kilobytes * (do all this math yourself, it's about a million) abrev. as MB.
  • Gigabyte:1024 Megabytes * (about a billion) abrev as G or GB.
    * = 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:
  • It is a 16-bit operating system (newer processors use 32 bits I'll explain later)
  • It does almost nothing.
    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.
  • Programs can run the CPU in 32-bit mode, while Dos is in 16-bit mode. They simply put the CPU into 16-bit mode when they're done or when they need to have Dos to do something.

  • 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
    Getting started: Get to the dos prompt(C:\>) by clicking it's icon from Start in Windows 95. Then change to c:\> If you can't do that I suggest you go back to the section on Dos and read this more thoroughly. Then type "MKDIR html" (which creates a new folder) and then type "exit" to close the dos window.

    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.


    Tip: You do not have to specify an image's folder if it is in the same folder as the page is being read from. This applies to pages on web servers and your hard drive. Not including the folder will simplify things a lot for viewing and testing on your hard drive and then uploading the files to a server.

    Tip: To view the product of your work, save it and click refresh in your browser.



    Getting hits: Put a few keywords at the top of your page, but not in the same color as the background or in a small font, some searches now notice this. Don't have the same keyword a lot of times, instead mix and match a whole lot of them randomly, but please make them relevent to your page, otherwise even if your page is good you won't be helping anybody. Putting keywords into the title also helps, as well as <meta http-equiv="keywords" value="keywords here">



    Definition: WYSIWYG - what you see is what you get - a type of html editor where you just see a page, you don't see the codes that make it.

    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.


  • To make an email link, type this: <A HREF="mailto:youraddress@yourserver.com"> pictures or text here.

  • 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:
  • Use a white background, or a white background with a stripe on the left side.
  • Typically, somewhere on the upper-left side(not corner), you should have a vertical list of different pages. Making this look nice makes the site look nice.
  • Leave lots of white space on the page. There should be margins.
  • Don't have oversized text, or text that's too small unless it's copyright information or something like that.
  • Unless you are making a page about saving the rainforest, don't randomly stick on a picture of a tropical bird. Other pictures you shouldn't include are toasters, the Waltons, etc. Icons and pictures for the email link are alright. The only animal you should put on an unrelated page is a green lizzard which is Netscape's mascott.
  • To create your layout, use Tables. Notice how this page has margins on the left and right, it makes my page look not as big and scary as it would if it were just a lot of text. Well, surprise, this is a very technical page! I recommend Netscape Communicator's built-in html editor (unless you have a slow CPU, then you might want to use something else like Dos's edit because it's pretty slow at refreshing the display with what you type, at least on my 486/66 but it's lightning fast on a Pentium 133). Microsoft's FrontPage is also recomended although I've never tried it.

    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.



    Web design: Netscape vs. Internet Explorer
    There is one main difference between Netscape and Internet explorer: this is how they handle and interpret tables. Other than that, the pages will look about the same. The Netscape standward is better, since it allows you to specify the way the tables should appear, whereas if you don't specify, it will guess. Internet Explorer will always guess no matter what you do. And they both guess differently. But there should not be any guesswork involved, the web designer should specify that. So go ahead and write your pages for Netscape, with Communicator's page composer. If you feel sorry for people using Explorer, you can put some invisible un-breakable spaces into your page (like this: &nbsp&nbsp&nbsp&nbsp) to force explorer to give a table cell a minimum size, but it's very annoying to do this so I never bother. If enough pages look strange, Eventually they will figure out why those pages have the Netscape icon on them.
  • Sometimes it is technically impossible for a page to be designed to be layed out look better in Internet Explorer. Why? Well, here's how they guess: Internet Explorer divides all unspecified column widths of cells by two, while Netscape will give more space to columns with more text/graphics. Almost all pages, even with the Internet Explorer icon, will be layed out more intelligently with Netscape, unless the designer has gone to a LOT of trouble to make up for Internet Explorer being a lame browser.

  • Windows 95, other systems, file systems
    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.)
  • Note:Before windows 95 came out, a lot of Dos gamez like DooM already began to run in 32-bit mode. Programs such as Dos4GW handle this perfectly, and let the programmers not have to worry about interfacing to Dos's 16-bit system. Dos is the best platform for developing fast, graphics-intensive 3d games. Windoze 95 is nice for computer illiterate people, and it's multi-tasking and clipboard is nice, but for making fast games it is just plain lame.
    Why windows 95 sucks:
  • For no apparent reason, when you install it, it will delete your config.sys and autoexec.bat files.
  • Even when it's doing nothing, It hogs a lot of the CPU's time, and as far as I can tell it does nothing during this time. In fact, when it's doing nothing, windows 3.1 hogs up to 50% of the CPU's time, (I haven't done benchmark tests to see how much time windows 95 wastes but that's how much was wasted on my computer with windows 3.1)
  • It's graphics are slow.
  • It doesn't deserve more than a megabyte since it doesn't do a lot of functions. It actually needs about 8 megabytes.
  • It claims to be a 32 bit operating system, yet the first 640K of Dos memory is consumed by 16-Bit Dos device drivers. In addition, it runs completely above Dos 7.0, which does all the work. Windoze 95 should be classified as a "32-bit Dos extender" (although it's various technical inferiorities make it about as efficient as a 16-bit computer; the 32-bit Dos4GW is better) Why windows 95 is OK:
  • It finally has the pretty interface of the Macintosh. I'm glad I don't have to also explain the trash can.
  • You can have a cool background screen.
  • It's the last operating system on Earth to have 32 bits, but at least it runs programs in 32-bits although the whole system isn't. (Note: Dos is obsolete, but IBM's OS/2, which is very similar to Dos, but more advanced, is a 32-bit system)
  • Most software is written for it.
  • It is actually fairly stable and bug free.
  • It's built-in dialer is better than TCPman. In fact, it's a very good dialer, works well with my modem (tcpman always had problems), other than the fact that It's too stupid to realize I don't want to dial an area code at all since my provider isn't long distance. Eventually I somehow got it to accept the fact that I don't want an area code.
  • It copies some multi-threading abilities from the Unix operating system. This means that different areas of the program can be running at the same time. (For example, you could program drawing random dots onto the screen and playing a tune both at the same time) The different parts of the program don't actually run at exactly the same time. The Windows operating system switches the CPU's program counter ("place of execution" I will explain later) between the two seperate parts of the program.
  • It can multi-task. This means, it can run lots of programs at the same time, on the same computer. However, it is voluntary for a program to give up control of the CPU quite a few times a second and share time with other programs, so if a program freezes the whole computer freezes, and if a program writes a lot of data at once to a floppy disk drive or soemthing, the whole system gets stalled. Windows NT and Unix have superior pre-emptive multi-tasking, which means that when the system clock ticks (happens 18.2 times a second) and generates an interrupt (Interrupts the program; I will explain interrupts later), the operating system automatically "snatches" control of the CPU and gives it to other programs if there are any, and does anything it needs to do.
  • It has virtual memory, which almost makes up for the Ram it's fat bloated program consumes.
  • It automatically notices new hardware (Cdroms, etc.) when you install the new hardware and turn the computer on. It also simplifies configuration of it.
    Virtual Memory: Let's say a program has lots of features, but not of them are all used at once. We could have a lot more features in a limited amount of ram if the ram only held the functions recently used. This is how virtual memory comes in: Data and parts of the program not recently used get "moved" to the hard drive from the ram. This works great. Windows 95 has fairly good virtual memory management. However, if you try and run too many programs, or too large a program, in too little Ram, you'll wait for Windows 95 to juggle stuff between the "swapfile" and the Ram, your system slows to a crawl, and your hard drive gets real noisy. The solution is to buy more ram. Alot of free disk space (4 times your Ram is what's recommended) will also help.


    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:
  • JPG files allow more colors than the human eye can see. They are good for photographs. Their compression is not real good, but can be adjusted when you save the file. If you put the compression ratio too high, your picture will get dark areas on it, and eventually look poor quality.
  • GIF files are good for cartoon images, animations, etc. They have a maximum of 256 colors. They look for paterns in the image and use data compression. Some photographs won't look real in only 256 colors. Paint programs will either "dither" the pixels (one dot color X, then color Y, then color X again) or round the original to the nearest color in the 256 color palette. Most of the time it's better to go with rounding to the nearest color, plus this gets better compression. If your picture looks fine in 256 colors, you can make it smaller by decreasing the number of colors to as few as two.

    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:
  • Specify a lot of keywords. Imagine the ultimate web page you would like to find, because it probably exists somewhere. What words would it have? Remember, that almost the entire English Speaking population of the human race could create the page(although not everyone is online yet and knows how, keep in mind that this is rapidly changing), and the search most likely knows where it is.
  • Northern Light is the best search there is. I think it probably has some kind of algorithm for finding better web pages also, not just pages that match your search well. However, if you give it a lot of keywords, instead of requiring all those keywords to be there, it will do something really stupid: count the total occurences of keywords instead of how many keywords there are, and then it suddenly becomes not very useful. The ultimate search would return pages with the most of your keywords, and let you specify a whole lot of them, but if no pages match, it would give you the pages that had the largest number or your keywords(but not even care how often). So far I don't know of any that do this.
  • Infoseek, Excite, and hotbot work good.
  • Yahoo is good for school reports or as the first place to look for information but if it's not there better go somewhere else.
  • Alta Vista is the domain of spammers. Not email spammers, but search spammers. In searching for warez on their search I end up on porno sites that add "warez" to their pagez. The lamest search that exists. Not only that, it is impossible to refine your searches! For example, a search for computer repair tutorial brings up a page on repairing mopeds. Any other search would rate based on how many of the keywords were in the page; Alta Vista, being inferior, doesn't do this at all.
  • Webcrawler: It's not spam ridden, but it just isn't "smart" enough.

  • Lycos seems to bring up pages with lots of links. It also has a good search algorythm(whatever it is).
  • The internet is slow so why spend a lot of time waiting for pages to load? In Netscape, left click the mouse on a link, and pull down to Open in New Window. Then you can load 2 pages at once. Click the taskbar (at the bottom of the screen) in Windows 95 to switch between Netscape windows.
  • Try adding these keywords to find better, more relevant pages: reference, help, guide, tutorial, index, FAQ (stands for frequently asked questions)
  • If you try to have too many windows open, some versions of Netscape Communicator will start to crash due to a bug, if the servers don't respond. I don't know the exact limit(4 or 5 it starts usually) but you'll get used to it.
  • Ever wonder how the searches work? What goes on in the mind (or CPUs) of HotBot, Infoseek, etc. How are documents ranked?
  • HotBot pays strong attention to keywords within IMG SRC tags.
  • Alta Vista pays strong attention to the title.
  • Northern Light pays strong attention to the first few lines.
  • InfoSeek pays strong attention to the first few paragraphs.
  • Lycos counts your keywords, but generally smaller pages get ranked higher.

    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:
  • Don't EVER EVER EVER make a newsgroup post with your email address. If you want people to be able to respond to you, tell them your email address within the message body, like this: "my address is fred518 at aol.com". Computers have been programmed to scan newsgroups and the web, looking for victims to whom they can send invitations to porno sites, pyramid schemes, and lots of other junk email you don't want. It's a real waste of time sorting through all this to find email you wanted and moving the rest to your trash box. Obviously Congress is too busy trying to censor the rest of the internet to stop spam email.
  • If you do get on spam lists somehow, use Netscape's filters. Tell it to move messages to "trash" if they contain the $ sign in the subject. Other keywords to scan for are "opportunity", "money" "XXX", "adult", "hosting", "free", "cash", "income", and "ad". Also, block out AOL since most of their users are too stupid to use email, except the ones that send you spam.
  • Getting even with spammers: To get even with spammers, the best solution is to either tell their webmaster (webmaster@spamsource.com) or else email bomb them. Email bombing is sending hundreds or thousands of email messages to some inconsiderate prick that deserves it. To accomplish this, you'll need to download KaBoom or Avalanche from my forgotten warezhouse. Also, hacking their sites is fun. One easy way to hack them is, send an email "from" the auto-responder on one site "to" the auto-responder on another site, and this will bounce back and forth between the two spammer's computers indefinitely. HAHAHA!!! If they have an email address to write for more information, that address could be an autoresponder. To crash their computers, start email bombing the one auto-responder and make the messages "from" the other, when too many emails are bouncing around between the computers, one of them is going to crash. HAHAHAHAHA!!!!!!
  • Note:Hotmail blocks out a lot of spam for you it seems. However, small access providers don't have the time or system resources to try and do anything about it.

    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:
  • Functions do something and return a string or number.
  • Subs do something and do not return a string or a number. (represented by the VOID command in C++)
    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:
  • The Ram location at [segment-register + offset]
  • Segment registers
  • Offset registers
  • Data registers
  • The program counter
    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.
  • Guru Note: You can overdrive the processor by changing a jumper on the main board to increase the Clock's speed, but you should get a heat sink, and know what you're doing. Don't set it too much over it's designed speed or the CPU will make mistakes (that would cause the computer to freeze; but this usually happens becuase of bugs in the program) and/or eventually melt down.

    Compiler The programming tool that translates your program into something the CPU can understand(complicated codes, known as machine language, which is similar to assembly language)

    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!

  • Tip:Notice how the /n makes it "break" to the next line.
  • Note: You may need to type "void" before the word bunghole, in your subs, to tell the compiler you don't want bunghole to return any data to the part of the program that called it.
    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.

  • Tip: Some compilers have help, which tells you all their header files and the functions contained.

    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:
  • Don't change the segment registers.
  • If you change any registers, using registers for variables should be disabled in the compiler's options.
  • Pop off everything that you pushed onto the stack before your assembly langauge routine is done (Read my assembly links for info on what this means). But don't pop off stuff you never pushed on, either.
  • Be carefull what you do.
  • Assembly should only be used by advanced programmers, and you should understand it somewhat. It's slightly dangerous.(Note: running under Windows 95 provides you a lot of protection)

    Here are some popular C++ compilers:
  • Microsoft C++ is pretty good, costs a lot
  • Borland C++ is pretty good, costs a lot, but you can get it at my warezhouse if the links work
  • DJGPP is powerfull, and it's shareware. It's originally written for Unix, but ported to Dos. Rumor has it they used it to make Quake. Setting it up is near impossible, you have like tons of files, you have no idea what they all do, it unzips into about 30 or so folders... tons of .EXE files and no clues as to where to start... It's a technological nightmare. a sloppy undocumented mess, and a huge download. Simplified a little with this Zip picker, however. If you do this, you'll occasionally get errors that the "headers" aren't in the "sys" folder, but click on those errors, it will let you edit your header files. To program easily and quickly, you need to download Rhide(IDE stands for Integrated Development Environment, a term for the part of a programming toolkit where you type your program in, which is seperate from the part that compiles the program). On the good side, it simplifies things and actually makes the compiler work. On the bad side, it has more bugs than any other program I've ever seen, even Internet Explorer. Hack around, mess around, you'll get used to it's bugs. I did.
  • WatCom C++ was used to make DooM, it is a pretty good compiler also.

    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
  • The 8088 CPU had an 8 bit bus. It was very slow, but blazing fast for those days.
  • The 8086 CPU has a 16 bit bus. Faster, but still slow.
  • The 80286 made some major improvements on the 8086 CPU.
  • The 80386 ('386) CPU was a 32-bit CPU. It introduced a new instruction set (but kept the old one). It and all following processors run in either 16-bit mode or 32-bit mode. Somewhere around this time, multimedia was born.
  • The '486 CPU made some improvements on speed; some CPU instructions take less CPU cycles than they would on a 386. Math coprocessors built into some also sped them up alot. A few new instructions.
  • The Pentium still has much the same instruction set as the 386. (Actually, it has new instructions also, but a lot of software doesn't use these because the programmers use primitive compilers for some reason) For example, my computer, a 486, runs Quake, which "requires" a Pentium (it is a bit choppy though; but a friend with a Pentium 133 says it's choppy on his computer too).
  • The Pentium II and Pentium PRO will blow you away with their speed. I can't believe, though, that we still only have 1 CPU in most computers.
    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).
  • The timer interrupt happens 18.2 times a second, So that in a multitasking operating system like windows, programs can run simultaneously, without ever having to worry about pausing to give control of the CPU to another program. The timer interrupt simply snatches control of the CPU whether that program likes it or not.
    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.
  • If the last word(words are seperated by dots), is a country code, such as CA for Canada, Internic's computer will say "sorry I don't know the answer, but this computer keeps track of Domain Names in Canada" and then send the IP address for some computer in Canada that knows the answer. Then your computer will ask that computer the answer.

    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.
  • There are other protocols, too, that I won't get into.
    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
  • A proxy server is a cache of web pages. Usually a proxy has a lot of gigabytes of hard drive(s), and stores the most popular pages on the internet. Some internet providers also set up proxies, so that they can put more people on less wires and save money, and so their users get faster access. Proxies are especially popular(and large) in Australia, since most of the Internet is over here.
  • Cache: nounFast hardware that helps compensate for slower hardware by the holding the most frequently accesed data. This is unrelated to networks, but another example of caches: In most operating systems, some of The Ram caches the hard drive(the Dos utility smartdrive does this; windows 95 also does it automatically). Ram is cached by faster ram; in new computers, the main 4 to 32 megabytes goes really slow, but is cached by 8K to 512K of fast ram which operates at or near the CPU's speed (sometimes there are 2 "levels" of this cache ram, super-fast ram caching fast ram which caches the slow 4-32 megabytes). A 486 has an 8K or 16K cache, I believe. Pentiums have up to a 523KB cache.


  • 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.

  • To change your cmos settings, press F2 or whatever key your computer says to press to get into setup when you turn it on. WARNING: Don't experiment changing this stuff! Also, if you have a reason to change it, write down the old settings first.
    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
  • Searches - use these words and cominations of them on the searches I recommend: exploits, bugs, unix, windows nt, holes, crash, dos (also stands for Denial Of Service), port, sendmail, freebsd, linux, packet, spoofing, gnu. Combine these words with more common words like Winnuke, KaBoom, Warez, etc. which are used by hackers, to bring up the pages of true hackers which aren't just lamers putting up pages of copied files they don't really understand.
  • For warez, the first place to look is my forgotten warezhouse.
  • Searching for warez: Don't type warez, in fact avoid this keyword entirely, it won't bring up good pages just a bunch of porno sites and lame sites with porno banners. Instead, try typing in a number of different, unrelated programs for your search, adding warez to a search for a lot of different programs is OK if it is the last keyword altogether, but it always brings up "lamers warez" (he really is a lamer) and other lame sites. For example, a search for "microsoft money norton lotus" will bring up large warez sites with a lot of harder to find programs, and zillions of links. The more keywords, the better, unless there aren't any sitez left. For warez, the best search to use is HotBot, and the pages should contain "all of the keywords", keep adding more words as less and less pages make the cut for complete sites. Be sure and add the name of any specific programs you have in mind too.
  • No matter what you search for (hacking, warez, etc.) don't EVER EVER add "hacking" or "elite" or similar words to your search. This brings up pages written by lamers who don't know what they're talking about, and usually read by other lamers. The real hacker subculture is hidden, barried away behind the masses of lamer's pages, that all link to 2600 magazine (That is fucking lame! What does that help you with if you want hard to find stuff, it's only a useful link for lamers like themselves because if you were elite you'd definitely have seen a link there before). The real hacker's pages are are used by real hackers who know how to find them. Phrak magazine isn't just run by lamers for lamers, it's pretty cool and the editors are for real. This is about the only good site that lamers tend to link to.

    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.

  • I claim to be a hacker in the sense of a guru, and I can also crash computers and websites(HaHaHa). I don't do it real often, but I still keep on top of things, with the bugtraq mailing list. Sign up today.

    Careers

  • At one time, humans scavenged for food and gathered it. Then, 10000 years ago, people realized it would be better to grow their own food. The agricultural revolution began.
  • 100 to 200 years ago, in America, people got a lot of new ideas, and machines started doing things. Manual labor became obsolete, a main function of humans was managing machines.
  • 10 to 20 years ago, computers began to get cheap. Now they can manage some machines, and the main purpose of humans is either managing computers or driving a dump truck or other things computers can't do.
  • As we move into the future, you will become obsolete if you do not learn computers. Remember, also, all the immigrants moving into this country, taking the unskilled jobs, willing to work for almost no money. And you sure won't get any special treatment, due to anti-discrimination laws.

    Therefore, the best jobs you can get involve computers. Also, you might enjoy it. Here's some good careers:
  • Network consultants and Administrators have got it made. They just manage the networks, get paid as much as doctors, and are people just like yourself. There's no organizational skills required, you don't have to be smart like a doctor, you'll never get laid off, and you make mega bucks. Corporations will beg you to come and help them.
  • Computer Programmers, obviously, develop software. Learn to program in C++. Their jobs are pretty secure also.
  • Consultant: Help people who are scared of computers. Pays well.
  • Tech Support: You should know a lot about computers.
    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:
  • 14.4K modems - 14,400 bits a second. So obsolete it's not even sold anymore
  • 28.8K and 33.6K - standard speed. Good for 1 person.
  • 56K modems rarely ever get that speed, this is their theoretical maximum. Also, FCC limits power output so right now they don't exceed 53kbps. If you and your internet provider are both real close to the phone companie's office, you might get this speed.
  • 128K ISDN lines allow you to talk and send faxes all at the same time as you surf the internet, all on the same line.(your net speed drops when you talk, however.) Not available in most areas.
  • T1 lines get 1.54 MBPS (million bits per second), they consist of a lot of phone lines. Real expensive.
  • T3 lines get 45 MBPS (million bits per second), they have even more phone lines. Real expensive.
    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.
  • Tip: you can almost always get a cheaper price for an internet connection if you buy from an Internet Service provider, than you can buying from a large backbone provider. With small connections like a 24-hour 56K line, this is because big backbones don't want to bother with setup tech support, and maintenance costs, it's a huge annoyance to them. With large connections, this is because the ISP knows that you probably won't use the full connection, in addition to the fact that they're not as fast. Also, due to the phenomenon I explained of a natural balance in speed, if their system is slow, you might not end up using as much bandwidth as you would on a direct backbone network. My ISP usually takes .5 seconds for packets to get in or out, every now and then they seem to experience "bandwidth shortages" where it can take minutes to bring up pages anywhere on the internet but that hasn't happened much lately.

    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 Speech

    Being 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.


    Coming soon

  • Way More links for everything
  • More on good page design
  • All the sections are under construction, more details coming soon
  • Links for the various C++ header files and functions
  • MMX
  • Dos links
  • More on IDE, the Bus, SCIS, printer and parallel ports
  • How hardware works
  • Javascript
  • More on Visual Basic
  • Plug and Play(soon as I learn how it works :-)
  • More details on TCP, IP, UDP protocols
  • More on Unix
  • More on careers
  • More on Interrupts
    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:Supposedly, Visual C++ is also object oriented, but a simple program of writing "hello world" is about 100 lines long, and there's little good documentation on it that I know of, so it hardly deserves the title.
    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 95


    Right 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



    The X windows system is a graphical window system pretty similar to Windows 95, and supports the same "object oriented" programming. It runs on Unix instead of on Dos though. It is about the same speed in terms of graphics, (everything else is a lot faster). Programs written for X windows are smaller than windoze 95. For example, the source code (in C++) to Netscape on X windows is 8 MB, while it is 12 Megabytes in Windoze 95. In other words, the source is 50% larger just to run in Windoze 95 since it is such a lame system.

    The GNU compiler


    One important conecept of Unix is compiling programs, which you should know what it means if you've read this far, if not you should go back. Many times, you can download the source code, and then compile it how you want it.

    When you download Linux, you choose which parts of the kernel (central operating system) to compile into it, and you download the source to a huge, bloated system. You hopefully will choose not to compile in every driver available, if you do your performance will suck almost as much as Windoze 95. You can get by on a 400 KB kernel. Choosing components is called configuring the kernel.

    Linux can be repogrammed by you, the user. No reverse engineering (disassembling CPU codes into assembly language, and trying to guess from that how the source code works) is neccesary. Simple download the C++ source, (which you need to do to run Linux anyway), find the right module(consult the documenetation), and repogram it, then recompile it. You should be somewhat of an advanced user before attempting this, my page and links will not prepare you. If you make a major improvement in it, that you think other people might appreciate it, you should contribute it to the Linux project. Linux is shareware, and it was designed and created by users such as yourself (Although probably more advanced). The head of the whole organization is Linus Torvalds, who created the kernel of the operating system years ago as a college project (Much to his surprise, years later his life now revolves around this operating system.) Netscape's source code is now also free, meaning you can modify it however you want. It can be compiled on a fairly moderate system if you use Unix (You don't want to even KNOW what it's like compiling Netscape for Windoze 95), using the GNU compiler. Just like Linux, if you make an improvement or bug fix, you should send it in. Their project is coordinated at www.mozilla.org.

    Miscellaneous

    To write windoze programs, get visual basic from my forgotten warezhouse
    Here's a few links to start with:
  • Info about how Windows 95 multitasks

      Excite search for pages similar to this

  • ftp.microsoft.com/developr/
  • Microsoft's Visual Tools Glossary Wow! It's like a dictionary of Mirosoft's programming propaganda! Exellent resource. And lots of the words they use are hyperlinked to other places on the page.
  • The complete 32-bit winsock specification! I think you need Visual C++ for this
  • C optimisation tutorial
  • Just go here go here go here take my word for it, go there.
  • Linux tutorial
  • Norm's Helpdesk Bookmarks Got quite a site here.
  • More about modems and some general PC information
  • Computing links
  • PC system optimization
  • nick's links
  • How to build an Internet Service Provider
  • More computer stuff
  • Computer literacy online Educational Commercial Site
  • 16-Bit .DLL tutorial
  • Operating systems on the WWW
  • Borland C++ 5.0 FAQ page
  • Winsock programming Write internet programs
  • Qbasic FAQ If you're this advanced, it's time to move on
  • 32 bit DLL tutorial
  • The PC's parallel port
  • Ken's dictionary of computer standards
  • PPP Faq
  • WWW.Programmersheaveen.com Go there, they have everything from
  • Accessing VGA
  • Steel's programming resources - links
  • Graphics routines for C++
  • Understanding config.sys and windows config files
  • more stuff on this site tutorials to advanced stuff to source code archives
  • ITI online Training center main page. Other pages here:
        Here's a good C++ tutorial
        Windows Nt/95 programming concepts (excellent resource read this)
        other WWW tutorials
  • Technology News Updated daily, I go here every day.
  • Quake DevelS - C tutorials I don't know what this has to do with Quake. Has lots of C++ tutorials.
  • more information on DLL files
  • ActiveX, OLE, C++, OCX, etc. sits
  • Developer's links Here there's all kinds of
  • helpsite.com this site is similar to mine.
  • The programmer's Vault This is a real good site. links, this is an excellent site. Lots of links for C++, Assembly Language (remember, an English version of the CPU's language, if not go back and read ), MS ACCess (a database program, it rules), Perl...EVERYTHING!

  • Remember: master the searches!

    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.
  •  



    Like everything original that has been put on any "permanent medium" (including a hard drive), this page which I wrote is protected by Intelectual Property laws. The main difference from a copyright is that a copyright proves it. I hereby give you permission to copy all of this or part, any way you want, free of charge, except on web pages. If you want this on your page, just link here, and this is only because I plan on updating it and I don't want older, obsolete, less complete copies of this forever stuck on lots of pages.

    If you must make people think you wrote this yourself, just link to a page on your server, that has this code:
    <FRAMESET>
     <FRAME SRC="http://www.fortunecity.com/roswell/seance/26/tutor.htm">
    </FRAMESET>

    and then the browser's URL will show that the page is on your server. Nifty little "hack" I discovered.