ÞÛÛÝ° ÜÛÛÛÛÛÜ ÜÛÛÛÛÛÛ° ÛÛ° ÛÛ° ÜÛÛÛÛÛÛ° ÛÛ° ÛÛ° ÜÛÛÛÛÛÜ ÛÛ° ÛÛ°°°°° ÛÛÜÜÜÜ° ÛÛÛÜ ÛÛ° ÛÛÜÜÜÜ° ÛÛ° ÛÛ° ÛÛ°°°°° ÛÛ° ÛÛ° ÛÛßßßß° ÛÛßÛÛÛÛ° ÛÛßßßß° ÛÛ° Ü ÛÛ° ßÛÛÛÛÛÜ ÞÛÛÝ° ßÛÛÛÛÛß ßÛÛÛÛÛÛ° ÛÛ° ßÛÛ° ßÛÛÛÛÛÛ° ÛÛÜÛÛÛÜÛÛ° °°°°ÛÛ° ÛÛ° ÛÛ°°° ÛÛ°ÛÛ° ÛÛ° ÛÛ° ÛÛ°ÛÛ°° ßÛÛß ßÛÛß ßÛÛÛÛÛß ÞÝ° ÞÝ° ÞÝ°ÞÝ° ÞÝ° Þ° ÞÝ°ÞÝ° ÞÝ° Þ° ÞÝ°Þ° Ý° Þ° Ý° Þ° Ý° Þ° Þ° The Journal of IceNET June 1994 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Editor's Desk ³ ³ The Upper Registers Deacon Blues (2@7653) ³ ³ M/E Comments Louie (6@1) ³ ³ Letters To The Editors Louie (6@1) ³ ³ IceNEWS Op-Ed Forum Louie (6@1) ³ ³ ³ ³ Feature Stories ³ ³ WWIV Goes To School Chris (1@7668) ³ ³ WWIV Security: One Semi-Expert's View Crossfire (1@8854) ³ ³ ³ ³ WWIV-Specific ³ ³ WWIV Mod and Utility Reviews Papa Bear (1@5079) ³ ³ ³ ³ Software/Programming ³ ³ To DOS, Or Not To DOS... Mega Bite (172@7672) ³ ³ Learning C - Pt. 5 Daarkhan (1@7676) ³ ³ Artificial Intelligence - Pt. 2 Louie (6@1) ³ ³ ³ ³ Hardware ³ ³ Will Crawford On: The Future of Computing Will (1@6754) ³ ³ Give me an A, Give me a T, Give me a Z Fractal (3@5750) ³ ³ ³ ³ Lite Bytes ³ ³ Tales From Being A BBS Sysop - Funny Users Ima Moron (1@9661) ³ ³ How They Got Started In BBSing - Pt. 3 Louie (6@1) ³ ³ Silly Strings Ima Moron (1@9661) ³ ³ Word Search Puzzle Answer Louhal (1@10) ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ IceNEWS Staff For June 1994 ³ ³ ³ ³ IceNEWS Publisher - Jim 1@1 ³ ³ IceNEWS Editor-In-Chief - Deacon Blues 2@7653 ³ ³ IceNEWS Managing Editor - Louie 6@1 ³ ³ ³ ³ IceNEWS Contributing Editors ³ ³ Hardware - Will 1@6754 Software/Programming - Daarkhan 1@7676 ³ ³ WWIV-Specific - Papa Bear 1@5079 Lite Bytes - Ima Moron 1@9661 ³ ³ ³ ³ Editors-At-Large - Louie 6@1, Chris #1@7658 ³ ³ IceNEWS Production - Spelunker 1@7653 ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ IceNEWS is always seeking submissions from those who have ³ ³ ideas for stories. If you have any ideas that you might ³ ³ like to see published, contact any IceNEWS editor or ³ ³ subscribe to IceNEWS Beat, subtype IceNEWS, host @1. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ E D I T O R ' S D E S K ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ The Upper Registers ³ Deacon Blues (2@7653) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Here's a couple of thoughts that I had while cleaning the coffee cup rings off of Jim's old desk, which is now mine... ______________________________________________ Several weeks ago on the IceNET National Sysops Only sub, I saw something that really warmed my heart. It seems that a local IceNET sysop from my 716 area code had a problem with one of the users of his system. The person had apparently sent out some rather nasty e-mail to a number of network sysops and users. The sysop of the system that the messages originated from posted on the sysop sub, publicly apologizing to everyone for the actions of that user and stated that he was revamping his BBS setup to make sure that something like this did not occur again. While this was a great gesture of the sysop's part, it is not the part of the story that got to me. Several posts later, there was a response from a sysop from another area of the net that had been the recipient of one of the offensive mailings. Much to this person's credit (who also happens to be an IceNET Area Coordinator), this sysop did not blast the other sysop for the occurrence. Instead, the person posted saying that it was understood that sometimes these things happen in the net and that there were no hard feelings over what happened. This person went on to say the it was understood that there is no way for anybody to monitor their system 24 hours a day to make certain that things like this do not happen. This sysop then extended a hand to help the other in the restructuring of the other's BBS and wished him the best of luck. I personally take my hat off to both of these individuals for showing an uncommon amount of class in the handling of this matter. Many lesser sysops would have taken the opportunity to flame or bash the sysop of the system where the messages originated from or would have made other comments that could have belittled the other sysop. I've seen flame wars on sysop subs start for less. Much to my pleasure, the situation was solved amicably, without slurs, slander, and seamy behavior. Maybe Jim should consider changing the name of the network to NIceNET... ______________________________________________ For those who may have missed it, "Newsweek" recently (May 16, 1994) ran a cover story regarding the gender gap in BBSing. In a part of the story, a number of female users related to the author how they were being treated unfairly by the other inhabitants of cyberspace, saying that they are often the target of flame mail or rude posts by male users for speaking their opinions about various subjects and railroaded off of message bases. They also stated that when it was found out that they were females, they often had to deal with mail and posts in which they felt they were sexually harassed (asked for body statistics, dates, and sexual favors). In another story that recently appeared on PBS's "The MacNeil/Lehrer News Hour" (May 12, 1994), the cyberworld was again the subject of bad press. The show related the story of a young male who, through his computer access at the prestigious Massachusetts Institute of Technology, managed to set up an illegal BBS system that encouraged the uploading and downloading of commercially-released software. In other words, "pirate" software. While Internet was prominently named in both stories (in the case of the pirate system, it was apparently an anonymous FTP site set up at the school itself), I can't help but think that all of this reflects badly on all computer networks and BBSing in general. Stories of this type can only further the public misconception that BBSes are horny teenaged he-man woman-hating boys clubs where you can download copies of WordPerfect for the price of a phone call. Unless the BBS community both cleans up its act and starts to find ways to generate more positive press coverage of the cyberworld, I fear that the false perception I mentioned above will not only damage the credibility or create prejudice against the thousands (or tens of thousands... who really knows for sure?) of good, legitimate sysops around the world but will also turn some potential newbies -- females in particular in light of the "Newsweek" story -- away from the idea of typing "NEW" at the "NN" prompt. The real world is moving into computing, BBSing, and networking at a blistering rate. Unless more tolerence and openness is shown toward these new drivers on the data highways, the proposed Information Superhighway (now called the Information Infrastructure by the politically-correct) is going to look like a California freeway; with people taking pot-shots at other people who cut them off, look at them the wrong way, intrude on their space or otherwise annoy them. ______________________________________________ Well, that's enough musing for this month. Time to get on to IceNEWS matters. In that respect, I would like to welcome a few new faces to the editorial ranks here. Papa Bear, #1 @5079, comes aboard as a Contributing Editor and joins our WWIV Specific department. Papa starts out this month by answering the call of a number of IceNEWS readers by providing a couple of reviews; one on the popular utility AutoSend, the other on a BBS mod. Daarkhan, #1 @7676, steps into the Software/Programming department as a Contributing Editor. Readers of past issues will recall his name from the continuing series on learning C programming, a series that he continues in this issue. Last, but not least, is Chris, #1 @7668, who has joined Louie as an Editor-At-Large and will be contributing to various departments. Chris starts his tenure here with a Feature story on how he got his school to set up and operate a WWIV BBS. The addition of these fine folks is in direct response to feedback received from our readers asking for IceNEWS to be able to bring you a wider range of stories. With these new additions, I feel that we have taken the first step in that direction. Another step taken to improve the quality of IceNEWS was a recent meeting of the 716-area staff (myself, Louie, Daarkhan, Chris, and Spelunker) to "gang edit" the copy of this issue for errors. It was a useful and productive meeting which I feel worked out well and should benefit all of our readers. Hopefully, we will be able to continue this practice in the future. This shouldn't let us off the hook, though. We still need to keep hearing from our readers about what you like and don't like and want or don't want to see in future issues of the Journal. The Letters To The Editors section of this issue contains a letter telling us just that. We need to hear from more of you about whether or not you agree with these views and why you feel that way. Remember, if you don't tell us what you want, we can't deliver it to you. Please take the time and drop us a line to let us know that you're there. And now, your June, 1994 edition of the IceNEWS Journal. Enjoy! ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Comments From The Managing Editor ³ Louie (6@1) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄ Well, this was a busy month at IceNEWS. Deacon Blues has assumed the power position of Editor-in-Chief. Deacon is a long time IceNEWS Editor and the rest of the Staff welcomes him to his new position as our fearless leader. Deacon already filled you in on the staff expansion with Papa Bear, Daarkhan and Chris becoming editors. I would like to extend my personal welcomes to each of them as well. This months issue provides some very good stories for your reading pleasure. Crossfire (1@8854) starts us out with an article about WWIV Security. It contains just about everything a sysop ever wanted to know about ways he or she can protect their system from unwanted hack attempts. It should be noted that this article does share a common subject with a story written for the May 1994 issue by Papa Bear. Both articles were received within days of each other and were both written with no input from each other. As PB's story was received first, it was printed first. Crossfire was kind enough to allow us to hold his article over until this issue. Daarkhan and I continue our series articles about Learning C and Artificial Intelligence respectively. I also have a third installment of "How They Started BBSing," with segments this time coming from from Benny Hill (1@7400), Wildfire (1@5857) and Daydreamer (2@4501). This is very interesting stuff I think most folks are interested in. We got Louhal's (1@10) answer key to last month's word search puzzle. Some nice techie articles from Fractal (3@5750) on modems and Mega Bite (172@7672) on the DOS vs. Windows debate. Ima Moron (1@9661) is his normal humorous self. There are a bunch of other articles that you will be interested in as well. Also, in DB's E-I-C Comments, he mentions the Letters to the Editor section. We do wish for Letters from our readers. This month we are starting a similar feature to the Letter section though. The IceNEWS Op-Ed Forum, which users in all of WWIVland can write for. The Op-Ed Forum will allow anybody and everybody to write an editorial in which they can expound about their opinions on some issue facing WWIVland, IceNET, BBSing, WWIVnet, WWIVLink, etc. This is not for your views on President Clinton's Health Care Bill, but for your opinions on issues such as "Pings," the Life Arts Network controversy, Information Superhighway, the Big Three networks vs. the smaller networks, etc. Letters for the IceNEWS Op-Ed Forum should be e-mailed to me (6@1) as I am the Letters guy on the staff. Also, unlike the regular Letters section, the Op-Ed Forum will not contain IceNEWS Editor responses. An IceNEWS Editor _may_ write for it (as I do in the inaugural installment), just not as an IceNEWS Editor, but as their private selves. I hope you enjoy this months issue of IceNEWS. We do this all for you, our kind-hearted readers. Thanks for reading us. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Letters To The Editors ³ Compiled By: Louie (6@1) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The IceNEWS "Letters To The Editors" column is a forum for the readers to express their feelings, thoughts, or opinions regarding IceNEWS. Please take the time to write us regarding your feelings on IceNEWS and its contents, good or bad. We want to hear what you have to say. Remember, IceNEWS is meant for EVERYONE in IceNET and we need YOUR input in order to maintain a successful and respected publication. Please address any remarks or questions to: IceNEWS Letters To The Editors c/o Louie, #6 @1 IceNEWS Editor-At-Large Wildfire, #1 @5857, writes regarding his opinions on IceNEWS: I don't particularly care for learning programming in a computer article. I like a hardcopy book, with reference and index, etc., and I always understand it better on paper than on a computer. (Yes, I know that I can print it out, but it still isn't the same) Maybe hints and tips would be fine. Actually, they would be great. Like compiler compatibilities, OS/2, DOS, and Windows compilers, and the performance of each, and any workarounds or MAKEFILE changes needed for different versions, such as TC++, BC++, and GNU++ compilers. For those of you out there who don't know what GNU is, it's an OS/2 Shareware C++ compiler, I've yet to unzip my copy of it and look at it. "The Adventures of ModemMan," I skip them. It's filler fluff that I feel is wasted space. Maybe fill it in with actual facts about computer industry happenings, Gates vs Stac, etc. I feel that IceNEWS needs more technical articles. The "Building A PC" articles, I didn't even look at, but were highly appropriate (I didn't look at them since I built my system, (I'm a hardware specialist)) and there should be more of them. Mainly, there should be more product reviews if possible in the areas where we would need them; modem test results, com port test results, backup devices, and video displays with built in BUS mouse connectors (for those of us with multiple modems, too much other hardware, and no more IRQ's and expansion slots for other serial ports to run a mouse for our BBS). Another thing we should have [in IceNEWS] is software reviews for our BBS. Like new utilities that are available and their actual usability and usefulness. Possibly a section for chains reviews, new games and the setups for WWIV, and how well the users like the game, and how much the sysop actually likes it. There should also be more info on the NET itself, and NET utilities that would make our lives easier and that are easy on our pocketbooks. I know I'm running on a limited budget so there have to be a lot more sysops out there like me who need utils, but don't have a lot of cash. Louie, #6 @1, IceNEWS Editor-At-Large, responds: I would like to start by extending my personal thanks to Wildfire for writing up and e-mailing his comments to me and the rest of the IceNEWS Staff. We like to get feedback from our readers. We wish to know what the people who read the IceNEWS Journal think about our product. I would just like to state that IceNEWS wants to be read and wants to appeal to as many people as possible in the IceNET and WWIVland Communities. That is why we publish many different types of articles from Humor and Programming Language descriptions to Product Reviews and WWIV-Specific articles. We want everybody who reads us to find something they wish to read. Now, Wildfire has told us that he wants to see more tech-type stories in the IceNEWS Journal. We have been recruiting more technical articles over the past few months. But technical articles need to be written by technical people. At IceNEWS, we have subdivided the technical areas into Hardware, Software, Programming and WWIV Specific. We are looking for more and more articles on each of these sub-topics. This month Papa Bear, our new WWIV-Specific Editor, has a good article on WWIV Mod Reviews and includes a couple of his own reviews in it. However, I would just like to defend one specific thing that Wildfire said. Wildfire does not seem to like Humor articles, like the "ModemMan" series by Jot$ (1@7850) and Deacon Blues. Now, myself, I like computer humor. I think that a lot of other BBSers around IceNET and WWIVland do as well. So, please e-mail us (6@1 is the address to write to) and tell us if you like the Lite Bytes Humor and what appears there. If most people like it, then we will try to keep it around, if - in the main - folks think we should give it the old heave ho, the we have to toss it aside and see how IceNEWS does without humor. We really do want to know what all our loyal readers think of any and every aspect of IceNEWS. Please drop us an e-mail at any time to tell us what you think of this issue (June 1994), or on anything about it in general. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ The IceNEWS Op-Ed Forum ³ Louie (6@1) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄ This is the first installment of the IceNEWS Op-Ed Forum. We will be printing readers' personal opinions about things going on in IceNET, WWIVland, the Information Superhighway, etc. Anything about these and other computing topics is fair game for anybody to write a Guest Editorial about. Please remember that any opinions published reflect the thoughts and opinions of the respective authors and may not necessarily reflect the views of IceNEWS, its staff, or any other contributing writers. These opinions are in no way endorsed by IceNEWS or IceNET in any official manner. The first person to write a guest editorial for the IceNEWS Op-Ed Forum is myself. Somebody has to get the ball rolling and I want to air a gripe. It's my opinion and not that of IceNEWS. With that in mind... Sysop Sub-boards When I read the various sysop sub-boards in IceNET, WWIVnet, WWIVLink and other networks, I can't help but wonder just what all these sysops (with a smattering of cosysops) are discussing. All that seems to ever get discussed is modding, WWIVland politics, techie "my computer blew up, how do I fix it" things, Sub-board advertisements and a few more posts about modding. That troubles me a lot. Why? Because I do not think that is what a sysop Sub-board should be used for. There are WWIV mod discussion subs already in existence. There are WWIVland political discussion subs (WWIVnet Concerns, WWIVLink Guidelines, etc.) already in existence. There are subs for technical concerns as well. And there are the various Yellow Page Subs for sub-board ads. Those subs are where those topics should be discussed in my opinion. What should sysops and cosysops talk about? Simple. How do you make the BBSing world a better place? How to deal with users in a variety of ways? How to keep their boards good places to call? I realize that these are broad topics and possibly a little difficult to discuss, but that is why they should be talked about more often. The more that people discuss them, the easier it will get to talk about them in the future. Why don't sysops talk about those things much? I think it is because it is much easier to talk about 14 lines of code in the latest mod. It is specific, it compiles and executes properly or it doesn't. WWIVland politics is pretty stupid most of the time anyway. Who's going to be the AC in Area code XXX? Who is going to be King-for-a-day? Admittedly, as the movie "History of the World - Part 1" pointed out, it is good to be the King... but in most networks (save WWIVLink), the King appointed himself and you kind of accepted that fact when you joined that network. If you have to have an AC fight in your area, make a sub for the fight to take place on. Then the rest of us in WWIVland do not have to hear about it. Sysops and cosysops have got to remember that BBSing is about communication. It isn't about sysops and cosysops communicating, it is about USERS Communicating. Users are the important folks. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ F E A T U R E S T O R I E S ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ WWIV Goes To School ³ Chris (1@7668) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ WWIV, the great creation of Wayne Bell and WWIV Software Services, has been one of the most popular bulletin board software platforms around and its popularity is increasing every day. Bulletin boards are mostly used for fun, but now the vast array of applications that are available are becoming more practical. Local computer stores have created bulletin boards for support of their existing customers as well as a means of public relations in gaining new ones. Just recently, however, WWIV has been used for educational purposes. The Hamburg Central School District of Western New York is one of the leaders in our area regarding the integration of telecommunications and bulletin boards in the classroom curriculum. The Hamburg Junior High School started a WWIV bulletin board (The Pinnacle, IceNET @7668) in November of 1993 and have had tremendous student, staff, and community involvement in the project. We have used the bulletin board for many classroom activities. Recently a ninth grade home and careers class used the bulletin board to gather information on states they would like to live in as part of a group project. Bulletin board users from various states responded to a form that the students posted which included several questions pertaining to that state. Students found various statistics in each state. They found that the divorce rate in California was much higher than that of New York. They also found out about some local news in each community as well as collage and education information. Another project that we are working on now is simply dubbed "I'm Sailing!" One of the technology teachers in the Junior High School will be taking his sail boat from Lake Erie to the Caribbean and will be taking all of Hamburg with him. Yup, that's right! Armed with a Macintosh Powerbook and a modem, he will be updating The Pinnacle weekly as to his progress. Because students learn best in "hands on" situations, this project has the ability to prove to students the relevancy of the subject matter at hand. Science classes will be able to gather information on tides, currents, winds and ecology, etc. which may be used directly in the classroom. Social studies and English teachers can collaborate to have students retrieve geographical and historical information on the areas visited and compare them with encounters by the crew. Math classes might chart the courses on maps from information gathered from the bulletin board. This can be directly applied to such problems as time/speed/distance relationships by using real-life places, people and situations. This is a tangible experience to move students beyond the constraints of a text book and the traditional classroom environment. The hard part about using a bulletin board for a class is that a bulletin board, traditionally, allows only someone with a modem to access the bulletin board. Thanks to Wayne Bell, that is no longer true. As I'm writing this, I'm awaiting the arrival of Novell DOS for the bulletin board so that students can access it on any of the three local instances we've registered on our 50-workstation local area network. We are also awaiting the arrival of Filo Software Productions Front Door Installer so that we may add FidoNnet to the cornucopia of networks that The Pinnacle subscribes to. Well, that's about all we are doing at the moment. We are still relatively new and we only have about 200 users, but that is changing quick. I already have plans to help two other local school districts in creating WWIV bulletin boards for themselves and linking them together with a special WWIV-based network. I'm also giving presentations at the University of Buffalo on the educational implications of bulletin boards in the classrooms. So, as you can see, I'm a busy kid. If you have any suggestions, comments or questions feel free to e-mail me. Oh, I almost forgot, one more thing! Remember: "An hour spent on The Pinnacle is an hour spent reading and writing!" so check it out at (716) 649-3530! ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ WWIV Security: One Semi-Expert's View ³ Crossfire (1@8854) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ WWIV security (or the alleged lack thereof), stock or modded, netted or not, is certainly one of the most pressing concerns of virtually every WWIV sysop today. I have been a WWIV sysop for over three years and have encountered several attempted hacks on other systems (two of which were successful) and advised other sysops on how to protect themselves against the hacks which were commonly known at the time. There has been a lot of debate lately, particularly in IceNET's WWIV Security sub (subtype 213, host @1), about whether or not WWIV does in fact contain several internal back doors. One person has even claimed to have found a back door in NETWORK.EXE, but the general consensus judges this as highly unlikely. Several people claim extensive knowledge of WWIV hacks but cannot seem to produce a single viable example. The keys to avoiding hacks are to understand the most common and likely hack methods and to set up protection against them. Such methods of protection may range from simple ones to highly complex ones requiring skill in C programming in order to modify the BBS. There are essentially two types of hacks, under which all known methods may be grouped: internal, meaning a flaw in the BBS itself, or external, meaning methods which rely on some external program to allow DOS access or perform some other function like transmitting copies of CONFIG.DAT and USER.LST. Most such programs can more accurately be called trojans, as they may claim to be onliners or WWIV utilities. --- OLD HACKS AND BACK DOORS --- About four years ago, when WWIV 4.11 was new, a very common and frequently successful hack was the one I refer to as the "411 Wildcard" hack. This method required nothing more than entering ????????.??? as the filename to upload; the BBS, thoroughly confused, would then place the uploaded file in the main BBS directory. It was necessary to use a protocol which supported batch operation as Xmodem would not allow a file with an unknown name to be received. DSZ was generally used with the wildcard hack. Obviously, this file could be anything the hacker wanted it to be. It was certainly a very dangerous back door in its day, but, thankfully, it was extinct by the time 4.12 was released. At any rate, this is an example of an internal hack; a flaw in the BBS itself. Popular opinion among most WWIV experts these days says there are few, if any, internal back doors to WWIV. Indeed, in my associations with a few of these experts, I have not heard one single word about any known internal back doors in recent revisions of WWIV. They seem to be known only to the hackers themselves, who can never seem to give any sort of hints as to their exact nature even when dared to do so by an entire network. Many who claim to have knowledge of several large back doors seem to be basing their claims on what was known about older versions of WWIV. Such hack methods are very unlikely to have any relevance today. It is important to note that when I claim belief that WWIV is secure I am referring to stock versions or versions which the sysop himself has personally modified. There have been several cases where, in direct violation of all copyright laws and Wayne's policies, people have made extensive modifications to the source and redistributed them as their own work. In some of these cases, the person doing the modding has deliberately built a back door of his own directly into the distributed version of the BBS, allowing anybody with the necessary knowledge (generally an associate of the modder) to simply log on and drop to DOS with a single command or keystroke, sometimes not needing to go any further than the "NN:" prompt. This would be another example of an internal back door, but it is one which has been deliberately and knowingly placed there, and as such would not be an inherent flaw in WWIV itself. --- HACKS THROUGH EXTERNALS --- Barring deliberately created back doors, most methods will be external. External programs may be on-liners, WWIV utilities, trojan versions of the network software, or virtually any other program which may be called by the BBS. Installation of such a program must be done by the hacker himself or, as is usually the case, unknowingly by the sysop. If the hacker uploads the program, begs the sysop to install it, and the sysop does, the sysop becomes an unwitting accomplice in the hacking of his own BBS. If the BBS has been set up correctly, it will be extremely difficult to install such an external program without the direct involvement of the sysop. What was known as the "extract hack" in earlier versions of WWIV, which relied on the presence of a bogus PKUNZIP in the TEMP directory, has been eliminated from all recent versions, making it a very poor choice for a hack attempt. The "wildcard hack" has also been obsolete for several years and is a danger only to those still running 4.11, if in fact anybody is still running it. In order to guard against potential external hacks, it is extremely important that every sysop make a full examination of each and every program he plans to install in his BBS. This examination should include not only a full virus check with everything he has in his arsenal, but also a full scan with a utility like CHK4BOMB. If the program was uploaded by an unfamiliar user who begs for it to be installed, the sysop should be immediately suspicious. I personally would not install it at all. When scanning a program, pay attention not only to the results of virus and bomb scans, but also to the text data contained in the program. For example, a program which claims to be a BBS log analyzer should have no reason to access your USER.LST. External programs uploaded by a hacker may also be nothing more than compiled batch files. In this case, you will usually see word-for-word the original content of the batch file and you will be able to gauge immediately the true intent of the program. Another vital point is for the sysop to be intimately familiar with his system. He should know what is in every single archive in his transfers, know which files exist and which seem to have appeared out of nowhere, and what can be considered "normal" behavior for any given program on his system. Anything out of the ordinary should be investigated immediately. --- SECURING TRANSFER SECTIONS AND ARCHIVERS --- One of my favorite security tips has its origin back in the days of the "extract" and "411 Wildcard" hacks, but it remains just as valid today as it was three or four years ago - SPELL OUT ALL PATHNAMES. When installing protocols, archivers, and editors in INIT, when installing any program in //CHAINEDIT, when writing batch files, when defining paths for directories, SPELL OUT ALL PATHNAMES. Let nothing go to default. Don't simply specify "PKUNZIP" because it is in your PATH= variable. Tell the BBS to look for C:\WHATEVER\PKUNZIP.EXE. Given this, there can never be even an ounce of confusion as to which "PKUNZIP" you mean. It will be impossible for a bogus PKUNZIP to be run unless it has overwritten the real PKUNZIP where it resides. Since the transfer section is a favorite target, several steps must be made to protect the system there. I recommend disabling uploads to all directories except SYSOP, giving all users the U restriction so their uploads will be forced to SYSOP, and turning on "uploads to sysop" in INIT. There is no way an upload will go anywhere else unless an external protocol has been installed incorrectly. BBS security is only one of the reasons for this. Another concern is the welfare of your users. By placing new uploads on hold, they can be fully tested and examined before they are ever made available for download. Of course, you should also be careful to specify complete pathnames for PKUNZIP, etc., in INIT if you choose to leave the archive commands active. I personally believe the archive commands are absolutely safe when properly configured, so in my opinion there's no reason for past worries about the "extract" hack to force you to leave such a useful feature unavailable. While PKUNZIP tends to be the favored archiver on many boards, there are certainly others available, and they may have back doors similar to PKUNZIP 2.04's "rename or overwrite" problem. When installing any archiver for the view/extract/add commands in INIT, it is crucial that the archiver's command set be examined thoroughly for any options which can allow an extracted file to be overwritten rather than renamed, included pathnames ignored, etc. Whenever possible, files being extracted from an archive should be allowed to overwrite existing files rather than being renamed (assuming the archiver does allow renaming), and stored pathnames should always be excluded from the extract process. Although it might at first seem dangerous to allow overwrites while an archive is being extracted, this is not really the case. WWIV tells the archiver where to place the files it has extracted (the TEMP directory), so any files being overwritten will be in the TEMP directory only. This may sometimes be an inconvenience if multiple archives contain the same filename, but it is certainly much safer than allowing a user on the BBS to rename a file, complete with the pathname, and place it where he wishes. --- HACKS COURTESY OF PKWARE --- Now, on the subject of PKUNZIP, although I have said I believe the archive commands are perfectly safe, this is assuming the archivers have been set up correctly. PKUNZIP 2.04 contains what can be the core of an extremely simple and dangerous external hack, and we have Phil Katz to thank for this one. Suppose you're extracting from a .ZIP file, and one of the files in the archive will overwrite a file which already exists (it's easy - extract it twice). By default, PKUNZIP 2.04 will ask you if you would like to rename the file being extracted. Now, let's suppose the extraction is being done by someone trying to hack your system. He does want to rename the file. His keystrokes are piped, courtesy of the BBS, directly to PKUNZIP's "new filename" prompt. Suppose he decides to rename it to ..\BBS.EXE or \COMMAND.COM? You've got a problem then. The cure? Force PKUNZIP to ALWAYS overwrite existing files. This is done with the -o switch. You can set this for the extract command line in INIT, or you can set it as an environment variable (SET PKUNZIP=-o). The main point is never to let PKUNZIP allow a user to rename a file as it is being extracted. This one fix alone will cure what is today one of the single most common and dangerous hacks, and often the most frequently unknown or overlooked among novice sysops and those who have not already heard about this via the networks. --- OTHER ARCHIVE DANGERS --- Another popular archiver, ARJ, also has a back door very similar to the PKUNZIP 2.04 "rename" back door. In fact, it works in the same way. If a file already exists, ARJ will, by default, let the user rename the file and send it elsewhere. ARJ will give the user a "(YNAQ)" prompt, which means Yes/No/Always/ Quit. "Yes" will force the existing file to be overwritten. "Always" will tell ARJ to overwrite all existing files without any further prompting. "Quit" is self-explanatory. The problem here is the "no" response. If the user tells ARJ not to overwrite an existing file, the user will be prompted for a new filename under which the extracted file should be written. As with the PKUNZIP problem, if this new filename happens to be a key system file, particularly one associated with DOS or the BBS, then system security will be very badly compromised. The fix for this problem is slightly different from the PKUNZIP fix, but it is just as simple. One of ARJ's switches, -n, will force ARJ to ignore files which already exist. As such, they cannot be renamed and redirected. If the -n switch is included in ARJ's "extract from archive" command line in INIT (as it most definitely should be), this back door is effectively closed and is no longer a danger to the BBS. Thus, ARJ's command line should be "ARJ e -n %1 %2." You may also want to tell ARJ to ignore stored pathnames; in this case, use "ARJ e -e -n %1 %2." Note that the above back doors are inherent to the archivers themselves, NOT to WWIV or any other particular BBS software. This means they are a danger not only to WWIV, but to any other software which allows a user to extract from an archive. Any sysops of other BBS software reading this article should make note of this and take the necessary steps to secure their boards as shown above, since these archiver back doors can conceivably be used against their systems as well. The following can be used as a basic security test for any archiver you plan to install on your system. Create an archive (it doesn't matter what you put in it), extract it, then extract it again so it would try to overwrite an existing file. If you are given a multiple-choice prompt, as is the case with ARJ, try each choice in turn and note the results. You might run across an option which allows a file to be renamed. If this happens, examine the archiver's command set and use whatever switch or option will prevent a file from being renamed, or at least one which will allow existing files to be overwritten or ignored. The ability to rename an existing file has been found to be a potential back door in at least two major archivers so far. There certainly may be others. Don't take the chance - test each new archiver you install in INIT and make sure it will not allow a file to be renamed or redirected. I have performed the above test with another archiver, LZH (LHA.EXE), and have found that LZH will, by default, refuse to overwrite any file which already exists. As such, it is my opinion that LZH is safe with the basic extract command (LHA e filename.LZH ) and no extra command line options need to be used for security purposes. --- AUTO-SKIPPING DURING EXTRACTS --- PKUNZIP 2.04 has an option with the potential to provide excellent security, the "-x@listfile" switch. Using this, it is possible to specify a set of files which PKUNZIP will completely refuse to display or extract. Such a file may look similar to this: BBS.* INIT.* NETWORK*.* PKUNZIP.* RETURN.* *.BAT Suppose this file is named PREVENT.LST. By passing "-x@PREVENT.LST" on PKUNZIP's command line, you will eliminate the possibility that PKUNZIP may extract the listed files from an archive. This is more of a precaution than an important method of protection, but in my opinion every step toward a more secure system is a step which should be taken. I have found that, at least for my purposes, the space given for the "extract from archive" command line in INIT is just a bit too short; I can't fit the "-x@listfile" switch into the command line I use. If this is also the case on your system, you can place this list in your PKUNZIP= environment variable. The only disadvantage to this is that you must remove it from the environment variable if you do wish to extract any of the listed files from a .ZIP archive. --- ANSI BOMBS --- There has also been a lot of talk about ANSI bombs, especially where BBS security is concerned, and in most cases this concern is generally unfounded. An ANSI bomb usually relies on the presence of an ANSI driver which allows keyboard remaps. The ANSI.SYS which comes with DOS is one such driver. However, WWIV does not under any circumstances perform any ANSI decoding with the aid of the ANSI.SYS driver. All necessary ANSI translation for cursor movement and color is incorporated directly into the BBS itself, and codes which are not deemed useful, such as the codes which remap the keyboard or change screen modes, are completely ignored by the BBS. In order for an ANSI bomb to have any effect against the BBS, it must be translated by the resident ANSI driver. As such, it must be sent to the CON device, which is something else the BBS does not do. However, assuming the worst does happen and an ANSI remap code finds its way to CON, it will have no effect unless the resident driver allows keyboard remaps. In truth, most drivers don't allow remaps these days; DOS's ANSI.SYS is one of the few that do. Using an alternate driver such as ZANSI or PKSFANSI will completely eliminate any and all danger from ANSI bombs which cause keyboard remaps. I have heard rumors of a hack method which involves //UPLOADing a certain type of file and forcing the BBS to display it, but this seems to me as if it is a variation of an ANSI bomb, and I have never once heard of any case where such an attempted hack has been successful. I'm not saying it's impossible, because I admit I know little about it, but I'll believe this one if I see it. ANSI bombs in .ZIP comments have also been a concern in the past, but it is rather well known at this point that PKUNZIP will not attempt to translate ANSI comments unless the -q switch has been used. Leave out the -q, and you can't be bombed by an ANSI .ZIP comment. No further elaboration is needed here. --- DANGEROUS DOS DOODADS --- Some of the primary targets of ANSI bombs are DOS utilities such as FORMAT, FDISK, and DEBUG, as these have the potential to do the most damage. However, they are dangerous only if they can be found. FORMAT should be renamed to something known only to you. FDISK can be completely removed from the drive, as it is not something you would normally use on a regular basis unless your hard drive is ready for the cemetary. DEBUG, unless you frequently do assembly language programming, can also be safely removed from your drive. If you must leave it on your drive, rename it as you have done with FORMAT. It is entirely possible to protect your drive from FORMAT, even if it has been renamed and the new name is somehow discovered. The key is in the volume label. With all recent versions of DOS, FORMAT will prompt you to enter your hard drive's volume label before it will proceed with formatting your drive. This in itself does not amount to an effective security measure, but suppose your label is something which simply cannot be entered from the console? I am not referring to high-bit ASCII characters, which can be easily entered using an alt+keypad combination; rather, I am referring to lower-case characters. --- FANCY TRICKS FOR THE EXPERT --- When you enter a response to FORMAT's volume label prompt, DOS will convert your input to upper-case characters. Now suppose your label is "My System" instead of "MY SYSTEM." When you try to enter "My System" in response to the prompt, DOS sees this as "MY SYSTEM." Since "MY SYSTEM" does not match "My System," FORMAT will not proceed! In order to pull this trick, you will need a utility capable of performing low-level editing directly on the File Allocation Table (FAT) itself. Norton Utilities and Disk Commando are two such utilities. (You will also need to be thoroughly familiar with the use of those utilities. I do not recommend this patch to novices.) Search the FAT for your volume label, and edit it to contain lower-case characters. But, won't label be able to change this back to something which can be entered from the keyboard? The answer is, no, not if it's done correctly (I also recommend LABEL be renamed or removed). The volume label itself is nothing but a null file with the exclusive abel attribute set. Since it is a file, you can do with it what can be done with almost any other file. To be exact, it can be made read-only! So, while you're editing your FAT, set the ead Only attribute for your volume label. Not only will it be protected from LABEL, it will also be protected from many other utilities, such as XTree, which normally are capable of changing the volume label. After performing these operations, I have tried changing my label with everything I've got, and nothing but a sector editor seems capable of changing it. Of course, a truly capable programmer could defeat this method, but if such a hacker has managed to get this close to your DOS then you were in trouble quite a while beforehand. --- PROTECTION FROM THE INSIDE --- Another way to protect the BBS from the inside is to modify the commands for //DOS, //CHAINEDIT, etc. This is done in the source code itself, and is an easy patch even for those with little or no modding experience - search for a block of case{} statements containing the BBS sysop commands, change them to whatever you wish, and recompile. Changing the commands is such a common practice that my mention of it does not even approach being newsworthy. Some sysops have added even more internal protection by either simply eliminating the //DOS feature altogether or by adding a second password to be used in addition to the system password. This second password is usually hard coded into the BBS itself, requiring you to recompile the BBS if you change the password, but those who use this trick swear by it. I wish I could show novice modders how to add the second password, but I don't speak C. --- PROTECTION THROUGH INIT.EXE --- Another good security measure targets the definition of SL privileges in INIT. As you know, there are a total of 256 different security levels which can have various privileges, time limits, etc. assigned to them. What I have done on my system is select a specific set of SL's for various purposes and blanked everything else out. SL 254 is as good as SL 0 on my BBS, because I have stripped all time, all privileges, and turned on all restrictions. It takes time, but it's worth the effort. Suppose you F9 a user and, while your back is turned (never turn your back on an F9'ed user!), he goes into //UEDIT and gives himself an SL upgrade. The highest SL which can be given in UEDIT is 254; so, when he sees he can't give himself 255, he tries for the next best thing and winds up with a 254 SL. Now, you've got everything ZEROED OUT for that SL. As soon as he sets his 254 SL, he is out of time, out of power, out of privileges, and out of luck. The board kicks him off at the main menu and, if you have done as you should and restricted that SL to one call per day, he will not be able to log on again that day under that account. Simple, devious, and effective. I'll return briefly to the subject of pathnames, particularly the TEMP directory. While the old extract hack has been eliminated, it is still - in my opinion - not a good idea to make the TEMP directory one branch down from your main BBS directory. The reason for this is that writing a file as ..\file.ext will send that file to the directory immediately preceding the current direc- tory. If that directory happens to be your main BBS directory, it could cause serious problems. Make your TEMP directory AT LEAST two steps removed from your main BBS directory. If you have several logical or physical drives, your TEMP directory should reside on a different drive than your main BBS directory. I also recommend changing the default pathnames used in INIT for the DATA, GFILES, MSGS, BATCH, DLOADS, and TEMP directories. Many hack methods, valid or otherwise, rely on a sysop's laziness and assume these pathnames have been left at their default values. The trick here is to fool the hacker in every way possible, and in many cases the only way to do that is to stay one step ahead of him. You may also want to use a non-standard name for the main BBS directory as well. You may want to call it BOARD or WWIV or even something which doesn't even look as if it's BBS-related. --- THE FORGOTTEN LOGON --- Many novice sysops aren't aware that WWIV also contains a reserved logon "account" similar to the !-@NETWORK@-! logon. This account is called the !-@REMOTE@-! account and can be used to call a program called REMOTE. This may have valid uses, especially when running file-request utilities or linking to networks which do not support the WWIV network exchange protocols, but in many cases it is little more than a back door waiting to be opened. If a hacker manages to place a REMOTE program where it can be accessed by the BBS, he can simply enter !-@REMOTE@-! at the "NN:" prompt and have his trojan execute. Of course, as is the case with trojans, they can do whatever the authors want them to do. This can extend as far as transmitting copies of CONFIG.DAT and USER.LST; once those files are in a hacker's possession, he's got the sysop's account and the system password. To protect against this, it is not necessary to do anything more than install a REMOTE program before anybody else can do so. Place a file called REMOTE.* (where * can be COM, BAT, or EXE) in your main BBS directory and set it to read-only. At the !-@REMOTE@-! logon, the BBS will execute your REMOTE.* program. If you have eliminated the possibility of this file being overwritten by such methods as the PKUNZIP 2.04 rename back door, then you have protected yourself from the !-@REMOTE@-! hack. If you can program in any language, you might also want to make your REMOTE program do such things as write to the daily log and reprimand the caller. At the very least, you can use a REMOTE.BAT which looks similar to this: @echo off echo Nice try, but the REMOTE logon has been closed! > COM1 echo ATH0 > COM1 If you have experience with C and the WWIV source code, you can go in and comment out the entire block of code which processes the !-@REMOTE@-! logon; in this case, it cannot possibly be used as a back door even if a trojan REMOTE has somehow been installed. --- ONE WORD: BACKUPS! --- The importance of making regular backups cannot be too strongly or frequently stressed. They may be extensive and involve mass-storage devices, or they may simply be .ZIPped copies of every last file related to your BBS. At the very least, you should keep frequently-updated backup copies of CONFIG.DAT and your DATA and MSGS directories. It is also a good idea to make regular backups of your networks' directories, especially if you are hosting subs. It would be a major inconvenience to your subscribers if you suddenly lost all your subscription data. Think about which files would cause headaches if they got lost and BACK 'EM UP! --- CONCLUSION --- These are just some of the more common back doors and security holes known or alleged to exist in WWIV. It is my opinion that the majority of the older back doors, such as the extract (bogus PKUNZIP) and wildcard hacks, will have no effect against a properly-configured and recent version of WWIV. Other points, such as ANSI bombs, can be easily nullified (if they are indeed even a danger at all) by using the proper ANSI driver, and in fact the general concern over WWIV being vulnerable to ANSI bombs seems to be completely baseless. Hacks performed with the aid of external programs usually rely on a sysop's lack of knowledge, caution and/or common sense, as they cannot usually be installed or activated in any other way except perhaps by renaming an extracted file with PKUNZIP 2.04 or ARJ 2.30, and even these are useless to a hacker if the proper precautions have been taken (remember, specify -o for PKUNZIP and -n for ARJ). I believe WWIV is 100% secure in the hands of an informed sysop. Protecting your system against hacks may at times seem to border on paranoia and certainly requires a bit of cleverness, but isn't a little cautious paranoia worth the effort when your entire system is at stake? ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ W W I V - S P E C I F I C ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ WWIV Mod and Utility Reviews ³ Papa Bear (1@5079) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Introduction, AutoSend v1.13 and ALTW-07.MOD A few weeks ago, I introduced a new sub-board into the WWIV world. It is a sub-board for which I thought there was a real need. I hadn't seen anything like it any time previously or else I wouldn't have done it. It is called "WWIV MOD/Utility Reviews and Discussions." It is a sub board on the WWIV-InfoBahn whose sole purpose is to review (and discuss, too ) WWIV modifications and external utilities. No actual coding is to be posted on this sub-board. Some, if not all, reviews may find their way into the "pages" of IceNEWS as part of out WWIV-Specific department. It accomplishes its goal by using a set format to review the items and with specific rules governing how the reviews are to be written. I'll show a couple of reviews, one for an utility, and another for a mod. But first, the rules: (1) The author of any modification/utility may not review their own work. [And they shouldn't goad a friend into it either!] (2) Modifications/utilities should be either registered copies of the software or, if not registered, then they *must* be fully-functional versions! I'll now explain the format that should be used for review submissions on the sub board. The primary purpose of this format is to provide anyone considering these utilities/modifications with a quick way to determine whether this is for them. It is not meant to be an exhaustive write-up. NAME OF MOD/UTILITY BEING REVIEWED: {proper name} AUTHOR'S NAME/HANDLE : {real name and handle} VERSION NUMBER : {important to note ver. no.} VERSION DATE (.EXE date stamp) : {this can be important, too!} OVERALL SCORE : {a total of all scores below, divided by 4 (or 5, in the case of a mod)} INSTALLATION : {how easy did it install, go into the source? [score 1-10]} DOCUMENTATION : {did the docs explain everything clearly? did they cover everything? [score 1-10]} PRESENTATION : {how does it look? [score 1-10]} EASE OF USE : {is it intuitive? is it easy to use? [score 1-10]} CODING (MODs Only) : {is the coding easy to understand? is it commented clearly? is the formatting in coding consistent with WWIV? [score 1-10]} STATED PURPOSE OF MOD/UTILITY: ------------------------------ {these should be the author's own words} REVIEWER'S PRO COMMENTS: ----------------------- {why did you like it? what made it stand out in your mind?} REVIEWER'S CON COMMENTS: ------------------------ {what was wrong? explain any mark-downs in scores from above} FINAL THOUGHTS: --------------- {this is for anything you'd like to say about it. how to improve it. things you'd like to seen done with it in the future.} REVIEW WRITTEN BY : {handle / real name} NET ADDRESS(ES) : {this is so the author can get hold of you! :) } REVIEWER'S SYSTEM : {this should list you processor, CPU speed, operating system, WWIV version number, memory manager, multi- tasker, etc...} HEAP FREE @ //STAT: {a *very* important consideration for any utilities, any large modifications!} ----------------------------------------------------------------------------- The sub-board is open to all people, sysops and non-sysops alike. Bad, or negative, reviews are accepted. I don't want this turning into a "yes-man" type of operation. The people in WWIVland deserve to know the lemons as well as the great ones. Authors of the modifications/utilities have no say-so on posting of reviews or inclusion in IceNEWS. We are trying to make sure this is all on the up-and-up and completely fair and unbiased. The sub-board is hosted by me. The SUBTYPE for subscription purposes is REVIEW, and it can be picked up on the following node numbers/nets: @5079 IceNET @5079 WWIVnet @15061 WWIVLink @1860 fileNET @5050 SEXnet @5079 TARDISnet @11579 WW4net @11 norcalNET Here is a review that I have written up for an utility, AutoSend 1.13: ----------------------------------------------------------------------------- NAME OF MOD/UTILITY BEING REVIEWED: AutoSend AUTHOR'S NAME/HANDLE : Cris McRae / JAFO VERSION NUMBER : 1.13 VERSION DATE (.EXE date stamp) : 03/07/94 OVERALL SCORE : 9.25 INSTALLATION : 9 DOCUMENTATION : 9 PRESENTATION : 10 EASE OF USE : 9 STATED PURPOSE OF MOD/UTILITY: ------------------------------ A WWIV Net Sub Host Utility. Features: Sends old posts to new subscribers; posts sub rules and subscription lists; post sub ads, rules, etc. on any sub; removes unknown systems from N*.NET files; scans DEAD.NET for dead posts and e-mail, configuration program for easy setup, graphical packet scanning; complete logging system REVIEWER'S PRO COMMENTS: ----------------------- Easy to install using the new AUTOSCFG.EXE program. Excels at its stated purpose. Installs very easily via the AUTOSCFG /INSTALL command. WWIV source code mod for registered WWIV sysops helps make manual message sending easier. REVIEWER'S CON COMMENTS: ------------------------ Documentation should be more explicit as to what command line switches can be used when using it in conjunction with the EPREPROC.NET file as well as those that shouldn't be used. There *can* be problems with memory. This reviewer has not had any of these problems since 1.12, though. While the /REMOVE command line switch for removing "unknown systems" is really nice, it can be a pain when one of your subscribing systems has been removed from the net accidentally or temporarily. FINAL THOUGHTS: --------------- If you host a sub-board, I *highly* recommend using this program! It really does help new systems join in the swing of things when they first subscribe when they get the last few messages automatically The other options: /REMOVE, /AUTOPOST, /AUTOPURGE make this a great tool for automatic maintenance of your sub-boards. JAFO's support sub-board provides an excellent place to ask the author directly for help. He is also very open to new suggestions about AutoSend. REVIEW WRITTEN BY : Papa Bear / Tracy L. Baker NET ADDRESS(ES) : 1@11579.ww4net, 1@5079.ice/tardis/WWIVnet, 1@5050.sexnet 1@11.nocalnet, 1@15061.WWIVLink, 1@1860.filenet REVIEWER'S SYSTEM : 386SX-33, DRDOS 6.0, DESQview 2.6, QEMM 7.0, WWIV 4.23 HEAP FREE @ //STAT: 241k ----------------------------------------------------------------------------- And now, a review for a modification - ALTW-07.MOD: ----------------------------------------------------------------------------- NAME OF MOD/UTILITY BEING REVIEWED: ALTW-07.MOD AUTHOR'S NAME/HANDLE : French Mod Division (4@5497) VERSION NUMBER : Revision B (C) VERSION DATE (.EXE date stamp) : 05/02/94 OVERALL SCORE : 9.60 INSTALLATION : 9 DOCUMENTATION : 10 PRESENTATION : 10 EASE OF USE : 10 CODING (MODs only) : 9 STATED PURPOSE OF MOD/UTILITY: ------------------------------ This modification will allow the sysop to have a much better call-out function, it lists the nodes you are connected to on each networks, gives you information on this node and you can move between each nodes with the arrow keys. REVIEWER'S PRO COMMENTS: ----------------------- An *outstanding* modification. I really love being able to use the cursor keys to scroll around the box, all the time highlighting the various nodes to call out. Very easy to use. Very intuitive. I'm also pleased with the lower "window's" information. I'm now able to easily see a lot of the networking and node-to-node information I never knew was there! REVIEWER'S CON COMMENTS: ------------------------ They could have done a little better job instructing those of us upgrading from DS007A.MOD (its predecessor). There were some minor, but important changes to be made. Take special care if upgrading. Also, I'm not real keen on the global variable declarations in VARS.H. Since they aren't used anywhere else in the source, it would have made more sense to #define those variables in NETUP.C, where they are actually used. FINAL THOUGHTS: --------------- Keep in mind that it is my opinion about those "unnecessary" global definitions/variables! The mod installs just peachy, especially if you are installing it for the first time. This is a great mod that really deserves to be included as stock source in WWIV! REVIEW WRITTEN BY : Papa Bear / Tracy L. Baker NET ADDRESS(ES) : 1@11579.ww4net, 1@5079.ice/tardis/WWIVnet, 1@5050.sexnet 1@11.nocalnet, 1@15061.WWIVLink, 1@1860.filenet REVIEWER'S SYSTEM : 386SX-33, DRDOS 6.0, DESQview 2.6, QEMM 7.0, WWIV 4.23 HEAP FREE @ //STAT: 241k REVIEW DATE : 05/07/94 ----------------------------------------------------------------------------- Well, that's it for this month. Here's looking forward to a long and healthy run for both this column and this sub board. I hope all of you out there find reason to write up a quick review! ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ S O F T W A R E / P R O G R A M M I N G ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ To DOS... Or not to DOS... Or is Windows the answer? ³ Mega Bite (176@7672) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ All of us probably remember the first time we turned on a computer and were mystified as it flashed incomprehensible messages onto the screen and then proudly presented us with a C>. Then came the harrowing moment when we realized it was not going to ask us to play a game or show us pretty pie charts like all the demo computers had done. We searched though all the boxes and bags and found a promising manual, "DOS x.xx". It was a large book with a chapter on everything you could possibly need, except for what you wanted to do right now. Most of us tried reading it and got through the first chapter before throwing our hands up in futility. But in that first chapter we learned some very important things like the DIR and COPY commands. We were happy. Starting from there, whenever we needed to do something different we would either call a friend, who invariably knew more about it than we did. Or we chanced reading some more of the DOS manual. It was all a learning experience and soon we all became accustomed to the plethora of commands and syntax needed to do anything in DOS. Then came Windows, everything was three clicks away from perfection. New users no longer had to fumble through manuals (that would come later) to do the simplest of things. The hardest part was getting the mouse pointer on the right icon. They took the easy path to learning computers. But when they got caught in a dos shell with that mysterious C> staring them in the face, they were stumped. What in the world could they do? The all important mouse would no longer respond to their summons, they pleaded with the computer to let them back into Windows with all the pretty pictures and colors and a screen saver that goes off every fifteen seconds. It was their first taste of DOS and they were terrified, so they called us. And we would tell them, "Oh! Type this and that and this and this and that." Having "grown up" with DOS we were experts, but the poor guy on the other side of the phone was instantly mystified and confused, for after all, how did we possibly remember all that? Then we thought and replied, "I don't know, I just do." And that is where DOS and Windows are different. Putting aside the cosmetic differences, DOS requires a user to learn and remember a multitude of commands and switches, whereas the only requirement for Windows is hand-eye coordination. But then you might say, "Isn't Windows better then? You don't have to spend all your time memorizing commands." That may be true, but if you think carefully about how Windows works you find that it speeds up the learning time for the user by doing more of the work for him/her. Is that bad? Maybe. The more work someone does for you, the less control you have overall, you become accustomed to having it done for you, and you become lazy. For example, have you ever tried to copy select files from one drive to another in Windows? In DOS it is a simple command: Copy *.exe a: c:, but in Windows you have to find two or three different specification windows, look thought the choices until you come to the one you want, mark the files, drag them physically to the other side of the screen and drop them on the new drive. User-friendliness (everything you need is right there and explained clearly) is often tedious and time consuming for those of us who are used to DOS. A 16 character statement in DOS is replaced with umpteen clicks and some typing in Windows. The reason why many people who learned computers with DOS hate Windows so vehemently, it is too simple. The inherent user-unfriendliness of DOS is balanced by its great flexibility and power. Windows trades in some of that flexibility and power for ease of working and user-friendliness. So which one is better? That all depends on what you are doing. DOS vs. Windows.................Tech. Help and Manuals Until the advent of MS-DOS 6.0 DOS had almost no practical on-line help. Slash H commands often gave incomplete or incomprehensible "help". But with MSDOS 6.x came the HELP command which greatly enhances the usefulness of many of the dos commands. But Windows still beats DOS hands down with the cross referenced, easy to access help systems that COME WITH EVERY WINDOWS PROGRAM. Don't we wish the same was true with all DOS applications? The one problem shared by both products is the fact that the manuals both read like an Apache/PKzip mix. The DOS manuals have gotten much [Ed. Note: Remember the DOS 3.x manuals that started renumbering the pages in the middle?] Windows hasn't gone through the sheer number of changes DOS has so it is difficult to compare to anything, but it is very hard to imagine the manuals doing anything but get better. DOS vs. Windows..................................Speed One very serious drawback to Windows is the fact that it is a severe memory hog. The problem has been patched and toyed with but because Windows itself is a hog, anything not expressly made for Windows will almost always be slower when used in Windows than when it is not. Most of the programs like Word Perfect for Windows run more slowly than their DOS counterparts. Anything that makes extensive and relentless use of graphics, such as flight simulator or a fast action game becomes choppy and slow when played in a Window. DOS doesn't have a problems like that. The reason is Windows is constantly checking for screen saver times, taskmaster switches, residual drivers not used in the DOS program, and an abundance of other things. This ties up memory and eats up precious CPU time. In DOS , when a program is run it steps out of the picture almost entirely. Before the program was run, Autoexec.bat and Config.sys set up everything to listen to the program's instructions and stay out of the way as much as possible. But again, it depends what you are running. If it is a memory-intensive CPU-burdening program, Windows will only make it slower. But if speed or smoothness is not a factor, like in most word processors then Windows will do just fine. DOS vs. Windows.....................Programs Supported Much to the dismay of many staunch DOS users, Windows programs are taking over a good portion of the DOS market. But at this time there are still more DOS applications and games then Windows applications and games. But due to the fact that Windows now comes on practically every new computer system sold and that almost all new users are learning on Windows, the places will soon be reversed. What else is there to say? DOS vs. Windows......................Correcting Errors If you use computers for any length of time you are bound to screw something up, sometimes by just turning the computer off at the wrong time. Solving some problems is very easy, others may take hours or even days to locate and fix. If you are using Windows and you get a fatal error a lot of times the problem is in DOS. If you don't have experience with DOS you are pretty much up the creek. Sure Windows comes with editors but if you never worked with DOS you will have no idea what LH 12,512 /s means in your startup files. Problems originating totally in Windows are generally easy to fix. Generally. Sometimes. Well, I can't think of much more to say in this article. I hope I have helped you to see why you like or dislike Windows and which one is better for you. I tried to present both DOS and Windows equally here, but, being one of the "staunch DOS users" I mentioned earlier, I might have subconsciously belittled Widows. If I did, I didn't mean to. Remember that there are a lot of exceptions to anything anyone could say about DOS and Windows. So if you come up with one example where I was wrong, don't get bent out of shape, I just might not have thought of it. Just e-mail me and scream your head off, I don't mind. It will help me to write better articles, taking in more points of view. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Learning C - Part Five ³ Daarkhan (1@7676) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Chapter Five: PROGRAM CONTROL STATEMENTS IMPORTANT NOTICE This is the FIFTH chapter in a tutorial series by Richard Rost designed for people who know very little about programming and want to learn C. If you have not read the previous chapters, I urge you to call Paragon BBS (716/837-1636) and download them! FORWARD TO CHAPTER FIVE Well, I said I'd try to get these chapters belted out faster, but alas, time is a luxury I have not had as of late. My thanks go out to all of the people who have helped keep the "Learning C" message base talkative and informative. PROGRAM CONTROL STATEMENTS What is a program control statement? Simply, it is a statement that controls the execution, or "flow," of your program. Without program control statements, your programs would be able to do little more than simply display information. Program control statements allow your program to "branch" out to multiple possibilities based on various conditions. The two most important control statements are "if" and "for," and we will cover each in depth, starting with the "if" statement in this chapter, and the "for" statement in chapter 6. IF The IF statement (I use it in capital letters to show that it's a reserved word, but do not capitalize it in your programs - remember that C is a case-sensitive language and will puke on you if you capitalize your IF statements) is called a "selection" statement or a "conditional" statement. It basically tests an operation or value to determine whether it is TRUE or FALSE. In C, something is equal to logical FALSE if it is ZERO. Anything that is not ZERO is considered TRUE. value logical ----- ------- 1 TRUE 0 FALSE -1 TRUE 10.3 TRUE The basic syntax of an IF statement is: if (condition) statement; For example, the following statement will print, "yes" if the variable 'x' is equal to 6: if (x==6) printf("yes"); OOPS, I FORGOT "CONDITIONAL OPERATORS" This brings us to another topic that we need to cover: conditional operators. These are as follows: operator operation -------- --------- == equal to != not equal to < less than > greater than <= less than or equal to >= greater than or equal to If you have any background with mathematics, you can easily grasp the meaning of these operators. Do not, however, confuse the equality operator '==' with the assignment operator '='. Both have completely different uses. For example, x = 1 assigns the value of '1' to the variable 'x', whereas x == 1 tests to see if 'x' is equal to '1'. This may seem a bit confusing, but you'll get the hang of it through many (yes, many) compiler warnings for "possible incorrect assignment" statements. The Turbo C and Borland C compilers catch some of the instances in which you may have improperly used these two operators. NOTE: for those of you who are used to Pascal or Modula-2, the equality operator in these languages ('=') is the assignment operator in C, whereas the assignment operator in Pascal and Modula-2 is ':=' and in C it's just the plain '='. Don't get confused between them all. I find myself sometimes sitting down to write in Modula-2 and using '=='s all over the place. DRILL THIS INTO YOUR HEAD: Assignment = Equality == IF, AGAIN OK, so back to our IF statement. The best way to learn, as I always say, is to look at and study examples. So what I'll do now is put up some examples and let you see what they produce. if (1 > 2) printf("TRUE"); In this statement, the "TRUE" will never print. The conditional statement "1 > 2" or "is 1 greater than 2" will be evaluated to FALSE and the printf() statement will never execute. if (2 > 1) printf("TRUE"); In this example, the "TRUE" will print. 2 is, indeed, greater than 1. if (2 >= 1) printf ("TRUE"); Again, the "TRUE" will print. 2 is greater than or equal to 1. if (2) printf("TRUE"); This is an example of how you can put just about anything inside a conditional statement. Remember, anything that is ZERO is equivalent to logical FALSE. Everything else is considered TRUE. In this case, the conditional statement is just '2' which is not zero, and is henceforth TRUE. In this example, the "TRUE" will print. if (!2) printf("TRUE"); Now, here, we introduce another new symbol, the logical NOT or '!' symbol. You can negate any expression by including a '!' symbol before it. We touched on it earlier with the '!=' or NOT EQUAL TO operator. expression logical evaluation ---------- ------------------ 0 FALSE 1 TRUE -1 TRUE !0 TRUE !1 FALSE !-1 FALSE In our example above, the '!2' is evaluated to be equal to "NOT 2" which is FALSE, so the "TRUE" will not print. If this seems confusing, read it again. Ha ha ha... seriously, though, it will come to you - just remember that you don't necessarily HAVE to have a mathematical expression inside the parentheses of a conditional expression. You can have just about everything from single numbers and variables to whole assignment statements! We'll see some examples of more things you can do with the IF statement later. SAMPLE PROGRAM Ok, let's take a look at another example. This complete program will ask the user to enter a number (int) and will tell the user whether or not the number is equal to ZERO or not. /* Am I Zero? */ #include void main (void) { int i; printf ("Input a number: "); scanf ("%i",&i); if (i==0) printf ("Your number is ZERO"); if (i!=0) printf ("Your number is not ZERO"); } Ok, so it's not the most functional program in the world, but it works. First, a message prompts the user to input a number. Then the scanf() function reads a number from the keyboard into the address of the variable 'i' (need to review scanf()?) Then, the value of i is checked to see whether it is equal to ZERO. If so, the first message is printed. If i is NOT zero, the second message is printed. Note that there will NEVER be a case in which both messages print NOR will there ever be a case where neither message is printed. ONE and ONLY ONE message will always be printed. One other way we could have represented the conditional statements above would have been to just test the logical values of the variable 'i' as follows: if (i) printf ("Your number is NOT zero"); if (!i) printf ("Your number IS zero"); Remember, if i is logically FALSE, it is the same as being ZERO. This is a very powerful aspect of C, and we will see more uses of it later. IF... ELSE It seems kind of redundant to have to check the value of i twice, doesn't it? That's why C and most other major programming languages have an ELSE statement. The syntax is: if (condition) statement1; else statement2; Basically, if the condition is evaluated to TRUE, statement1 is executed, otherwise (ELSE) statement2 is executed. These statements can be single statements or entire code blocks (which we learned about in chapter 4) so we can expand this syntax to: if (condition) { statements; } else { statements; } which is much more functional than single-line statements. So, let's take a quick look at the else statement. See if you can figure out what the following program does: /* Am I Negative? */ #include void main (void) { int i; printf ("Input a number: "); scanf ("%i",&i); if (i < 0) printf ("I am a negative number"); else printf ("I am NOT a negative number"); } Simple enough, right? 'i' is evaluated, and if it's less than zero, the first message is printed, ELSE the second message is printed. This method saves us from having to check the value of i again - in large programs, this can greatly effect execution speed, and code optimization is a good habit to get into. ASSIGNMENTS I know that I said I would be including assignments for everyone to do, but very few people have bothered to send me copies of their completed work, so I'll stop doing them with this tutorial... if you really want me to continue assignments, send them in! My e-mail address is below. 1. Write and execute a program that asks the user for a number greater than 10. Have the computer yell at the user if the number is not in range. 2. Write and execute a program that asks the user for two numbers. Have the computer tell the user whether or not the two numbers are EQUAL to each other, or if not, which number is the larger of the two. NEXT Chapter 6 : The "for" statement. SOURCES Downing, Douglas. Dictionary of Computer Terms. New York: Barrons, 1989. Holzner, Steven. C Programming: The Accessible Guide to Professional Programming. New York: Brady, 1991. Schildt, Herbert. Teach Yourself C. Berkeley: Osborne McGraw-Hill, 1990. ---. Turbo C/C++: The Complete Reference. Berkeley: Osborne McGraw-Hill, 1990. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Artificial Intelligence - Part Two ³ Louie (6@1) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄ For a long period of time, from the mid-1960s to the mid-1980s, the field of artificial intelligence (AI) was considered a dead issue to many within the computer sciences. Many of the predictions made by the AI experts, such as Marvin Minsky, made great pronouncements about what was to come in the not-too-distant future from AI. They were juiced-up on making computers that could play chess very well and thought "well, if a computer can play chess on par with most normal humans, then it isn't that far away from simple things like language translation, computers seeing objects, computers thinking, etc. etc." Then they learned that a lot of the things that seemed simple at first weren't so simple. There are lots of ambiguous things in this world. For a simple example, language translation seems like something computers were almost perfectly designed for. Give it a vast dictionary in English and in Russian and it should be able to translate back and forth with ease. But it doesn't work out that way. Take the English sentence "the spirit is willing, but the flesh is weak." That, when translated by an early computer designed for translation, came out in Russian as "the vodka is good, but the meat is rotten." That occurred because of meanings we attach to words. "Spirits" can mean "alcoholic beverages." It could also mean "ghost," "soul," "good feelings," etc. Just a bit of a small problem. Things like that were not beginning to be solved until the 1980s. You needed a translator that understood what it would translate. That is still a bit of a pipe dream even now. They have gotten better at it in choosing the right methods, though. However, one area of AI did come forward with promised advances. That field was Expert Systems. Expert Systems The major type of artificial intelligence programs to gain a lot of attention are expert systems. Programs such as DENDRAL (for aid to chemists in figuring out what chemical substances are which) and MYCIN (an AI expert system for diagnosing blood diseases) have gained a lot of attention. They are both expert systems. An expert system contains knowledge about a particular field to assist human experts or provide information to people who do not have access to an expert in the particular field. Expert systems do something that seems almost impossible at first glance. Often in AI circles, it has been found that the things that seem simple on the surface are extremely difficult and the things that seem extremely difficult on the surface are relatively simple. Expert systems make a computer an expert in a narrow range of knowledge. Today, many expert systems are in use for computer equipment repair, investment analysis, financial estate and insurance planning, route scheduling for vehicles, contract bidding, production control, training, etc. Many expert systems in use around the world today. Expert systems have three basic components: a knowledge base (database), an inference engine, and a user interface (something common to most computer programs). The knowledge base is a combination of data to work on and if-then-else rules to apply to the data. This is the major reason the computer language LISP is still widely used in AI circles. LISP can treat data and programs statements as basically the same thing. An example of the if-then-else rule-based structure is the following: 1. IF it is huge, THEN it is a whale. 2. IF it is NOT huge, THEN it is not a whale. 3. IF it is not a whale AND it blows a jet OR it has a blowhole OR it has a horizontal tail, THEN it is a mammal. 4. IF is it not a whale AND it has no blowhole OR it has a vertical tail, THEN it is a fish. 5. IF it is a mammal AND it has a pointed snout, THEN it is a dolphin. 6. IF it is a mammal AND it has a blunted snout AND it is with a whale, THEN it is a baby whale. 7. IF it is a mammal AND it has a blunted snout AND it is not with a whale, THEN it is a porpoise. 8. IF it is a fish AND it is by itself, THEN it may be a tuna. 9. IF it may be a tuna AND it has a double dorsal fin, THEN it is a tuna. 10. IF it may be a tuna AND it does not have a double dorsal fin, THEN it is an unknown fish. 11. IF it is a fish AND is by itself THEN it is a swordfish or shark. 12. IF it is a swordfish or shark AND it has a sword, OR it is silvery AND has a forward dorsal fin, THEN it is a swordfish ELSE it may be a shark. 13. IF it may be a shark AND it has sinewy swim, THEN it is a shark. 14. IF it may be a shark AND it does not have a sinewy swim, THEN it is an unknown fish. The words IF, THEN, ELSE, AND, and OR are capitalized because they each perform a special operation. They are basic boolean mathematics. Conditions met and operations performed. They are pretty much each self explanatory. The knowledge base contains the hard data to work with as well. The data may be like: 1. Robbie is not huge. 2. Robbie has a blow hole. 3. Robbie has a pointed a snout. 4. Jane has a double dorsal fin. 5. Jane is not huge. 6. Steve is huge. The data would be descriptions of things in this case. You then apply the descriptive data to the if-then rules and conclusions would fall out. This is the domain of the inference engine. In this example, Robbie is a dolphin, Jane a tuna, and Steve is a whale. The inference engine of the expert system controls how and when the data and rules in the knowledge base are applied. The two basic methods used in inference engines are forward-chaining and backward-chaining. Forward-chaining is sometimes refereed to as data-driven because the inference engine uses the info that is provided to more through the network of rules to reach all possible conclusions that can be drawn. When it doesn't have enough info to reach conclusions then it may ask for more info. To understand how forward-chaining works, imagine that your car has malfunctioned. You call your mechanic and he/she asks you to describe what is wrong. The mechanic continues to ask for more information until he/she figures out what is wrong with your car. Backward-chaining is the reverse of forward-chaining. Backward-chaining starts with a possible conclusion and then tries to prove, using the data, if that conclusion is true or false. Backward-chaining is sometimes called object-driven because the expert system begins with "Robbie is a shark" and then finds that Robbie isn't a shark according to its database. It would then start again with "Robbie is a tuna" and then find out Robbie isn't a tuna. When it finally tries "Robbie is a dolphin," it finds that it is correct and then stops. A good backward-chaining water animal expert system would start using possible conclusions that are more likely to be true than other possible conclusions. There are more tunas out there than sharks. So it would try to see if Robbie is a tuna before it would try see if Robbie were a shark. Backward-chaining may seem to be the process that would get answers slower than forward-chaining, and in a simple expert system that would be the case. However, in expert systems with very large data bases, backward-chaining seems to be quicker most of the time. The user interface communicates with the user of the expert system. The user interface may ask questions when it needs more info. When I wrote an expert system of my own when I was in college, the user interface was practically non-existent. The system was just asking for file names. More advanced expert systems have user interfaces that allow the user to ask questions, provide information, etc. Expert systems are very simple in their basic approach and set up, but, the more rules and data in the data base, the more powerful they are. They are starting to be used more and more to aid people in finding information because of the shortage of and/or expense of consulting human experts. LISP Last month I wrote a little about the LISP programming language. LISP (LISt Processing) is the predominant programming language used by the Artificial Intelligence community. John McCarthy developed LISP at MIT in 1958 because he needed a language in which he could implement a program called "Advice Taker" efficiently. Advice Taker never took-off itself, but the language McCarthy came up with for it did. LISP is the second oldest programming language still in use. (FORTRAN is the oldest) There are many dialects of LISP around today. FranzLISP, ALISP, MacLISP (note: MacLISPs name has nothing to do with the Apple Macintosh, MacLISP was developed before the Apple Macs came into existence), XLISP, PC-LISP, etc. The standard is called "Common LISP." It is an ISO and ANSI Standard language definition. XLISP and PC-LISP are Shareware standards for the IBM PC-compatible market. They are both rather powerful. Both can be downloaded from The Great White North (IceNET @1) or Paragon (@7654). The major features that LISP offers as a programming language over other languages are recursion, storage of programs and data as the same basic stuff, and its ability to act as an interactive interpreter. Recursion allows for functions to include themselves as part of their own definitions. Other computer languages can do recursion, but they do it in clumsy ways that are rather inefficient. Recursion is second nature to LISP. Storing programs and data as the same basic stuff allows for programs to be treated as data. A program could be written that would modify itself. AI finds this a very useful thing for program learning: A program that could teach itself a new trick. This also allows for LISP to keep track of which instructions have been executed and how many times they were executed... which is perfect for writing expert systems so that they can explain how conclusions were reached. LISP as an interactive interpreter means you have a programming environment suitable for writing programs. Each program statement is only executed when called for. This allows for quicker development as you don't have to waste time compiling and recompiling all the time during the development process. The two LISP's I used in developing this article were: XLISP Version 2.0 by David Betz (BIX address: dbetz). PC-LISP v2.17 by Peter Ashwood-Smith. Both can be downloaded from TGWN (IceNET @1) and Paragon (@7654). XLISP includes Turbo C source code. Both are shareware software. When I was in college, we used XLISP in the class. I wrote up one of the programs we wrote and, with little modification, it ran in PC-LISP. I had to change one function around a little bit and made it work by adding a few calls to the list function in two places. LISP's main data types (or object types if you prefer, as LISP is an object oriented language at heart) are Symbolic Expressions, or S-Expressions for short. The two major S-Exps are Atoms and Lists. Atoms are subdivided down into Numbers (Fixed and Floating point), Literals, and Strings. Lists are subdivided down into Data lists and Forms. Numbers are just that; 1, 2, 3... 358452.254125, e, pi, etc. Fixed numbers are what would be termed Integers in Pascal and int in C. Floating points are what would be called Reals in Pascal and floats in C. Literals are words, letters, etc. Things like A,B, Jim, IceNET, LISP, WWIV-is-Great, etc. When you reference a literal you would normally reference it with a quote mark ('). That is so LISP knows you are not trying to reference a function or global variable. You would reference them as 'Jim, 'IceNET, or 'WWIV is great. Strings are mainly a lot like strings in Pascal or C. "Jim," "IceNET," "Deacon Blues is an evil Editor-in-Chief," etc., are string atoms. Everything between the double quotes in included in the string. Lists are expressions contained in parentheses. (A), (Jim), (IceNET is great), (), ((())), (5 is a Number), etc. Lists can also contain other lists and they can also be empty like the empty list () I noted above. Each Sublist only counts as one element in a list, though. (LISP (Jim) (IceNET is (good))) contains 3 elements even though there are 5 words. Examples of lists and number of elements they contain. List # of Elements ---- ------------- () 1 (Jim) 1 ((IceNET)) 1 (Jim (IceNET is great)) 2 ((())) 1 (Deacon Blues (is a Good Editor)) 3 (An (interesting ((List) structure))) 2 Forms come in two major types... Function and Global Variables. Functions are defined by the user with the Function DEFUN. There are built-in functions as well though, called primitives. Primitives are functions you would use in creating more complicated functions. Numerical Primitives : PLUS, DIFF, TIMES, and DIV. PLUS performs addition. (PLUS 4 5) --> 9. (PLUS 1 2 3) --> 6. DIFF does subtractions. (DIFF 6 2) --> 4 (DIFF 4.2 2.2) --> 2.0 TIMES is multiplication. (TIMES 5 5) -> 25. (TIMES 2 3 4) --> 24. DIV is division. (DIV 6 2) ---> 3. (DIV 4 4) -----> 1. PLUS and TIMES can take any number of arguments you give them. DIFF and DIV only accept two arguments. These can allow you to build your own functions, such as : (DEFUN Factorial (num) (COND ((EQUAL num 1) 1) (t (TIMES N (Factorial (DIFF num 1)) )) )) You should take note that EQUAL is just what you would think it is. A function that tests to see if two things are equal. If they are, it returns T (True) or, if not it returns Nil (LISPese for False). COND is just a fancy way of saying "If". If NUM is equal to 1 THEN return 1 as the value of the function, if not... activity T, which in this situation means "Else" and multiply NUM times a recursive call to itself with NUM-1. (Factorial 4) returns the value 24. Symbolic Manipulation. the manipulation of symbols like '(IceNEWS is a Fine publication), is what LISP was invented for. (Note the quote again. You use those a lot in LISP for when you don't want to get data and program mixed up.) CAR, CDR and CONS are the heart of Symbolic Manipulation functions. CAR means "Contents of the Address part of the Register," which sounds complicated but in reality it means "First." It gives the first element of the list. (CAR '(IceNEWS Is great)) --> IceNEWS. CDR means "Contents of the Decrement part of the Register" but it really means "Rest". Give me all of the list except the first element. (CDR '(IceNEWS Is great)) --> (Is great). Both these functions are often also referenced as FIRST and REST within most LISPs. You LISP's environment can be altered so that CAR and CDR can be referenced as FIRST and REST if you want. (Setq FIRST 'CAR) should do the trick for you. Both CAR and CDR expect to be called with Lists, though. Don't call them with only atoms as arguments. (CAR 'A) and (CDR 'A) both return NIL or False. CONS is for Constructing new lists. It accepts two arguments. It inserts the first argument into the second argument. The first can be either a list or atom. The second must be a list. (CONS 'IceNEWS '(is great)) --> (IceNEWS is great). (CONS '(Jim is an evil overlord) '(who must be stopped)) ---> ((Jim is an evil overlord) who must be stopped) There are also True-False or predicate functions. NULL, LISTP, ATOM, NUMBERP, EQUAL, etc. NULL tests to make sure something isn't Nil. LISTP checks to see if something is a list or not. ATOM checks to see if something is an ATOM. NUMBERP checks to make sure if something is a numeric atom. EQUAL, as I noted before, checks to see if two things are equal or not. Some other functions that should be referenced are: APPEND, a special version of CONS. LIST which forms a new list out of its arguments, LENGTH, which returns the number of elements in a given list as a numeric atom, and REVERSE, which reverses a given list. (APPEND '(IceNEWS is great) '(IceNET is cool)) ----> (IceNEWS Is great IceNET is cool) Compare to (CONS '(IceNEWS Is great) '(IceNET is cool)) ----> ((IceNEWS is great) IceNET is cool) (LIST 'A) ---> (A). (LIST '(Jim is a nice guy)) ----> ((Jim is a nice guy)). (LENGTH '(A B C D)) ---> 4. (REVERSE '(A B C D)) --> (D C B A). The other type of Forms are the global variables. These you alter using Setq. Global variables can be functions as well as just your normal variable like in Pascal or C. Like when I set a global variable equal to the CAR function beforehand. (SETQ **A** '(IceNET is nice)) defines a global variable of **A** which means (IceNEW is Nice). (CAR **A**) ----> IceNET. (CDR **A**) ----> (is nice). (CAR (CDR **A**)) ----> is. (CONS 'Jimbo **A**) ----> (Jimbo IceNET is nice). SETQ can be used for what is sometimes refereed to as polymorphism in other languages like C++ or an OOP Pascal. It allows function names to go with different types of functions at different times. I'll now define some functions I have written in the past to give a feel of what LISP can do sometimes. Palindromep - a predicate that tests an argument list to see it is it a list that has the same sequence of symbols when read from right to left as when it is read left to right. (DEFUN Palindromep (l) (COND ((NULL l) T) ((EQUAL l (REVERSE l)) T) (T NIL) )) (Palindromep '(a b c b a)) ----> T. (Palindromep '(a b c c c a)) --> NIL. Presentp - a predicate that determines whether a given atom occurs anywhere in an expression. (DEFUN Presentp (a exption) (COND ((NULL exption) NIL) ((EQUAL a (CAR exption)) T) ((LISTP (CAR exption)) (OR (Presentp a (CAR exption)) (Presentp a (CDR exption)) )) (T (Presentp a (CDR exption)) )) ) (Presentp 'x '(SQRT (DIV (PLUS (expt x 2) (expt y 2)) 2))) ---> T. There are other things to LISP, but those are the more difficult and advanced aspects of the language. If anybody has any questions they would like me to answer just drop me an e-mail (6@1 IceNET) and I will try to answer them in an upcoming installment of this Artificial Intelligence series of articles. Coming in the July issue of IceNEWS: Part 3 of this series. Sources used in this series: _Understanding Artificial Intelligence_; 1988; by Henry C. Mishkoff; Howard W Sams. _Artificial Intelligence... Using C_; 1987; by Herbert Schildt; Osborne McGraw-Hill. _The Computer Glossary: The Complete Desk Reference_; 1991; by Alan Freedman; AmaCom. _Using Turbo Prolog_; 1988; by Kelly M. Rich & Phillip R. Robinson; Borland-Osborne McGraw-Hill. _I, Robot_; 1950; by Isaac Asimov; Del Rey. _Asimov On Science_; 1989; by Isaac Asimov; Pinnacle. essays entitled "Thinking About Thinking" and "More Thinking About Thinking". _AI: The Tumultuous History of the Search for Artificial Intelligence_; 1993; by Daniel Crevier; BasicBooks. _LISP: An Interactive Approach_; 1986; by Stuart C. Shapiro; Computer Science Press. _XLISP: An Experimental Object-Oriented Language_; 1986; by David M. Betz; Documentation with program. _PC-LISP User Manual_; 1987; by Peter Ashwood-Smith; Documentation with program. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ H A R D W A R E ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Will Crawford On: The Future of Computing ³ Will (1@6754) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Every few months, people get together and try to figure out what the computing scene will look like five, ten, or fifteen years down the line. Often these are wild guesses, flagrantly optimistic or too narrow-sighted and pessimistic. A committee under President Johnson was told to come up with an idea of what computing would be like in the year 2000. Everything they predicted had occured by the mid 1970s. Arthur C. Clarke, a science visionary if there ever was one, overshot the direction of AI (in 2001) and understated it as well (in some of his novels, he predicted that punch cards would still prevail in 100 years). The mid 1990s is certainly a turbulent time, with platforms, chips, and operating systems all jostling for a top position, and nobody is really quite sure what will come out on top in the end. However, computer technology is begining to settle into a pattern and trends appear which make long range predictions easier. While things are still murky, many technological developments of the next five to ten years can be seen through the haze. Hard disk capacities will double, triple, and finally increase by up to 50 times over the next five years, with no real change in cost. Two new technologies will make this possible. The first involves using DAC chips (Digital Audio Converter, more on them later) to filter data "noise" from the hard disk. This will allow information to be packed much more tightly on the disk platter without additional miniaturization costs. The second scheme, which may bear even more potential, involves changing the orientation of the recording medium on the disk platter to allow a much tighter density of information. Crystal Lattice memory may also come into its own for storage, pehaps by the year 2000, perhaps later. This involves using a laser to store data in "cells" a few dozen atoms across in pieces of special crystal. While current working models only store a few dozen bits of memory, this technology has the potential to cram terrabytes of memory into a recording media not much larger than a marble. The chip wars will continue for a few more years, the eventual winner still indeterminite. IBM, and Apple especially, are betting the farm on the success of the PowerPC RISC chip. Intel has a lot to lose if PowerPC catches on, so they'll continue to step up R&D and solve the cooling problems of the latest generations of Pentiums and above (Intel recently demoed a Pentium DX4. While capable of hundreds of MIPS, the machine needed liquid cooling). Machines using liquid nitrogen cooling might become popular if the chips can't be made to run at a lower temperature. If IBM and Motorolla can release the PowerPC 620 chip on schedule, and announce even more advanced versions, they have a good chance of prevailing. Rumors are that IBM plans to incorporate some 486 compatible circuits onto the next generation of PowerPC, helping end the copmatibilty problems. The other RISC manufactures, such as MIPS (makers of the R4000 chip used in Silicon Graphics workstations, among other strong RISC machines) aren't going to toss in the towel, so there's still the possibility of a "Dark Horse" canidate. Who wins the chip war really depends on who wins the Operating System War. Which chip is "in" use might become quite irrelevant if Microsoft and/or IBM get the multi-platform versions of Windows NT and OS/2 out the door on time. Part of Microsoft's master plan includes versions of Windows NT, which should be able -- with minimal effort -- to run all Windows NT apps, period, making proccessor type irrelevant. If they can improve the emulation of 80x86 programs, they might manage to do just that. If IBM wins big with OS/2, then the PowerPC will have a definite advantage. Of course, the product under development by the IBM/Apple join venture Talligent may change all of that. Audio subsystems will become standard equipment on almost all new machines, perhaps to the level of common motherboard interfaces. The DAC chips that are becoming very popular allow customized data proccessing that allows the sound elements to be turned to various uses. Soft modems, such as those found on the AV Macintoshes and available from a few PC vendors, will become increasingly popular because they can easily be upgraded with software and double as an audio system. They'll gradually replace conventional modems. With the advent of enhanced telecommunications environments (the so-called Information Superhighway), the picture might change again, with direct ISDN links replacing modems in many applications. There's a lot going on in the PC world, and the next few years and months are going to be very interesting. Next Month: The PC Buyer's Quandry ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Give me an A, Give me a T, Give me a Z ³ Fractal (3@5750) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ What does it spell? ATZ. It sounds really simple, and if you feed it to a modem, 99.9% of them will say OK. Not only that, they for the most part will connect to almost any other modem at that setting. Why is it then that so many people have so many problems getting their modem INIT strings to work? For starters, most are overly complex. There seems to be a mystique about modem initialization strings that says that they need to be a complex magical combination of indiscernible characters to result in the right connection. Take the following examples: (lines with - are two-line init strings) ATE0H0M0Q0V1X4\N3%C1\A3S0=0S2=1S48=7S95=44 ATC1E0F1H0M0Q0V1X6&A1&B1&C1&D2 - AT&H1&I0&K1&N0&R2&S0S0=0S2=1 ATC1E0F1H0M0Q0V1X6&A2&B2&C1&D2S38=1 - AT&H1&I0&K1&N0&R2&S0S0=0S2=1 AT\N3%C1\K3\G0\A3%D2%E0%M3 - ATS46=138S48=7S82=128S36=1S95=44S11=50 ATE1Q0M1L2&C1&D2S0=0S2=255&W0&W1 In most cases, much of the contents of the init strings are unnecessary as many of them match the default values that are already set on power-on. Many modems provide more than one command to do the same thing. Sometimes, a command that starts with a letter like M0 or M1 (speaker on or off) can be duplicated by an S-register command like S193=0 or S193=1. Adding to the confusion is permanent memory, which allows modems to be pre-configured to one setting or another but which can conflict with settings that are specified in an initialization string. The best way to eliminate this problem and assure consistency is to begin all init strings with a factory reset command that will start you off from a common ground; an &F will often work toward this end. The "ATZ" init string doesn't reset to factory defaults, it merely resets the modem to what it was when it was powered on, which would be different if the permanent memory has been saved to in the past. AT&F, if the modem accepts that command, would be much better because it is more consistent. Also, avoid saving to permanent memory (ending with &W, &W0, or &W1) because it serves no purpose as long as an init string is being used and could cause some problems for other software which uses the modem (it will also probably slow down the initialization process). Many times, redundant commands can make for long lengthy init strings. AT&FE1 wouldn't make sense because almost any modem that is new enough to have a default setting in ROM will always turn the echo on anyway in its default setting, so the E1 is redundant and should be removed. Your manual will indicate the settings that a default initiates. Follow the &F (or similar) command only with settings you desire to be different from the default settings. This will often include &C1 and &D2, which are common additions; &C1 enables the carrier detect line so it doesn't always indicate a connection even when noone is online; &D2 tells the modem to hangup in response to the dropping of the DTR line from the computer. Most term programs and BBSes (including WWIV) will try to hangup this way. You may also want to include a M0 if your modems default leaves the speaker turned on. A few spaces never hurt either just to make it readable. Hayes compatible modems completely ignore spaces, so "AT &F &C1 &D2" makes a pretty good universal setup string for most modems. WWIV sysops should be aware that if your modem's factory defaults should enable auto-answer you will need to add "S0=0" to your init string or the modem will hang up when the board tells it to answer (You'll know this because nobody will connect)! This happens because when a modem answers, pressing any key before a carrier is locked on will cause it to abort and the ATA sent by the computer aborts the answer already in progress. Common additions to the generic setup include: S10=50, which allows the modem to recover better from a momentary lost carrier (like a call waiting beep), S0=0, which prevents auto-answer, and M0, which turns off the speaker. Add these only as required to keep yourself running well. For a good init string, start with something like this: (WWIV sysops won't forget to add the curly brace on the end :)) AT &F S2=255 S10=50 Then, if needed, add &C1, &D2, S0=0, and M0 as required. By this time, you should be well on your way to a good connect. WWIV sysops making a .MDM profile will then need to make sure that the result strings indicate the appropriate connects and baud rates (this can be done by setting the MS= and CS= numbers as required). If your modem needs different settings added to its init string to allow it to report the caller's baud rate, then add them. You can lock the baud rate or leave it floating as long as the result strings indicate the appropriate action. There are reasons for going either way, but we'll leave that as well as other tips and tricks for another time. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ L I T E B Y T E S ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tales From A BBS Sysop - Funny Users ³ Ima Moron (1@9661) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÿ That Funny Occurance Every once in a while, a user pulls/posts/or E-mails one of those immensely funny occurances that makes the work of being a sysop worth the time and effort. I live for those moments, and I frequently encounter that point in time when a user torques my funny bone. On that note I'll let all of you in on my users quirks. In creating an incentive to donate to my BBS I utilized a program titled "Tradewars Galactic Market" by Eric Heimburg, WWIVnet 1@4709. The program allows an external starport feature in which the sysop can regulate item prices, users decloak others, disclose other player's locations, or in which the user can transwarp tow themselves anyplace. I then created an ANSI ad campaign using a modified mafia.ans from the tradewar ANSI files. Within Mr. Martin's ANSI I created my mafia "Don" who extolled all of the features of the software. There would now be two classes of Tradewars playing users on my BBS; those that paid me a bribe for the AR toggle to use the mafia and those that just played the game without any outside intervention. To be sure of immediate success and a large subscription list to the program I added an incentive to pay up; all paying subscribers to my mafia could, if they wished, pay an additional $2.00 and exclude a competitor from the mafia. One fine morning I picked up my mail to find the following letter wrapped around nine one dollar bills: Dear Mr Mafia Man I am enclosing 900 cents in small unmarked bills. Please do not hurt my ship. I want to see it alive again. Thank you David [real name excluded] I laughed myself into stitches, I gave him his access and an extra fifteen minutes of daily user time for the humor. BTW - the letter had the appearance of a cut up magazine. ---- User Errors ---- I had expressedly informed all of my users that they should read the network sub-board of their interest and, after aquiring a grasp of the subject on the sub-board, they should then post. A young man logged on shortly after having been allowed access to the networks. He then proceeded to comment on anything and everything. I spent most of the morning logon deleting what I could stop from being sent out and attempting to apologize for the dialogue that was transmitted and I restricted him. When the youngster logged back on to the BBS the following evening, he immediatly sent me some feedback in which he stated that he was possesed by a fervor that he had never experienced before. Mom and dad had held a cocktail party at their house. At the end of the party, Junior was instructed to clean up the mess, which he devoured in gulps -- gin, wiskey, etc. What could I do? There just isn't any way to regulate the travels of youth. I temporarily restricted his access, then, after a week, I forgave him. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ How They Got Started In BBSing - Pt. 3 ³ Compiled by: Louie (6@1) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Some of the kind readership of IceNEWS may recall the older articles in this series in which stories from well known folks around WWIVland tell us all how they started in BBSing. Such luminaries as Wayne Bell, Filo, Jim, Deanna, etc. told us how they started in this wonderful hobby of ours called BBSing. Hummm... Why do we call it "BBSing?" "MUGing" (Modem User Group) gets us funny looks when we put up picnic signs with that on it. "Modemers" doesn't give the same oomph as BBSing. "Bauders" just sounds weird. Well, I guess we are stuck with some strange names like "BBSing" for our hobby. This month we have stories from DayDreamer (2@4501), an all around nice person who wrote about being a female sysop in the May 1994 issue of IceNEWS; Benny Hill (1@7400), the all famous Group Coordinator of WWIVnet; and Wildfire, (1@5857) who is a nice person writing for his first time for IceNEWS. Each is "good people"... unlike some of the IceNEWS Staff. :-) hehehe (Hey, Will... put that axe down!) One moment please while I put down the rebellion within our ranks! **BANG!** Ahhhggg! **THUD!** Belch! **WAP!** There, everything seems to be back in the natural order of things. Seems I had to promise Will that he could be M/E next month though. Anyway, this is getting weird and you would rather hear from Daydreamer I am sure. Daydreamer, #2 @4501, writes: Dream Tales In the time before the creation of the mountains and after the creation of the sun, there came into being DayDreamer. 'Twas the summer of '89. A bright, beautiful afternoon that gave no hint of what was to come. Suddenly, a sharp scream echoed throughout the building, followed by a sigh of relief... DreamScape, the dusk to dawn BBS, emerged into the unsuspecting world. After hours of reading fine print labeled FYEO, the newly created sysop knew that something wonderful was going to happen. Rising from the chair that she had called home for the better part of the day, the weary DayDreamer brought into creation a blinking cursor, turned out the lights, and said, "this is good." Early the next morning, DayDreamer rushed to the room containing DreamScape to see what had happened in the night: arghhhhhh... absolutely nothing, not a call, not even a wrong number. With a worried expression, she wondered what could be wrong. Then, the reason for failure became apparent. Who knew about this new reality? Quick, call the printers. Send out the messengers. Let the world know that there is something new and different to be found in the tiny town of Oklahoma City. Find kindred souls. Search for others that share the same desires and passions, those that wish to spend long, endless hours making a simple machine become a power to be reckoned with. Six WWIV wizards appeared, all with thunderous attitudes, bearing predictions of misfortune. This was not a task for m'lady, 'twas a dirty and thankless job and best left to those more suited for it. The lady viewed the wizards, wondering what secrets they were trying to hide, why would they want her to stay in the "dark Ages of childbirth and housework." Squaring her shoulders, DayDreamer said, "We shall see if the walls of ignorance can be torn down, and women given their rightful place in the electronic age." As time passed, the user base grew with astounding speed. The new serfs cried for more online time, more hours of operation, more utilities, and more of DayDreamer's ancient wisdom. Realizing that growth was a sign of success, DayDreamer sent a carrier falcon with registry for her creation. As days passed, she became restless. Would the keeper of the records, Lord Bell, also feel that this was not a task for the other gender? Then it happened. The secret code arrived. With it came a magic number, and DreamScape evolved into a 24-hour system, made to the specifications of DayDreamer. Hers alone. No other had anything exactly like it. The local WWIV wizards were still skeptical, but now they asked for advice on questions that they could not resolve. DayDreamer became the matriarch of WWIV in Oklahoma. This also created a new set of problems. The reigning wizard had to admit to errors in some of his spells, spells borrowed from other wizards in distant realms. New alliances had to be formed. The camps divided, those that followed the bard and those that followed a dreamer. Old friendships crumbled to dust as the new ones grew stronger. The full meaning of the original worries became clear. WWIV: another way of warfare; a masculine skill. DayDreamer joined a national alliance of wizards and found no unusual comments on her gender. There were questions of course, but time and experience had provided answers. Some made offers of a physical nature, others wondered at what had caused her to become one of the sysops. The answer to the latter was simple, time was at fault. 'Twas the last frontier (or so she thought). One of the new wizards spent long hours talking with the dreamer and a friendship about user bases, file formats, archives and network connects. DayDreamer wondered if the past and future could blend into the present without constant strife. A merging took place and DreamScape and StarBase resided in the same time and space. The Dream Wizard and the StarBase Admiral signed an agreement to co-exist, bonding the past to the future. Then another evolution took place. DreamScape had fullfilled DayDreamer's every expectation. The time for change was at hand. With a few keystrokes, DreamScape ceased to exist in this reality. DayDreamer made a permanent move to StarBase, becoming the Admiral's right-hand "man." The random ways of DreamScape were not the ways of StarBase. Choas was not the order of the day, but singularity of purpose. DayDreamer sent a message to the wise Texas Wizard, title to DreamScape was transferred to the Admiral, and DayDreamer became the "Other One." Ah, for a moment we forgot that this was suppose to tell the tale of being a female sysop. Sysops have no gender, just a love of creation, a desire to make new friends and assist others in becoming familiar with the keystrokes required to navigate a message base. Being a sysop only requires a desire to be up long hours searching out the reason for failure when new code is incorporated into old, the reason for modem connect failures and lost messages, corrupted user bases, and file not found errors. Perhaps the motto of the sysop should be "be all you can be" and nothing more. Wildfire, #1 @5857, tells about how it all started for him: I originally started BBSing in 1987 on my Tandy 1000EX, with a 1200 baud modem. I was fast at that point. 2400 bps was just introduced, but many people I knew still only had 300 bps. I was a member of a lot of WWIV BBSes. I liked them. They were easy for new users to get used to and there was even a Mac running a version of WWIV. Somebody actually took the time to port over (I think a Pascal version) WWIV, and it was a cool BBS for us young'ns. I was all of 15 and was really getting into computers. The modem was a natural extension. I felt I could communicate better over the modem than person to person, and I grew with the modem. I dropped out of BBSing for almost a year. The Tandy died (don't tell my dad but I left the window open behind it one night and it got rainded on. He still thinks it was a natural failure) and I was without computer. Dad then went out looking for another computer as I was starting to sort of need one to do reports on as my school was no longer accepting hand-written reports and we didn't have a working typewriter. He finally decided on another Tandy, a 1000SL this time. We bought the adapter board and put the 1200 bps modem back in and I was back in business. Procomm + 1.1TD and I were good friends at the time. When 2400 was becoming more and more prevalent, and most BBS users had 1200 bps modems, I wanted faster. So I wasted my $80 for the then cheapest 2400, and I was again a BBS speed demon/god. 9600 baud hadn't even been heard of yet. I graduated high school on that Tandy 1000 and got a job at Radio Shack when I started college. I got a lot of computer exposure there. I already knew more than most of the RS employees about computers, so it was just natural that I learned more about them. After about a year, I finally bought a new computer. It was about 6 months before the 386SX came out, so the only affordable power at the time was a 286. The company made me a deal: a 286, 10 MHz, 1 MB RAM, 1.44 MB floppy, 52 MB IDE hard drive, 101-enhanced KB, and a VGA monitor. I put my modem in there, still had that copy of PC+TD, and was full force into BBSing again. About 2 years ago, probably a little more, I got my own phone line. Don't know why. I think it was really so I could BBS without dad bugging me to get off the line. The phone line was horrible. After complaining, rewiring, complaining again and getting them to fix the problems, I finally could call out without a screen full of line noise. Two of my friends then decided to set up a BBS on my computer. I kept telling them not to, I didn't want to run a BBS. I didn't want to, really, I didn't. They set up a copy of WWIV 4.12 and between the two of them, it took all of about a half-hour. Full BBS with file directories, message bases, g-files, and a game (we were all very good DOS users at the time, stuff wasn't hard for us). I finally sat down and made a couple of ANSI logon/logoff screens, and made the new user message, the system message, etc. Since the thing was set up mostly, why not finish it? I opened part time in around April of 1992, 9:00 AM until 12:00 AM, and ran that way for about 6 months. Then I went 24 hours, swearing that I wouldn't join a network since I didn't want to run a BBS to start with. Well, needless to say, here I am. The BBS takes up as much of my life as my ex-girlfriend did. It's scary... Benny Hill #1 @7400 I started sometime in August, 1968, in the Big Apple. There, my parents decided they wanted to have a child.... Wait, you only want how I got started into BBSing? Oh, Sorry... I started calling bulletin boards on one of my old best friend's computer in 1988. His name was Kevin Camardelle from New Orleans. His computer was a Timex Sinclair 2068 (no, not a Timex 1000 doorstop). At times, I would go over to his house and call a bulletin board or two because I thought they were "neat." The system he had consisted of only a TS 2068 computer and a Westridge 300 baud modem, which was slow at the time, and real slow now that I think about it! The first BBS I called was named LA Medsig, which was a RBBS Bulletin Board in New Orleans. The first WWIV bulletin board I ever called was a system run by Josh Aasgaurd in New Orleans called, at the time, Freedom's Gate. On that BBS, I learned about BBS etiquette by observing things I saw from several of the board's more respected users, such as Taliesin, Quadrangle, Morgana, Shadowspawn, The Police, Redwitch, Todd VomiT, and Elizabeth Shaw. I watched and tried my best to blend in with the ways of BBSing, as any newbie would do. Eventually I got the hang of it. I was definitely hooked on BBSing! In June of 1988, I called Madman's BBS, The Funny Farm BBS (still in operation today, WWIVnet @5401, WWIVLink @15401 - WWIV Source Distribution Site). At that time, he had just put up his BBS and I was his 6th user. Madman was just getting his board started and I really enjoyed calling his BBS. One day, Madman decided to take advantage of one of WWIV's features by assigning subops to some of his sub-boards. At that time, his assistant sysop was a man who went by the handle of Goata. I had volunteered to become a subop of the "Opinions" sub-board, and someone by the handle of Stalker became the subop of the "War" board. Well, I spent a lot of time on The Funny Farm. Eventually, something or another happened with Goata and Madman decided he needed another cosysop, and for some reason he selected me. As a cosysop, I spent time trying to learn all the features of WWIV, as I did enjoy the software and preferred it over any other BBS programs that I saw. I became fairly familiar with the software through experimenting with the commands, DOS, etc. The trick was, I did not have an IBM-compatible, but one of Kevin's Timex Sinclair 2068s and 300 baud modem! No previous DOS experience whatsoever! WWIV was easy to learn as the menus were easy to go through. We ran WWIV v4.01 at the time (a -long- time ago). At one point, we decided to drop down to WWIV v3.21d because we wanted to install games on the system that we could not with 4.01, as not many were available at the time. Things ran smoothly for the Farm; more users, more activity on the system, all was going well. Sometime around October of '88, I learned about WWIVnet. WWIVnet at the time probably only had 150 systems in it, if that many. The System Operator of The Ravenloft BBS, who was Count Strahd Von Zarovich, brought WWIVnet into New Orleans as WWIVnet @5400. I was fascinated with the networking concept: that I could actually send e-mail to someone in California from my own computer. I spent a lot of time trying to convince other sysops in the area to join WWIVnet. Madman was the first I was able to convince and he joined as the original WWIVnet @5401. Of course, Madman had to upgrade to WWIV v4.05 to join as v3.21d was not compatible. Kevin Caparotta (Piano Man) joined soon after as node @5402, I got Freedom's Gate on the net as @5403, and things started rolling along. By this time, I had 255 access on most of the WWIV boards in New Orleans and was always willing to help anyone out if I could. Eventually, with the help of Madman, I got an IBM XT-Turbo machine with a huge 20 MB hard drive (well, back then, it was a good size). With the machine, I inherited a 1200 baud modem. A big jump over 300 baud. Of course, I downloaded a copy of WWIV and put it on my machine and tried to figure out more things about the software. In February of 1989, I got my first 2400 baud modem through help of Foxx of The Foxxhole BBS (1@4907 WWIVnet currently). During the summer of 1989, I spent time trying to help promote the use of the WWIV software. During that time, the original WWIV Support Network was created with 5 systems, including Mr Bill of Mr Bill's Abode, Filo of The Dragon's Den, a guy from Massachusetts, Eric Golden of Farpoint Station, and Doug Fields of The Galactic Empire. The support network was growing a bit and I tried my best and got The Funny Farm (original) into it. We registered the WWIV software at this point (June of 1989). In September 1989, I moved from New Orleans to Charlotte, NC. There was not a single WWIV BBS in the 704 area code and not a single alias BBS in the city whatsoever. I decided to put up my own BBS and decided to call it The Funny Farm (East Wing). When my board was put up on October 10th, 1989, its sole purpose was for the support of the WWIV software. It was my aim as a sysop to promote the use of the software. In time, I had one of the largest collections of WWIV compatible games, files and utilities available anywhere! I joined WWIVnet as node @7400 and 704 area coordinator. In this area code, we jumped from one WWIV BBS to, at one time, over 30 of us! All but one were alias-based boards. In time, Wayne Bell appointed me to coordinate the WWIV Support Network. The first thing I did as support board coordinator was limit my own power, if it ever even existed. I made it where any system being added would be voted upon by the membership of the area, not any decision made by just one person. Through trial and error, I think we currently have one of the best systems of adding support systems as needed. While not perfect, it is the best solution we have come up with so far; To be fair to one and all who submit a support application. I also remember one of the biggest events that ever hit the WWIV world. It was in late 1990. There was some dissatisfaction of what was going on in WWIVnet. At that time, there were no group coordinators; only ACs and Wayne as the NC. I attended a sysop meeting in Richmond, VA. There, I met John Hardman, John Wash, Tarkender Evenstar, Lord Samos, ->DOC<-, Deanna, Moribound The Burgermiester (MTB of The Vaporboard), Kent 1@9955, and several other sysops. It was at that meeting that the separation of WWIVnet was put into full force, the meeting in which WWIVLink was born. On Feb 27th of 1991, WWIVLink was made a reality when all of the systems which were to be WWIVLink boards instead of WWIVnet boards were cut out of WWIVnet. I created a modification for my board at the time (WWIV v4.10 I think) which allowed me to be on both networks at the same time. I do believe I was the first ever multi-network BBS for a WWIV-type network. I remained on WWIVnet and was also a charter member of WWIVLink. I did this by allowing a command to "jump" to the other network (a different BBS.EXE entirely). I had tweaked the code so it would make automatic callouts to both networks through batch files and everything was in full gear then. Unfortunately, some circumstances developed and I could not duplicate what I did to that code to do multi-network and I dropped out of WWIVLink. Since 1991, I have served as the WWIVnet Group 6 Coordinator. I am also the coordinator of the WWIV Support Network. My aim still remains the same: to promote the use of the WWIV software. My BBS is an official support board, and one of the original Source Distribution Sites. Since my board went up, I have received close to 45,000 calls to the system, I have over 1000 users, and have received calls from many parts of the globe including Canada, Japan, Mexico, Portugal, England, Spain, and Australia. If you wish to call my system, feel free to do so! The system runs 24 hours a day, 7 days a week. We are now at 14.4k v.32bis using a USRobotics Dual Standard modem. The software as of this writing is WWIV v4.24 beta 1. We have auto-sysop validation so you can download WWIV-related files on the first call. We have about 65 MB worth of WWIV-related downloads available. We also serve as a Source Distribution Site authorized by Wayne Bell. If you wish to be able to download the source from here, give the board a call, and read the instructions in the g-files section #1, "System Bulletins." No upload/download ratios for WWIV sysops! ------------------------------------------------------------ Well, there. We found out that Daydreamer doesn't seem to live within our Universe, Wildfire is a weird person, and Benny Hill is a card-carrying wacko! But then, you could say any of that about any BBSers in existance. Myself, I live on the 61st planet or Sirus in the year 6547. :-) Ha ha. I hope you liked this. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Silly Strings - From IceNET Sysops Everywhere ³ Ima Moron (1@9661) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ For the June issue of the Journal, I've decided to include two partial tagline collections submitted by Mike Hunt and Michael Siegle. Below that I've included some humor submitted by Diamond #1 @3956. Taglines from Mike Hunt #510 @1 "Apple" (c) Copyright 1767, Sir Isaac Newton. And God said: E = «mvý - Zeý/r, and there was light! On a clear disk you can seek forever THE ROAD TO SUCCESS IS ALWAYS UNDER CONSTRUCTION. The floggings will continue until morale improves. I know a good tag line when I steal one. Taglines from Michael Siegle #1 @8654 Drop your carrier...we've got you surrounded. RAM= Rarely Adequate Memory. Mary had a little RAM -- only about a MEG or so. OK, here's some humor for ya. (not original) By Diamond #1 @3956 How do you tell the difference between a used car salesman and a computer salesman? The used car salesman knows he's lying... and knows how to drive. ÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Word Search Puzzle Answer ³ Louhal (1@10) ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄ . . . T N O F . . . . . . . . . . . . . . . S COMPUTER D . T U P T U O . . . . . . . . . . . . . . T . L . . . . T U P N I . . . . . . . . . . . I . . E . E . . . . . . R O T C E S . . . . . B ANALOG JOY STICK . . . I . G . C A N A L O G . . . . . . P . . ARRAY KEYBOARD . . T . F K A . I . . . . . . . . . . R . . . BASIC LANGUAGE . . . R . . C U . S . E S U O M . . I . . . . BITS MEMORY . . . . O . . I G . A . . . . . . N . . C . . BYTES MODEM . . . . . P . . T N . B . A . . T . . O . . . COMPUTER MONITOR . R V . . . . . . S A . . R . E . . M . . . . DATA MOUSE S O A . . . . . . . . L . R R . . P . . D . . DISKETTE OUTPUT P T R . . . . . . . . Y . A . . U . . . R . . DRIVE PORT R I I . . . . . . . . . O Y . T . . . . A . . FIELD PRINTER E N A . . . . . . . . . M J E . F . . . O . . FILES PROGRAM A O B D I S K E T T E A . R . . O F . . B . . FONT SECTOR D M L . . . . . . . R G . . . . R I . . Y . R FORMATE SPREADSHEET S . E . S E T Y B G N . . . . . M L . . E E . HACKER STRING H . S . . . . . O I . . . . . . A E . . K . . INPUT VARIABLES E . . . . . . R R . . M O D E M T S . C . . . E . . . . . P T . . . . D R I V E . A . . . . T . . . . . S M E M O R Y . . . . H . . . . . . . . . . . . . . . A T A D . . . . . . . . . ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ IceNEWS is an independent newsletter published monthly as a service to ³ ³ IceNET, its sysops and users. The opinions & reviews expressed herein ³ ³ are the expressed views of the respective writers. All Rights Reserved.³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ