ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ º ððððððð ððð ðð ðð ðð ððð ðð ðððððð ðð ÃÄ¿ º ðð ðð ðððð ðð ðð ðð ðððð ðð ðð ðð ³ ³ º ðð ðð ðð ðð ðð ðð ðð ðð ðð ðð ðððð ðð ³ ³ º ðð ðð ðð ðððð ðð ðð ðð ðððð ðð ³ ³ º ððððððð ðð ððð ðððððð ðð ðð ððð ðððððð ðð ³ ³ ÓÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The South Puget Sounds Premiere Computing Magazine! ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ November 1995 ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Editors Corner-- Well the month of November is upon us. It's cold and wet as can be expected here in the Great Pacific Northwest. Now is the time to get on that computer and do some serious modeming! No more days at the beach and no more frivolously spending your money. Why Not?!? you ask? Becasue... Christmas is coming and your gonna need all of that bread to buy Christmas Gifts! So now you have the perfect excuse to offer to your spouse. "But honey... there is nothing to watch on TV, and we can't go out, 'cause we are saving money for gifts." See... perfect ironclad excuse. So sit right down, pour yourself a nice hot cup of coffee, or if you prefer brew yourself an espresso and kick back and enjoy life. What could be finer? Well... we will leave that to your imagination. This is a "Family" Production! --tadpole ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ É͵ Table of Contents ³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ úþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Primal Rage - A Review - Joe Morris Internet Servers Paul Oliver Sex Via Modem? Joe Morris Programming in "C" Paul Oliver The Psychology of Computing Joe Morris Are You a Cyber Junkie?! Joe Morris South Sound Free Internet Access? Paul Oliver This Months Authors About ONLINE! Magazine ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Different Versions: Review of "Primal Rage" --Joe Morris Been to the arcade lately? No? Me either, but I thought I would ask. I have seen something that I am not really sure is good or bad. Have you noticed the amount of PC games that are being ported to the different Game Systems? A good example is the game "Primal Rage". The arcade has some really intense graphics. The idea of the game is that you are a Kung-Fu Dinosaur. Sounds dopey, but is sort of fun. Anyway, my point is that even though all of these games are essentially the same, the limitations/advantages of each system make each version completely different. Here's a small contrast between platforms: Sega Genesis - "The overall presentation is very good. Graphics are very sharp and the animation is very smooth. Game play is a little difficult because of the way that the controller buttons are placed. The sound is good too." - James & Derek Super NES - "The game is pretty good, but the graphics were a real disappointment. They're not nearly as clear as the arcade. The sound was OK. On a scale of 1 to 10 I would give the game a 6." - Will As you can see, personal expectations can vary. Some people will find that if the game play is accurate to the arcade, they can do without the sharp 32 bit graphics. Others, however, will settle for nothing less than the "Real Thing". In general, if anyone around your house likes kicking butt, and being a monster, this is probably a game that they will like. There are versions for any platform that you can think of. Even a version for the PC. I played the game a little. Not being much of a gaming person I was nonetheless impressed. I would have to say that I will play the game again and give it a rating of 8. Check it out. -- For Sale: Antique desk suitable for lady with thick legs and large drawers. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Internet Servers -- Paul Oliver Hey boys and girls! Have you ever wondered about the Internet? Oh yeah, right sure. How could one not? We all get bombarded by news of it each and every day! It never stops. You'd think they were selling war bonds to help out the WWII effort. At least that was a worthwhile effort. But anyway... If you have wondered about it, but are not quite sure where, who, when or how much it will cost you and you have thought to yourself that your just might give it a whirl if only you knew who to call. Then this might help. You can get a complete listing of Internet Servers for your area code just by sending a request through e-mail to ZAHNER@AIMNET.COM Hey! You say... that looks just like a bunch of Internet stuff to me! Well it is. But what better way to find out stuff about the Internet that from an internet source. No... I am not putting you in a Catch-22 position. If you call area BBS's with your computer's modem then you can get this information. Many BBS's in Thurston County have E-mail resources that can send and receive E-mail to and from the Internet. What you would be doing is sending a bit of E-mail to this Internet address of ZAHNER@AIMNET.COM from a Fidonet BBS that has Netmail or as they sometimes call it Internet E-mail. The BBS that is in town that has the absolute easiest way of sending E-mail to and From the Internet is the Scenic East Side BBS here in Olympia. Their Phone number is 943-3625 for you South Sound residents. Once logged on say "Hi" to Jay Andrews, he's the SysOp there at Scenic East Side BBS. To go to the Internet Mail area On his BBS just type the @ key from the main menu and you will be there! Once you find yourself in the Internet Mail area you will find your name and your internet netmail address on the screen, and you will be prompted to enter and address of someone to write to. In the To: box that the prompt will be in, simply enter the internet address that I gave you which is ZAHNER@AIMNET.COM and hit enter. In the Subject: box simply type MY AREA CODE = 360 At this point you will be given an opportunity to write something in the body of the message. What you need to write in the body of the message is: MY AREA CODE = 360 (Replace the 360 wtih 206 or whatever your) (area code is, this goes for the subject box) (instructions above too.) Having the MY AREA CODE = 360 is important to have in both the subject box and as the first line of the message body. That's all, don't add anything else. Then send the mail on it's way. In a couple of days log back onto the BBS, and it will automatically let you know if you have E-mail waiting for you. The file is quite large, so I would have a capture log ready to capture it. If you are using TELIX you can hit ALT L together to open the Log and when you are done hit ALT L again to close the log. Everything that was displayed on your screen will be saved in this log. The log will be named Telix.Cap to view it just load the file into an editor or wordprocessor. What you will be viewing is a rather large listing of Internet Servers. Some of them will be local some not. But the listing is quite large and should give you something to do until after the holidays! That's all there is to it. Maybe just maybe... you will find an Internet Server that suits your need. Then the real headaches will begin. Never will you find yourself with nothing to do again! -- Noting maddens a politician so much as the discovery that the other side is playing politics. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ =) Sex Via Modem --Joe Morris I just finished chatting with a friend who has a hard time getting his parents to let him use the PC on any sort of a regular basis. I thought this rather odd, and asked why. I was told that his parents were afraid that he was getting involved in some sort of InterNet smut. At first I laughed about this, but then upon further contemplation changed my thinking. If you watch any of the news programs on every evening, you've no doubt seen the stories about pornography on the InterNet. Admittedly, there is porn out there. It would be hard to imagine a free America where it wasn't available. (I'm not condoning it, try to follow me here...) The thing the news programs don't mention is, of all the various perversions there are out there, they comprise less than 10% of the total material available. In fact, most of the providers don't even make these areas available to their users. I suppose that doesn't do much for news program ratings though eh? Another thing that has been popular in the media recently is older people taking advantage of younger people. I can easily imagine there are people out there doing this. As far as I know I've never met any. The scary part is, many the people I hang around with online are younger than I am. I have no immoral interest in them. I find people that are younger than I am usually have a much brighter insight into things. I've learned a lot from younger people. I'm sure many younger people have had similar experiences. The beauty of the modem is that it masks us to many of our prejudices. I have no idea what a person I am talking to is like, except for what they think. This is probably the best part of modeming. True equality. Anyway, I've wanted to get that off my chest for almost a year now. Having done it, it's time to move on. Many people are frightened that children are able to get material of a sexual nature from the local BBS's. This is as far as I know, a very rare occurrence. All the system operators I'm friendly with are "Self Policing". That is to say, we tend to regulate ourselves so nobody else will. I would find it unconscienable to allow minors access to that sort of material. Young people are confronted with enough challenges on a regular basis. I'm sure they don't need additional ones. Let's not throw the baby out with the bath water though. I've been modeming for 10 years. My life has been undoubtedly enriched by the people I've come into contact with. I've talked poetry with people in Wales, Programming in Australia, Medieval History in Ireland, and ethics in Spain. No other media offers our young people this opportunity. When confronted with the challenge's adult material offers, I'm sure they'll have the skill and depth of character from online experiences to deal with them. In fact, I believe they may be better able to deal with adulthood than we were. It hits awfully early sometimes... =) ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ /***************************************************************************/ /* Programming in "C" ONLINE! Magazine */ /* By Paul S. Oliver November 1995 */ /* CTUTOR5.TXT */ /* WDESMET.C */ /*-------------------------------------------------------------------------*/ /* NOTES */ /* */ /* This month we have here in this C Source Code a Shell Program with */ /* which to make using the DeSmet "C" compiler easier to use! This */ /* Program once compiled will enable you to run the DeSmet C Compiler */ /* through a shell program (WdeSmet.c) either in DOS or in Windows. */ /* As DeSmet is currently configured it requires you to compile, link */ /* and edit your "C" programs from the command line, each involving */ /* very distinct steps. This Program will do away with that. From the */ /* WdeSmet "C" Shell (this program) you can compile, link and edit */ /* your programs all within the shell. This Program as it is written */ /* calls Q-Edit as it's Editor. However you can use any editor that */ /* you are most comfortable with, either by having the editor program */ /* in your DeSmet directory and renaming the edit program Q.exe or by */ /* changing the source code found here to call your own Editor program */ /* by it's proper name. Compile this program and run it! It will make */ /* your life a lot easier. */ /*-------------------------------------------------------------------------*/ #include char input[100]; char input2[20]; char input3[20]; /* The above three line of code are defining three variables, all of which */ /* are character variables. We are further reserving space in memory to */ /* hold 100 characters for the variable input, 20 characters for the */ /* variable input2 and likewise 20 characters for the variable input3 */ /* These variables and their reserved memory will be used later in the */ /* program to concatenate strings. */ /* String concatenation is where you add two string together. Let us */ /* imagine that we have two character variables. One of them is named */ /* Fname and the other Lname. These two variables will hold our first */ /* and last names respectively. We could concatenate these string so */ /* that the value or name in the Lname variable is concatenated to (or */ /* added to) the Fname variable. After we concatenated the Lname to the */ /* Fname variable then the Fname variable would then hold both the first */ /* and last names. We could just as easily if not easier made the Fname */ /* variable hold both first and last names, so why do this you ask? */ /* Well... for our purposes we need to concatenate the variables because */ /* the input variable input will, later in the program hold the name of */ /* the program you wish to compile and then later link. For the Compiling */ /* process it is straight forward. We will call PCC to compile your */ /* program that will be found in the variable input. But after you */ /* compile a program you will need to link the program to some C support */ /* files. And because of this we will need to concatenate the name of the */ /* file found in the string input with the names of support files that */ /* DeSmet C links to our new object files in order to make them into */ /* executable files. To Link Files in DeSmet C you would need to type on */ /* the DOS command line PCCL filename exec pcio. The exec.o and pcio.o */ /* are both object files found in the library files in DeSmet C. All */ /* Computer Programming languages make use of Library files. The exec.o */ /* and pcio.o are two such files that we will call with the linker to */ /* link into your files all of the time. If your source code program */ /* has made what are called external references to functions that exist */ /* in the library files then the linker will link those functions into */ /* your program. If your source program does not need the functions found */ /* in either of the object files exec or pcio then it will still run the */ /* linker and call those object files, but if it does not need to add any */ /* of the functions of these two object files then it will not. By */ /* calling these two files unnecessarily, it does not make your finished */ /* program any larger. Only if there are functions that your source code */ /* needs will those functions be linked in with the PCCL linker. This */ /* wdesmet.c program will need the function exec that is found in the */ /* exec.o library file. Because the files exec.o and pcio.o are being */ /* called we need to concatenate them to the file name found in the */ /* variable called input. Hence if the your source code file is named */ /* menu.c then the variable input will have the file names exec and pcio */ /* concatenated to it. Now the variable input is"menu exec pcio" and when */ /* the wdesmet shell calls the PCCL linker it will pass the variable */ /* of input which is now menu exec pcio. So that "PCCL menu exec pcio" */ /* is being entered. Which by the way is exactly what you would have to */ /* do at the DOS command line if you wanted to link the file menu.o to */ /* the library files of exec.o and pcio.o to make an executable file */ /* named menu.exe. Got that? Don't despair, jsut keep reading, it will */ /* all make sense! I promise. */ char *pcc = "pcc.exe"; char *pccl = "pccl.exe"; char *edit = "q.exe"; /* These tree lines of code are known as pointer variables. Pointer */ /* varaibles are easy to recognize because they are preceeded with an */ /* asterisk. You can see for yourself that the pointer variables are */ /* being assigned the names of executable files. These executable file */ /* names are the programs that DeSmet's "C" Language Compiler uses. */ /* We need to assign the pointers to these programs so that we can call */ /* these programs by our Shell program later on. */ char *inputP; char *input2P; char str2[10] = " pcio.o " ; char str3[10] = " exec.o " ; char str4[10] = ".exe"; int choice; char quit; /* Again you see our input varaibles input and input2, they too have */ /* an asterisk preceeding them. These variables input and input2 are not */ /* the same as the ones we saw earlier. We are making pointer variables */ /* that point to the variable names input and input2 in memory. The */ /* variables input and input2 will hold values. The pointer variables */ /* point to the variables input and input2 in memory. In this way we */ /* can call the variables input and input2 with our pointer variables. */ /* The whole concept of Pointer Varaibles is rather convoluted. I would */ /* suggest that you get a book on "C" and read about pointer varaibles. */ /* Actually any programming language makes use of Pointer Varaibles so */ /* any thorough book on progamming would do. The subject of pointer */ /* variables would take a great deal of explaining to do, to do it justice */ /* all I can suggest is that you compile this program, give it a good look */ /* and see if you can decide for yourself what a pointer variable does. */ /* Sorry. main() { tab0: scr_clr(); scr_setup(); scr_rowcol(1, 27); scr_aputs("Tadpole's DeSmet C Shell\n", 11); scr_rowcol(3, 0); scr_aputs("ðððððððððððððððððððððððððððððððððððððððððððððððððððððð",3); scr_aputs("ððððððððððððððððððððððððð\n", 3); scr_rowcol(5, 10); scr_aputs("1 Compile a C Source code. [File with a .c extension]\n", 9); scr_rowcol(5, 9); scr_aputs("(", 7); scr_rowcol(5,11); scr_aputs(")", 7); scr_rowcol(7, 10); scr_aputs("2 Link a Object file. [File with a .o extension]\n", 9); scr_rowcol(7, 9); scr_aputs("(",7); scr_rowcol(7, 11); scr_aputs(")",7); scr_rowcol(9, 10); scr_aputs("3 Edit Program using Q-Edit\n", 9); scr_rowcol(9, 9); scr_aputs("(",7); scr_rowcol(9, 11); scr_aputs(")",7); scr_rowcol(11, 10); scr_aputs("4 Run your Program\n", 9); scr_rowcol(11, 9); scr_aputs("(", 7); scr_rowcol(11, 11); scr_aputs(")", 7); scr_rowcol(13, 10); scr_aputs("0 Exit Program\n", 9); scr_rowcol(13, 9); scr_aputs("(",7); scr_rowcol(13, 11); scr_aputs(")", 7); printf("\n"); scr_aputs(" Leave the .c .obj & .exe extensions off when entering", 4); scr_aputs(" file names.\n", 4); scr_aputs("ðððððððððððððððððððððððððððððððððððððððððððððððððððððð", 3); scr_aputs("ððððððððððððððððððððððððð\n", 3); scr_rowcol(19, 10); scr_aputs("Please Enter Choice... ", 8); scanf("%d", &choice); /* The above routines make up our Menu for the Wdesmet C Shell program. */ /* All of these commands should be familiar to you by now. The only new */ /* convention we have used here is the scr_aputs("=====",3) that you see */ /* above. Unlike most scr_aputs we left the \n off of the ("====",3) */ /* usually the ("====="\n",3) is seen. But by dropping the \n off, we */ /* have made it so that the following line that also contains the */ /* scr_aputs("======\n",3) follows right on the heels of the proceeding */ /* ("=====",3) this allows us to make our border ====== 80 character wide */ /* if we did not leave the \n off of the first "=====" then it would give */ /* us a new line and the following "====" would be below the first "===" */ { if (choice == 1) goto tab1; } { if (choice == 2) goto tab2; } { if (choice == 3) goto tab3; } { if (choice == 4) goto tab4; } { if (choice == 5) goto tab0; } { if (choice == 0) goto tab10; } /* A traditional decision branching routine. I prefer this rather simple */ /* style as opposed to some you might run across. It's easy to follow. */ /* If the user selects menu item no.1 then they get sent to tab1; which */ /* is the routine that handles the compiling of your program by calling */ /* DeSmet's compiler. No.2 calls the linker, No.3 the editor. No.4 the */ /* program you have compiled and linked can now be run in the WdeSmet */ /* shell program. tab1: { scr_rowcol(20, 10); scr_aputs("Enter the name of the file you wish to compile\n", 9); scr_rowcol(21, 10); gets(input, 12, stdin); scr_clr(); scr_rowcol(5, 10); scr_aputs("Creating Object File. Make Note of any error messages\n", 9); exec(pcc, input); scr_rowcol(23, 10); scr_aputs("Hit Enter when Ready....\n", 9); scanf("%c"); goto tab0; } /* The above lines is where it all happens! You are prompted to give a */ /* name of a file you wish to compile. The gets(input,12, stdin); */ /* function assigns the name of the file to the variable input. */ /* The exec(pcc, input); function is new to us. The exec function allows */ /* a C program to call another program and allows the newly called */ /* program to be executed. That's why the exec function is named the way */ /* it is. While the newly called program is being ran, the program that */ /* did the calling of the new program get's pushed into the background. */ /* The only problem with this is if the program you are calling and */ /* the program that you wrote that is utilizing the exec() function */ /* both taken together exceed your machines base memory, then it will */ /* not work. As both programs reside in memory at the same time. */ /* This exec(pcc, input); is saying call the file named pcc and run it. */ /* After it is run it is passed the value found in input, which is the */ /* name of your program. So it might become PCC wdesmet, which would */ /* call the DeSmet PCC compiler to compile the wdesmet source file. */ tab2: { scr_rowcol(20, 10); scr_aputs("Enter the name of the file you wish to Link\n", 9); scr_rowcol(21, 10); gets(input, 12, stdin); strcat(input, str2); strcat(input, str3); scr_clr(); scr_rowcol(5, 10); scr_aputs("Linking to Support Files. Note any error messages\n", 9); exec(pccl, input); scr_rowcol(23, 10); scr_aputs("Hit Enter when Ready....\n", 9); scanf("%c"); goto tab0; } /* More Magic! Here we are actually concatenating strings which we have */ /* read so much about. Again we are asked to give the name of a file. This */ /* time it is asking us to enter the name of a file we wish to link. The */ /* name of the file is being stored in the variable input, by the function */ /* gets(input, 12, stdin); The line immediately following is the */ /* strcat(input, str2) If you look at the top of the program you will see */ /* that char str2[10] = " pcio.o " and str3[10] = " exec.o " The two */ /* character variables str1 and str2 will be concatenated to our variable */ /* named input. The command strcat(input, str2); attaches the pcio.o to */ /* the name found in variable input. If the name found in variable input */ /* is menu then menu becomes "menu pcio.o". Then the following command */ /* of strcat(input, str3); our input variable of "menu pcio.o" gets the */ /* name of exec.o found in str3 attached to it which now makes the */ /* varaible named input "menu pcio.o exec.o" Four program lines down */ /* from strcat(input, str3); we have the command exec(pccl, input); This */ /* command is using the exec() function to call the executable program of */ /* PCCL which is DeSmet's Linker to link the object files of */ /* menu pcio.o exec.o which is stored in the variable of input. If our */ /* object file of menu.o needs those functions found in the onject files */ /* of pcio.o and exec.o then thos functions will be linked in. If not then */ /* they won't be linked in. Either way, if your object file of menu.o */ /* is without errors, and it probably is if it passed the compile stage */ /* that we executed with the call to PCC, then the linker will finish the */ /* process and give us a file named menu.exe which will run! */ /* */ /* Take one more look at the char str2[10] = " pcio.o " and the */ /* char str3[10] = " exec.o " you will notice that I padded both sides of */ /* " pcio.o " and " exec.o " with an extra space on each sides of the */ /* quotes. If I had not done this then the concatenation process would */ /* have made the variable named input like this `menupcio.oexec.o' */ /* which would not have worked. */ tab3: { scr_rowcol(20,10); scr_aputs("Enter the name of the file you wish to EDIT\n", 9); printf("\n"); scr_rowcol(21, 10); gets(input2, 12, stdin); exec(edit, input2); goto tab0; } /* The above routine is just like the routine you studied in tab1: except */ /* I have chosen a new varaible named input2. I did this in case you */ /* to edit a file of a different name and to prevent possible errors dues */ /* to variables of the same name. This probably was not necessary, but I */ /* opted to play it safe. Then the exec(edit, input2); is calling the */ /* executable file that is found to be in the variable named edit. Which */ /* if you looked to the top of the program you would find the assignment */ /* of char *edit = "q.exe"; If you have another Editor that you prefer to */ /* use other than Q-Edit which is Q.EXE then you can assign the pointer */ /* variable of char *edit "whatever.exe" whatever of course being the */ /* name of whatever editor you choose to use. */ tab4: { scr_rowcol(20, 10); scr_aputs("Enter the name the Program to Run\n", 9); scr_rowcol(21,10); gets(input3, 12, stdin); strcat(input3, str4); exec(input3); goto tab0; /* More of the same thing. Only this time we are using exec(input3) to */ /* call the name of the program that you have compiled and lined and made */ /* into an executable file. */ } tab10: { scr_clr(); scr_aputs("You are about to Exit program, are you sure Y/N ", 9); scanf("%c", &quit); } { if (quit == 89) goto tab11; } { if (quit == 121) goto tab11; } { if (quit == 78) goto tab0; } { if (quit == 110) goto tab0; } tab11: { scr_aputs("Thanks for using Tapole's DeSmet C Shell!\n",6); return(0); } } /* And I think the above lines of code are sufficiently familiar to you */ /* by now. One thing I might point out is that the numbers found as */ /* 89, 121, 78 and 110 are the decimal equivalent for the ASCII characters */ /* of Y, y, N, and n, respectively. */ /*-------------------------------------------------------------------------*/ /* HOW TO COMPILE THIS PROGRAM USING DESMET "C" COMPILER */ /* */ /* 1. Load this edition of ONLINE! Magazine into your favorite Editor. */ /* 2. Cut this Tutorial out of the Magazine. It is a C Source Code That */ /* can be compiled. And Run. This Tutorial Is A C PROGRAM! It is */ /* The Wdesmet C Shell Program. */ /* 3. Now with this Source Program cut out from the Magazine I want you to */ /* delete all of the comments from the source code. The Comments are */ /* all of the text such as this that you find boxed in with the */ /* /* blah blah blah, so on an so forth */ */ /* Comments such as these are supposed to be able to reside in the */ /* Code of C language programs, however it has been my experience */ /* That code as heavily commented as this one will not compile as it */ /* should. So cut all of this out wherever you find it in the program. */ /* Once you have done all of this, save the file as wdesmet.c in ASCII */ /* format. Editors save files in ascii. Lots of wordprocessore do not. */ /* 4. Obtain the DeSmet C Compiler from an area BBS such as the Auger Inn */ /* or the Mosquito Byte BBS. And Pkunzip the file, into a directory. */ /* The filename you should look for on the BBS's is PCC12C.ZIP */ /* 5. Once all of the PCC12C.ZIP files are installed, you will need to */ /* convert one of files named pcio.a to an object file named pcio.o */ /* to do this simply type on the DOS Command line the following: */ /* PCCA PCIO this will produce the object code of pcio.o */ /* 6. Now with this Source code in the same directory as your DeSmet C */ /* program files type the following commands: */ /* PCC wdesmet and hit enter. --- Then type ... */ /* PCCL wdesmet pcio exec and hit enter. */ /* What you did was to produce an object code named wdesmet.o when */ /* you typed pcc wdesmet and then when you typed */ /* pccl wdesmet pcio exec you linked the wdesmet object file with */ /* support routines found in both of the object files named pcio.o and */ /* exec.o to produce the executable file WDESMET.EXE */ /* 7. Now Run the Wdesmet.exe file from either the DOS command line or */ /* from Windows. */ /*-------------------------------------------------------------------------*/ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ The Psychology of Computing --Joe Morris Sometimes when I look at the PC late at night, I find myself wondering "What the heck were they thinking?" I usually do this when I'm trying to figure out something that would be a lot simpler if I'd gotten more sleep. Since I do so much of this thinking, and have come to some pretty solid conclusions I thought that I'd share them with you. Not everyone has bought into the Graphic Interface way of doing things. There are still people out there, (Some may be reading this!), who've yet to jump into the GUI environment. I hear their cries late at night, "Give me an XT and a star to sail her by...." or something like that. You can recognize them by the smudges of grease on their faces, and burns on their hands from adjusting the boilers on their steam powered PC's. Others, however, have yet to take even this step. There are a couple of people I know still using Stone Age "Microcomputers." They'll probably continue until the Smithsonian sends out a team of Archaeologists to properly pack these relics of another time for shipment and display in Washington DC. I've even heard rumors of secretive people shuffling around late at night in the back alleys of our community who actually prefer to use Mac's. I know Halloween recently passed, but I swear to you it might be more than rumor. Recently a team of anthropologists found, and were able to capture a live specimen of what they believe to be either a Mac user or a new species of Sasquatch. This is as reported in the national tabloids. You've no doubt heard of Windows. It's something like the digital version of the menu at an all night restaurant. They both have a point and grunt interface that's easy to use at 2 a.m. after a heavy night of drinking. The advantage the restaurant has over the Windows interface is the ability to survive a user "Honking like a goose" all over it. The main reason for a GUI interface, as we all know, it the ability to get into and out of solitaire with as little thought as possible. Heck now with a Pentium and Windows 95 you can get in and out of Solitaire faster than ever before. As American consumers we have to ask ourselves..."Ain't this grand?" The sad truth is no matter what you use, given enough time, enough technological advancements, and enough money -- it's all to quickly out of date. More often than not though, it's more than the hardware or software that's woefully outdated. -- You're so dumb, anything you bought at the lobotomy store would be a blessing. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Are you a Cyber-Junkie? --Joe Morris Ever wonder what you would do if your PC just suddenly went "Breasts Skyward"? Think about it for a minute. No PC. None. Zip. Jack. Nada. It's weird but you'd think that you would find other things to do with your time. Well...I'm here to tell you that you really don't. I know, you probably think I am a sick puppy being digitally addicted to the computer, but I doubt that I'm alone in this. Think about it though. You probably spend a heck of a lot of time on the darned thing. A huge chunk of your waking hours. A hole that size is hard to fill. Here's my list of symptom's that you might be a Cyber-Junkie.... 1) You never turn the PC off for anything less than a reboot or upgrade. 2) You've chopped off two fingers and toes so you could count in Hexidecimal more easily. 3) You ask someone for their address and are surprised when they mention a street address. 4) You become "aroused" by Software/Hardware adds. 5) You run a BBS for no real reason. 6) You have your Hard Drive chromed. 7) You actually know how much a box of 3.5" floppies' costs. 8) You're on a first name basis with the guys at the local PC repair shop. 9) You've never met any of your friends "face-to-face" 10) You move the TV so that you can watch Star trek while you Download. I think that's a good starter list. There are some more serious signs, but if you seem to suffer from any of these I would say there is a significant possibility that you are a Cyber-Junkie. =) ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ South Sound Free Access Internet Server? -- Paul S. Oliver Well this past month I attended a meeting taht was held at the Olympia Timberland Library which was chaired by a group of people that have an interest in bringing to Olympia a Free or Very Cheap Internet Server to the South Sound Region. This group has been meeting monthly for the better part of the year and are in what could only be called the "design" phase of the Internet Server. Presently it seems that the focus of the group is determining what type of interface the server will have, whether it is graphical or textual (GUI like windows, or more of a DOS like command line/text type interface). This as well as what kinds of things this Internet Server should perhaps provide to the community. As it was my first meeting I do not feel that I came away with a real strong grasp of the situation, although I can teel you that the intent of the group is to bring what some people might call a Free-Net to town. Though I believe Free-Net is kind of like a registered trademark or something of that sort, so it's not likely that they will call it that. However the jist is the same. Presently the funding of this enterprise appears to be a major concern. Talk of Grant writing to support the Internet Server here in town was mentioned, in hopes of getting either the city or the state to fund either all or in part. Remember, as this was my first meeting I am kind of shallow on all of the facts as they pertain. Needless to say however, funding either through private or public dollars is being sought. I was sort of surprised with the number of folks in attendance at teh meeting. Of the 25-30 people present only approximately 3 or 4 were active modemers of Local Area BBS'. I know this because I made a point of asking the group. Of the people assembled I was somewhat taken aback by the number of the people there that are aligned with either the Library system, or the city or the county. The Olympian was also by one of the attendees, though I am not sure if he is there in any official capacity in regards to representing the Olympian. The next meeting is to take place on the 8th of November at 6:15 P.M. at the Tumwater Library (Not The Olympia Library this time) The group goes by the name of the South Sound Network Group, or something similar. Getting hung up on the name is not important however, as it appears that there is already someone in the South Sound Region that already has dibs on whatever name this group goes by, so therefore this group is also looking for a new name by which to call itself. I think that Local BBS modemers need to be better presented here at these meetings! I hope to see you there this Wednesday the 8th of November. If a Free-Net of sorts does come to town and it has falls short of your expectations, then well hey... you have no one to blame but yourself. So be there! ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ o%o³ This Months Authors ³ o%o%o%o%o%o%o%o%o%o%o%o%o%o%o%o%o%o%o%o ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ - Joe Morris "Joe Morris is a longtime resident of the Sound Area. He mostly spends his time defending the merits of an obscure programming called BASIC. Don't tangle with him on this issue I warn ya. Not unless you can write code that approaches the volume of many megs of instructions, while at the same time accomplishing virtually nothing! By the way he's also the Editor of this fine electronic Magazine." - Paul Oliver "Paul Oliver is ONLINE's resident "C" fumbler. Help him out with a bit of programming advice would ya? He's getting more and more lost!" ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþúþº ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Where to get ONLINE Magazine! If you are interested in carrying copies of ONLINE! on your BBS, please contact us by one of the ways listed elsewhere in this issue. Copies are FREE to everyone! Back issues are available! Contact us for availability. ONLINE! magazine reaches thousands of people every month. Thousands of people who might be interested in what you have to sell. The main region for distribution is Western Washington, but the magazine does go out over the InterNet to places all over the world. We have an on site art department to help you create your ad, or you can create it yourself. We can use either regular art, or Files on Disk. The preferred method is to submit copy on disk. Either way is fine. Our rates are VERY competitive. For a current price quote please contact us at one of the addresses listed below. We look forward to serving you! *** NOTE *** The opinions expressed in this magazine are the opinions of the respective authors. ONLINE! is produced by the electronic online community. If you have something to say, you are encouraged to write to us. We can be reached at the following addresses... InterNet: joe.morris@f333.n352.z1.fidonet.org paul.oliver@f333.n352.z1.fidonet.org BBS: The Auger Inn BBS (360) 705-1606 The Mosquito Byte BBS (360) 459-1892 U.S. Mail: ONLINE! 2313 Brentwood Pl. SE Lacey, WA 98503 ONLINE! is always looking for material. If you know of something that you think we should cover in a future issue, please let us know. If you are interested in submitting material for publication...Please do!! Please feel free to pass this on to any, and, everyone! Thanks for your support! ONLINE! (c)1995