ЮЫЫЭ° ЬЫЫЫЫЫЬ ЬЫЫЫЫЫЫ° ЫЫ°  ЫЫ° ЬЫЫЫЫЫЫ° ЫЫ°    ЫЫ° ЬЫЫЫЫЫЬ
          ЫЫ°  ЫЫ°°°°° ЫЫЬЬЬЬ°  ЫЫЫЬ ЫЫ° ЫЫЬЬЬЬ°  ЫЫ°    ЫЫ° ЫЫ°°°°°
          ЫЫ°  ЫЫ°     ЫЫЯЯЯЯ°  ЫЫЯЫЫЫЫ° ЫЫЯЯЯЯ°  ЫЫ° Ь  ЫЫ° ЯЫЫЫЫЫЬ
         ЮЫЫЭ° ЯЫЫЫЫЫЯ ЯЫЫЫЫЫЫ° ЫЫ° ЯЫЫ° ЯЫЫЫЫЫЫ° ЫЫЬЫЫЫЬЫЫ°  °°°°ЫЫ°
          ЫЫ°    ЫЫ°°°  ЫЫ°ЫЫ°  ЫЫ°  ЫЫ°  ЫЫ°ЫЫ°° ЯЫЫЯ ЯЫЫЯ  ЯЫЫЫЫЫЯ
          ЮЭ°    ЮЭ°    ЮЭ°ЮЭ°  ЮЭ°  Ю°   ЮЭ°ЮЭ°   ЮЭ°  Ю°    ЮЭ°Ю°
           Э°    Ю°      Э°     Ю°         Э°      Ю°         Ю°

     The Journal of IceNET                                     June 1995
    ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
    іThe Editor's Desk                                                  і
    і  The Upper Registers                                  Will 1@6754 і
    і                                                                   і
    іIceNEWS Op-Ed Forum                                                і
    і  Computer Illiteracy                          Deacon Blues 2@7653 і
    і  The Future of Computing                              Will 1@6754 і
    і                                                                   і
    іFeatures                                                           і
    і  Let's Get Together: Starting BBS Events             Louie        і
    і  WWIV Goes to School                                 Chris 1@7668 і                                                               і
    і                                                                   і
    іSoftware/Programming                                               і
    і  Artificial Intelligence                             Louie x@xxxx і
    і  Archivers: Which One is Best?                   Papa Bear 1@5079 і
    і  Tips on Soundblaster Programming        Odieman 949@2132 WWIVnet і
    і                                                                   і
    іLight Bytes                                                        і
    і  SysGods: Sysops With an Attitude             Deacon Blues 2@7653 і
    і                                                                   і
    іSpecial Feature                                                    і
    і  The WWIVnet Technical                                            і
    і  Documentation (4/4)                  Midnight Tree Bandit 1@8411 і
    ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
    і                      IceNEWS Staff For June 1995                  і
    і                                                                   і
    і    "...Winners of the 1994 WWIVcon Award for Electronic News"     і
    і                                                                   і
    і                    IceNEWS Publisher - Jim 1@1                    і
    і               IceNEWS Editor-In-Chief - Will 1@6754               і
    і                                                                   і
    ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
    і     IceNEWS is always seeking submissions from the electronic     і
    і      community. If you have an idea for a story, contact one      і
    і        of the addresses above, or see the end of this file        і
    і       to find out more ways to get in contact with IceNEWS.       і
    АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ




                        ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДї
ДДДДДДДДДДДДДДДДДДДДДДДДЩ E D I T O R ' S   D E S K АДДДДДДДДДДДДДДДДДДДДДДДД


  ЪДДДДДДДДДДДДДДДДДДДДДДї
  і The Upper Registers  і  by Will 1@6754
  АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДД

        Hello all, and welcome back to IceNEWS! We return this month
our hiatus with something a little different. Things are changing, and
we're changing with them. With any luck, you'll like the changes.

        IceNEWS is a group effort, and it's an entirely volunteer
operation. Almost every story is a freelance submission from people in
the telecommunications world, BBS sysops and users. For those just
joining us, a little history; IceNEWS was founded several years ago as
the newsletter of IceNET, a network of computer bulletin boards running
the WWIV software. Most of our readers still get IceNEWS over IceNET,
and obviously the name reflects our origin.

        Starting this issue, we're breaking new ground, and expanding
outwards. IceNEWS is still, and always will be, available over IceNET.
But now we're also available via the Internet - on newsgroups such as
comp.bbs.misc, from our mailing list (see the end of the issue), and
over the WorldWide Web, at http://www.tiac.net/users/wcrawfor/icenews/
where you'll find a full hypertext version.

        Despite this expansion (and it does mean that we go from
thousands of potential readers to millions), we're keeping content the
same. IceNEWS will continue to feature articles on the technical,
personal, and humorous sides of the BBS world. To kick off our
expansion, we're looking back at a year's worth of IceNEWS, starting
when IceNEWS was reorganized in December 1993.

        Enjoy!



  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
  і The IceNEWS Op/Ed Forum - "Computer Literacy" і  by Deacon Blues 2@7653
  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДД

	"Now repeat after me... Random Access Memory... ROM... BIOS..."
		    -- commercial for Compaq computers --

     How computer literate are we? Well, if you had enough knowledge to set up
a BBS, join a network and maintain a connect, and look in your data files  for
this publication, you're more computer literate than the average person. Trust
me on this. Over the course of this past winter, I found out  first  hand  for
myself just how computer literate (or illiterate, as this case may be) some of
today's high school grads really are.

     I'm a student at a local business institute and part  of  my  curriculum
included  a requisite class on introductory computer concepts. What the school
considered "introductory" was learning  how  to  use  DOS  and  an  integrated
software  package  that  included  spreadsheet, database, word processing, and
graphing programs. Now I'm no  computer  whiz  myself,  but  even  I  was  not
intimidated by the course outline for the class.

     At  the  start  of the semester, there were a total of 28 students in the
class representing curricula	such  as  Secretarial,	Medical  Secretarial,
Business  Management, Computer Systems Management, Travel & Tourism Management
(my field), and Electronic Technology. The machines in our lab were old  8088s
that  were  not  networked  and had no hard drives; they all booted off of the
5.25 low density floppy a: drive. This is where the fun began.

     Out of the 28 class students, 5 (including myself _and_ the teacher)  had
previous  computer experience and 2 (excluding myself and the teacher) owned a
computer at home. When these 2	were  asked  how  much	they  knew  about  the
operations  of	their  machines  both  replied that they knew little. They had
bought "package deals" which had come complete with pre-loaded  software.  All
they knew was that they turned the power switch on and the thing worked.

     Neither  knew  how  to  actually  install	a  program or what a directory
listing looked like (in fact, they didn't even know what a directory was).  In
short, these people did not know a game port from an airport.

     The  teacher  was	ready to slap himself in the head as neither him nor I
had ever seen a room  full  of	so  many  people  who  knew  so  little  about
computers.  Being  a  cosysop  and  having experience with computer illiterate
newbies from my BBS dealings, I immediately identified	with  the  plight  the
teacher  was facing and offered any help I could give him. No matter what this
guy said to the other students and how he simplified things he might  as  well
have been speaking Greek to 90% of the class.

     At  the  end of the very first class nearly everyone's heads were visibly
spinning (I swear, some students actually appeared to stagger out of the class
disoriented  and  glassy-eyed)	and  about  all the teacher did was to go over
simple components (like disk drives,  CPUs,  peripherals,  etc.)  and  try  to
explain  what  an operating system (DOS) was and touch on some simple commands
(like DIR). The next time the class met, 4 people had dropped the  course  and
the  teacher  decided  to put off teaching DOS for the moment and try to teach
the integrated software instead as at  least  some  of	the  people  had  some
experience or base knowledge of one of the integrated programs.

     The next time the class met, the teacher gave everyone a DOS disk and had
everyone load it up. He then had everyone type the directory  listing  command
to  show  them	what  one  looked  like. Then he had us load in the integrated
software. He told everyone that in order to use the programs they  would  need
to load DOS first, then load the integrated software.

     For about 9 of the next 12 weeks, about half of the students continued to
take the teacher literally, thinking that they must not only load DOS but do a
DIR as well before they could insert and load the integrated software. About a
quarter of the remainder failed to grasp the concept  of  loading  DOS	before
attempting to load their other software and cries of "Mr. Sparks, what's wrong
with my machine?" were a regular event. By mid-term, the size of the class had
dwindled to 14 students.

     As  the weeks rolled by and I alternated between burning through my class
exercises and running around helping  the  teacher  deal  with	the  remaining
dunderheads  who couldn't understand why you can't insert letters in a numeric
data field, I came to the dawning realization that the more  the  world  turns
toward	computer technology, the deeper of a hole this country's work force is
going to be in. These students were all high school  graduates	and  all  from
fields	of  study that rely heavily on the daily use of computers in some way,
shape, or form and they were wallowing miserably in about the most  basic  and
simple computer class you could get. It was time for my head to spin now.

     Oh,  by  the way, we never did learn about DOS. It had taken everyone the
entire 12 weeks of the class (which met twice a week for sessions lasting  one
hour  and  fifty  minutes)  to get through their assignments on the four basic
integrated software programs and the teacher ran out of time. Two people  were
even  still  working  on old assignments the class before the final exam while
the teacher was giving a final review. For the last class,  9  people  (myself
included)  showed  up  to  take  the  final  exam.  Nine out of an original 28
students.

     In case you're wondering, everyone who took the final passed (it was joke
simple,  a  rehash  of	4  previous  assignments). Those who dropped the class
avoided nothing as it's a requisite, so they only delayed the  inevitable  and
passed	up  on	having	a  class with an incredibly easy-going and undemanding
teacher. I hope they all get into a class taught by a real stiffy.

     My whole point to this rambling is that it is very clear  (at  least,  to
me)  that  computer training must become a requisite course at the high school
level, if not earlier. Otherwise, I feel that the fiasco that I  witnessed  at
the collegiate level will become a more common and unfortunate occurrence.As I
alluded to before, I'm no computer genius and I got through  the  class  alive
and passed the final. To think that there are people who are fresh out of high
school (I've been out for nearly 15  years  now)  and  couldn't  cope  with  a
simpleton class is scary. Real scary.

    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД


ЪДДДДДДДДДДДДДДДДДДДДДДДДДї
і 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  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.



    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД


        In May, 1994, ex-IceNEWS Contributing Editor Louie gave us a piece
on organizing BBS get-togethers, which spawned dozens across the country:


ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Let's Get Together: Starting BBS Events і Louie (6@1)
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДД

     Summer  time is just around the corner. That means nice weather is almost
upon us. Time to start thinking of the summer's BBS Events. What's that?  Your
area doesn't have BBS gatherings? Well, that is a shame. BBSers should all get
together every now and again just so we remember we are all real people at the
other  end  of	the  modem  and  not  just  some weird Artificial Intelligence
Projects (or lack thereof).

			       GETTING TOGETHER

     In the 716 area code  where  I  am  from,	BBS  Events  are  a  long-held
tradition.  I  have been BBSing for five and one-half years now and within the
first few months of my being involved, I had gone to a Kingdom	of  Renjevyick
Picnic.  The Kingdom was a great board from WNY BBS history that now is a dead
phone line in the sky. But I remember all the folks I met at that  picnic.  It
was a great time for everybody.

     Other  picnics were held that year. I went to them all. I met lots of fun
people that year. Rebo, Perseus, Pillsbury Dough Boy, The Piper, Jammin'  Joe,
Pirate, Eh ???/Zenith, IBM Monk, Far Side, etc. etc. I met a lot of fun people
that summer. Some of them have become close friends, others became friends for
a  while  until  we drifted apart. Others I haven't seen since, but I remember
then with fondness.

     In 716 the picnics evolved away from one board events  into  Western  New
York  All BBS Events. We try to involve all boards in the area in the Picnics,
Wing Dings, and other events.

			   WHAT TO GET TOGETHER FOR

     Many types of events have occurred in Western New York. We have  had  our
Picnics, Pizza-Movie Events, Winterfests, THITs, Splatball, house parties, and
"Wing Dings" (our Crown Jewel of BBS events).

				  WING DINGS

     Wing Dings came about the year after I  first  got  involved  in  BBSing.
Buffalo is famous for Chicken Wings around the nation. Well, on the Kingdom of
Renjevyick and The Far Side (two boards both defunct now), a small band of  us
got  to  talking  about  who  could eat the most HOT Chicken Wings. All of us,
being the great HE-MEN we liked to think we were, started to brag about eating
hot wings. (I know, we seem to have been rather stupid. I don't deny it.)

     Well,  Perseus  got  to telling us all about some really really HOT wings
you could get at some local bar in Depew (a  small  village  just  outside  of
Buffalo).  We  all claimed we could eat 20 wings at this place Perseus told us
about. It was a small hole-in-the wall bar called "Sal's." Naturally,  Perseus
-  being the intelligent one among us (and having tried to eat a Sal's Wing in
the past) - dared us all to show up at Sal's and try eating one, let alone 20.

     Seven brave putzoids took the "Sal's Suicide Challenge," as it has  since
been  called.  The  brave  adventures  were : Perseus, Rebo, David C. (who has
since changed his handle to The Wizard), Gordon Sumner (who has since wandered
away from WNY BBSing), John Hardball, The Pillsbury Dough Boy, and myself.

     Due to a mix-up, only one of us got the "Suicidal" wings. That person was
myself (oh, lucky me). I managed to eat 8 of  those  Hellish  things.  I  have
never tried to eat another one since. I know when I have met my limits.

     It  was  a  fun  time  for  the  seven  of  us. We went back to PDB's and
goofed-off there for a couple of hours and then we  all  broke	up  again.  We
talked	about  the  "event  from  hell" on KOR and Far Side and others took an
interest in what we were talking about. They, like we had originally,  thought
there wasn't a hot chicken wing they could not master. Little did they know...

     We decided to hold a Second Wing Ding at Sal's. About 20-odd folks showed
up for Part Two. Among those that turned out for the second hellish experience
were  Kilometers,  The	Piper, Jammin' Joe, Zot, Swashbuckler, Eh ???, Pirate,
etc. etc., as well as the original seven of us.

     At this second Wing Ding Rebo managed to eat 20  of  the  hellish	wings.
And,  as Rebo later put it, he had trouble in the bathroom for a week. Rebo is
the only idiot to manage to eat 20 of the evil wings. (He can  be  reached  at
1@7660 in WWIVnet and 1@17660 in WWIVlink).

     At  Wing  Ding Three (the first Wing Ding to be called a Wing Ding), Csev
The Wanderer managed to eat 11. The top three folks at eating wings are  Rebo,
Csev,  and  myself. I titled the Wing Dings that myself. I said something like
"See you all at the Wing Ding later tonight," and the name of  the  event  was
born.

     Perseus  was  the	Wing  Ding  Czar for about three years. Perseus was in
charge of organization because it was his  original  idea.  I,	however,  have
since  inherited  the Czarship. I am about to hold my 5th Wing Ding myself. It
will be the 22nd Wing Ding in a long glorious history of WNY BBSing.

     Wing Dings are something we are very proud of, as	you  probably  already
guessed. These are sometimes other gatherings at local restaurant/bars. People
come out to eat dinner and spend the evening talking and meeting other BBSers.
For dinner we hype the Chicken Wings, but it is not a requirement.

				   PICNICS

     Picnics  are  nice events for summer weather. We normally get together at
Beaver Island State Park three or four times over the course of the summer. We
then regularly have one End of Summer Picnic at Chestnut Ridge Park.

     To  hold  a picnic you need a large park. Someplace everybody pretty much
knows exists and knows how to get to. Don't choose some small,  out-of-the-way
park  that  very  few  people  know about. The park should have picnic tables,
shelters, big open spaces, parking areas and bathrooms. Other secondary things
to  look  for  are  things like baseball/softball diamonds, basketball courts,
volleyball nets, and playground equipment for the tykes. Also, try to  pick  a
place  in  the	park  that is easy for people to find where everybody can meet
when they first get to the picnic.

     Remember the Bring-Your-Own-Stuff mentality. Make it plain  to  everybody
that  food  and  drink	is  not  being	provided by you when you advertise the
picnic. Sure, you are a nice person, but I am sure you can't provide hot  dogs
for  100+  folks.  Remember to bring a grill to cook on, too, since some parks
don't provide them.

     In Western New York, we have gotten turnout for picnics to  push  175-200
folks at times. We advertise the heck out our picnics.

			      MOVIE-PIZZA NIGHTS

     Movie-Pizza events are another thing we like to do around 716. In this we
pick a movie to see and a time to see it. Then we  choose  a  time  about  two
hours  before  the  movie starts to meet a local pizza Joint, normally a Pizza
Hut. We meet, eat, and chat at the restaurant, then go see the film of choice.
Sometimes,  we even keep things going afterward by maybe either heading off to
a bar or to somebody's house afterwards.

     These are good to do with a funny movie, sometime like "Wayne's World" or
"Naked  Gun"  type  films.  Don't  try  this  with "Schindler's List." This is
supposed to be a fun event and a serious or weighty movie  can	really	put  a
damper on the fun.

				    THITS

     A THIT (standing for "Thank Heavens It's Thursday) was an adult-type Wing
Ding  before there were Wing Dings. We have not had one in a long time	around
here.  Adult  themes may be something to stay away from anyway. BBSing already
gets a bad enough rap in the press with the "We're all Pirates and X-rated GIF
Makers"  guff  you see. Besides, there are usually many BBSers in an area that
are minors and would be unable to attend. One of the reasons that  Wing  Dings
and Picnics have been so popular is that they are open to all-ages.

				 WINTERFESTS

     Ok, I'm a dude from Buffalo, and in Buffalo some of the more insane among
us Picnic in  the  snow.  Every  year,	Chestnut  Ridge  Park  is  home  to  a
county-sponsored Winter Festival near the end of January. It's always very fun
to get together at Chestnut Ridge and have snowball fights, go	sledding,  and
play  football	on a snow covered field... and not just touch football either.
We play a full-scale tackle/kill-the-enemy-brand of football. These are  great
fun,  but  it's  impractical  to  try  to  organize  one  of these in Southern
California or Florida or anywhere else that snow doesn't fare well.

				HOUSE PARTIES

     House Parties can be pretty good fun. Around 716, the house party	expert
is  The  Piper	(16@7686).  House  parties do call for the host in question to
provide some supplies; like chips,  pop,  maybe  a  pizza  or  two.  It  isn't
uncalled  to  ask  the	quests	to  each  put  in a few bucks to pay the pizza
delivery person, though. You will probably want  to  keep  these  semi-private
affairs,  though.  Don't  advertise  on every BBS in your area "House Party at
Louie's". You don't want 100+ idiots showing up and burning the house  to  the
ground.  A  house party should be for the BBS Event "regulars" and others that
you are fairly-well acquainted with. Don't let just anybody  into  your  house
for a party that you don't know or haven't met before. Use simple common sense
on who you invite and don't tolerate "crashers" who may have found  out  about
your gathering through third-party word-of-mouth.

			    SPLATBALL (PAINTBALL)

     Splatball	was tried in WNY a few times. Rebo organized this three times.
It did involve collecting money up front, though. Also, one must pay  for  the
paintballs  that  they	shoot  over  the course of a session. Fees paid to the
facility usually only cover the field fee  and	the  rental  of  a  gun  (more
generous field owners may include one or two free tubes of paintballs with gun
rental). With prices ranging between $2.00 to $4.00 per tube of paintballs  (a
tube  contains	10  paintballs),  trigger-happy players can wind-up spending a
fair sum of money over the course of one session (a session  usually  consists
of  about  5  or  6 complete games, depending on the field). A session usually
lasts about three  hours  (depending  on  how  quickly	individual  games  are
completed).

     Splatball	is also dangerous (at least potentially) and you don't want to
be held liable by some insurance company because you let some real idiot  play
that  shouldn't  have  been allowed in. Deacon Blues used to play on a regular
basis for a couple of years and can tell several "war stories"  about  players
being injured on the field while involved in a game (including one incident in
which he was  involved).  Many	paintball  fields  also  have  a  minimum  age
restriction for players, so minors may or may not be allowed.

     Also, Splatball is a "dirty" game in that you are always either being hit
by paint or otherwise rubbing up against walls (when played indoors) that  are
splattered  with paint from stray shots. Splatball is also a game that usually
requires a fair amount of running. By the time that an evening's play is over,
participants  are  usually  too  sweaty  and  dirty  and  tired to do anything
afterward but go home and count the bruises.

		   WHAT TO CONSIDER BEFORE GETTING TOGETHER

     There are a few other things to consider about BBS Events before actually
getting one together.

     Advertising  was  something  I  brought  up  a  few times in passing. You
advertise a BBS Event by posting messages about it. In 716  we	have  the  716
General  Chat Subs in IceNET and WWIVnet as well as a few Event Planning Subs.
We post the messages about Wing Dings  and  picnics  on  these	subs.  I  also
normally  e-mail  a  copy  of  an add to each 716 IceNET, WWIVnet and WWIVLink
Sysop and ask him to tell his/her users about the event.

     You also should consider how many people you want to attend a  BBS  event
before	you start an advertising blitz. If you want over 100+ people to attend
(which a picnic could easily support) then it pretty much does not matter  how
much  you  advertise  it. You may not want more than 50 people for a Wing Ding
(or other restaurant or  bar-dependent	activity)  though.  In	that  case,  I
normally  only	advertise  on  IceNET and WWIVnet. We have other various small
networks around (QuadNet, DragonNET, MicroNet, etc.) and you will  reach  more
people	by  advertising  on  such  nets.  But  that means you will get largest
attendance as well.

     Sometimes you don't wish for a huge attendance. If you  think  that  this
sounds	contradictory  to  the very idea of getting together, let me relate to
you some of the problems that we have had with our Wing Dings.

     Two problems we ran into with Wing Dings had to do  with  money  and  the
place  we  hold  the event. We started out holding Wing Dings at Sal's, a very
small mom-and-pop-type bar with a capacity of  about  25  people.  After  word
spread	around	town  about the Wing Dings, attendance skyrocketed. We quickly
outgrew that small place. Sal's was good for an event that would get 25  folks
at the most. We have since gotten 125 at some Wing Dings recently. In the end,
Sal kicked us out because we simply over-ran his small establishment (and  put
a serious hurt on his very limited staff).

     We had to locate another place to hold the event. We did... but they only
let us stay for two gatherings. Some folks got a little rowdy and tossed  some
birthday  cake	around	and made a general nuisance of themselves. So, we were
tossed out of our second home.

     Since then we have been  asked  to  leave	about  five  places.  We  have
Hemingway's,  a  nice bar in downtown Buffalo that likes us now... but we will
probably only be there one or two times more. Trying to find a new  how  right
now.

     The  main problems we have had with restaurants are folks being rowdy and
the restaurant wanting us to have up-front money. Restaurants  want  up  front
money for some good reasons though. 1.) People sometimes stiff on bills from a
group of folks (another reason we were asked to leave one establishment).  2.)
People	from a group sometimes cause damage (as evidenced by the cake-throwing
incident). 3.) It is easier to get 300 bucks from the group and then put out a
buffet of 300 bucks worth of food.

     Up-front  money  is  a  bad  idea	normally.  Why?  Because  it can cause
problems. If you have to ask people to put in $4 before hand some complain  "I
only  ate  $3  worth  of  food	while  he  ate	$7  worth of food" and similar
complaints. It is also easier for people to manage their own bills. If you eat
$5 bucks worth of wings, then you pay for $5 bucks worth.

     Another  aspect of concern to the owners of the establishments we've held
Wing Dings at is the issue of under-age drinking. You can't have kids  showing
up  a  Wing  Ding (or picnic, or anything else, for that matter) and illegally
drinking. This issue also cost the Wing Dings a home when someone of legal age
bought	a  minor  a  drink  from  a  bar.  Due	to this (and even prior to the
instance) we (those of legal age) watch for this like  hawks  around  716  BBS
Events.  Some of us take a look every now and again at what folks are drinking
if they are young. It might not  be  something	you  want  to  do  but	it  is
something  you	have to look out for. If some kid gets arrested for DWI on the
way home from a BBS Event... the  police  and  the  parents  might  have  some
questions to ask the Organizers and the Sysops.

			    WHAT TO DO AT AN EVENT

     Other  little  things  we do... We have a sign in sheet where people sign
their handles to a sheet so we know how many showed up. That is how we know we
had 175+ for some picnics and a 125+ for some Wing Dings.

     I	normally  go around trying to meet everybody as well. Some people just
want to talk to a few people they already know. Others, like me, try to get to
know  and  exchange  a few words with everybody. Remember, the idea is to meet
people. The saying we have for our events is "Come  out  and  meet  the  faces
behind the handles," and that's what everyone should try to do.

				  CONCLUSION

     Well,  that  is  all  I  can think of to say about Western New York's BBS
events. We are going to have a lot of them this  summer.  I  hope  some  other
parts  of  the	country also have BBS Events. One of the ideas of BBSing is to
meet more people. Local, regional, and national BBS Events can go a  long  way
in helping to do that. They are great fun. Who knows, WWIVCon '94 may just end
up being one huge BBS Event from Hell. Lets hope so.


    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД


	In June, we had a story about operating a BBS in a school environment:


ЪДДДДДДДДДДДДДДДДДДДДДї
і 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!

    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД


        Also from May, 1994, Louie gave us the beginning of a four part
series on Artificial Intelligence:


ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Artificial Intelligence - Part 1 і Louie (6@1)
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДД

     Artificial  Intelligence is a growing field within the computer sciences.
It encompasses many hopes and dreams of what computer technology has to  offer
the  world. It also encompasses many fears of what computers and robotics will
do to the world.

     But what is AI? That is a very difficult question to answer. It  involves
answering  some  other  questions  that we really cannot answer yet. Questions
like:

     1) What is Intelligence?

     2) Can a machine think?

     3) If so, can it think like a human being or will the thinking process
        involved be fundamentally different.

     4) What will it do for, or maybe to, human beings.

     Lots of other questions I could think up as well if I wanted to sit  here
and  think  about  it  for  a  little  while.  Most  of  these  questions  are
unanswerable in any definitive way. First, nobody is  sure  what  intelligence
is.  Does  a machine that looks like it is intelligent really qualify as being
intelligent, or is it just obeying simple commands and doing a good  imitation
of intelligence? See what I mean?

     The  father  of  Computer  Science  and  Artificial Intelligence was Alan
Turing. He  was  a  brilliant  and  innovative  mathematician.  He  helped  in
designing  one  of  the first computers ever to be built. He wrote many papers
that are still used for the ideas he expressed in them. Turing said "A machine
has  artificial  intelligence  when there is no discernible difference between
the conversation generated by the machine and that of an intelligent person."

     This has been used as the practical definition of AI by  many  since  the
time  Turing  first expressed this thought in 1950. Why? Couldn't it just be a
good imitation? Yes, it could be just an imitation of true  intelligence;  but
how  do  you know that the people around you that you consider intelligent are
not just real good imitations? There is probably  no  final  word  on  whether
something or somebody is intelligent or not. So, you've a practical definition
in absence of an absolute.

     The test that is implicit in Turing's definition is  called  the  "Turing
Test"  in his honor. So far, no computer or electronic machine has ever passed
the Turing Test. There have been some very good imitations  so  far,  but  all
have  had  limits on them that make it apparent. After some observation of the
output for some time, it becomes a rather simple task to figure out that it is
a computer. Some take longer than others, but all have failed in the end.

     Mankind  has  always  dreamed of Artificial Intelligence, even before the
term to express the dream had been invented. Greek mythos had  Hephaestus  who
fashioned  human-like  figures  regularly  in  his  forge.  Aphrodite  brought
Galactea - a man-made woman, to life.

     Medieval Christians had the legend of Pope Sylvester II, who was credited
with  building  a  talking  head  that  answered  questions  about the future.
Medieval European Jews had Rabbi Judah ben Loew who created the Golem  out  of
clay.  The Jewish legend ends, however, with the Golem having to be dismantled
because it got out of control. This may be the first instance  of  "Technology
is  bad"  or  "Man  was  not  meant to know certain things" ideas. Author Mary
Shelley  took  large  parts  of  the  Rabbi  ben  Loew  myth  for  her   novel
"Frankenstein," first published in 1818.

     The  20th Century saw the rise of science fiction as a legitimate form of
literature. With it, came Isaac Asimov and his "Three Laws of Robotics".  This
was  a  practical  approach  to robots (Which are just computers that can walk
around, aren't they? C3PO from "Star Wars" and Data from "Star Trek: The  Next
Generation"  are  examples  of  robots as I am thinking of them here. I am not
thinking of those industrial machines that move around a little.)

    The three laws of robotics are:

First Law:  A robot may not injure a human being, or, through inaction allow
            a human being to come to harm.

Second Law: A robot must obey the orders given to it by a human being except
            where such orders would conflict with the First Law.

Third Law:  A robot must protect its own existence as long as such protection
            does not conflict with the First or Second Law.

(Note: Isaac Asimov always gave credit for the Three Laws to John W. Campbell,
       Jr.  But Campbell always said they were Asimov's. Asimov ended up with
       the copyright so he gets the credit. Besides, the laws were used in
       stories written by Isaac Asimov.

     Asimov's approach to computers and robotics involved built-in  safeguards
to  protect  human  beings  from their own creations accidentally causing them
harm. This is the opposite of the basic moral of Frankenstein or the Rabbi ben
Loew  legend.  Intelligent computers won't be able to harm humans because they
will be sophisticated enough to allow for built-in safeguards. This  does  not
mean  one  couldn't  build them without built-in safeguards, but why would any
person take a chance like that? Only terrorists and madmen would even  attempt
it, in my opinion. Militaries might narrow down the basic definition, but even
they will leave safeguards in for most practical matters. Nobody  wants  their
own machine turning on them when it can be avoided.

     So,  I  am against the Doomsday Sayers as to what Artificial Intelligence
will bring. Computers will not be turning on their masters.  Not  without  the
masters screwing up big time first, anyway.

     Probably  the  two most important names in AI other than Turing are those
of John McCarthy and Marvin Minsky. McCarthy  is  the  inventor  of  the  LISP
programming   language.   Minsky  has  done  much  work  on  organization  and
representation of knowledge.

     LISP is the big-name programming language in the AI  field.  Of  the  100
most   important  artificial  intelligence  research  programs  ever  written,
probably 95 of them were written in LISP.  The  others  were  probably  either
written  before  LISP came around in 1958, or were written in Prolog, a recent
language to come around and still not widely used in the United States.

     LISP stands for LISt Processing. It is  an  interpreted  language,  which
means  each program statement isn't looked at seriously until run-time. To use
LISP you have to think recursively. A recursive function  includes  itself  as
part  of its own definition. A LISP sees no difference between the program and
the data being acted upon.

     Prolog, though, (a recent newcomer to the field of AI relative to  LISP),
has  gained  a small following now. Prolog stands for PROgramming in LOGic. It
uses predicate calculus  techniques  in  attempting  to  prove  the  truth  of
propositions from a set of axioms.

     Neither  LISP  or  Prolog  is  much like the normal programming languages
BBSers would know - like C, Pascal, Basic, Fortran, COBOL, etc.  Neither  LISP
nor Prolog is a structured programming language.

     The  most  famous  program Artificial Intelligence has given the world is
ELIZA. ELIZA was developed by Joseph Weizebaum in the mid-1960's at MIT. ELIZA
simulates a Rogerian therapist; you can conduct a conversation with ELIZA just
as you might with a psychiatrist. ELIZA was  a  first  attempt  to  see  if  a
computer  could  pass the Turing Test. ELIZA used basic trickery in an attempt
to appear human. It would look for key words  in  the  conversation  and  turn
around statements made by you into questions.

     Here  is an example of a conversation of an ELIZA with a person. (CAPS is
ELIZA)

HOW ARE YOU TODAY?

Fine.  Men are all alike.

IN WHAT WAY?

They're always bugging us about something or other.

CAN YOU THINK OF A SPECIFIC EXAMPLE?

Well, my boyfriend made me come here.

YOUR BOYFRIEND MADE YOU COME HERE?

He says I'm depressed most of the time.

I'M SORRY TO HEAR YOU ARE DEPRESSED.

It's true.  I am unhappy.

DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY?

I need some help, that much seems certain.

WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP?

    See how impressive that ELIZA program can be.  It looks almost intelligent
at first glance.  But when you  look at it you  can see it  just latched on to
what the  person interfacing with it  said  and  turned the  input around into
questions  most  of  the  time.  ELIZA  would  also  look  for  keywords  like
"boyfriend," "mother," "father," and "death," etc. etc. If the  program  would
be giving intelligent responses it couldn't really turn input around. It would
understand what the person typing with it meant  when  she  said  it  was  her
boyfriend  who made her talk to ELIZA and wouldn't ask a generic question like
"YOUR BOYFRIEND MADE YOU COME HERE?"

     ELIZA did not demonstrate real understanding or intelligence.  It  was  a
very  good  first attempt to try and pass the Turing Test and is still studied
today because it is easy to draw up a simple ELIZA program and play  with  it.
When  I was in my second year College LISP class, it was the first programming
project assigned to us. We had to design an ELIZA of  our  own.  Now,  what  I
wrote  was  functionally stupid but it was a fun project and many of the basic
concepts of AI (if not all of them) are part of it.

     The major areas Artificial Intelligence research has divided itself  into
are: Expert Systems, Natural Language Processing, Symbolic Processing, Problem
Solving (Mathematical proof solving), Pattern Recognition,  Robotics,  Machine
Learning, and Appearing Human.

     In  the  second installment of this series, I will try to provide a rough
overview of each of these areas.


                                 BIBLIOGRAPHY

    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.

    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД



	IceNEWS has always provided usefull techinical articles and comparisons.
In addition to software reviews and tutorials, we've run pieces like Papa
Bear's August 1994 comparison of Archival software. The results may surprise
you:


ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Archivers... Which One Is Best? і Papa Bear (1@5079)
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДД

     Archivers...  They're an essential part of BBSing today. No BBS I've ever
visited  can  get  along without archives.  Mostly,  they're used for the file
transfer  section. But they can also be  used for many other applications such
as backing-up the BBS's files, preserving disk space for seldom used programs,
and more.

     Every so often, a heated debate will flare up in BBS-land about which one
is  *BEST*. Well, I'm here to help you decide for yourself which would be best
suited	for  you. I have done some tests  --  and the results will most likely
surprise  you.	I'll  also  offer  some  opinions  that  reflect  some  of the
intangible aspects of these programs.

     I	tested	using the newest version of  each program that I could find. I
also  used maximum compression on all of the programs that had such a setting.
(Speed is hardly a consideration anymore, except in one case, and we'll get to
that later)

     Lets get to it. I tested 9 programs, and here they are, using the format:
{(Chart identifier)} {Arc. name} {Version} {(Extension)} {Developer}

(!) ARC 		6.00   (.ARC)  System Enhancement Associates
(@) ARJ 		2.41a  (.ARJ)  Robert K Jung
(#) HAP&PAH		3.00   (.HAP)  Hamarsoft - Harald Feldmann
($) LHA 		2.55b  (.LZH)  Haruyasu Yoshizaki
(%) PAK 		2.10   (.PAK)  NoGate Consulting
(^) Squeeze It		1.08.3 (.SQZ)  J I Hammarberg
(&) UltraCompressor II	1.0{?} (.UC2)  Ad Infinitum Programs
(*) PKZIP		2.04g  (.ZIP)  PKWARE, Inc.
(-) Zoo 		2.1    (.ZOO)  Rahul Dhesi

[The ? for the version number for UC2 is because I couldn't find one]

     The  testing  took  place on 5  different	kinds of archives, as follows:
{[Chart identifier]} {No. files in arc.} - {total uncompresses size}

[1] 97 text files		       - 1,500,562 bytes
[2] 26 data files		       - 1,427,548 bytes
[3] 1 BIG text file		       - 1,678,337 bytes
[4] 1 BIG data file		       - 1,410,992 bytes
[5] Mixed data and text, various sizes - 1,637,404 bytes

     Here  is  the chart of how the  testing went. Each entry has two numbers.
The  first  number is the size of the  final archive for each type of data. In
this case, smaller is better.

     The  second  number is the percentage of  compression, if it says 25% and
the  original  file size was 100,000 bytes,  then the final file size would be
75,000 bytes. So here, the larger the number, the better.

	    і  [1]    і     [2]    і	[3]    і    [4]   і    [5]  і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (!)і764269   і  1221626   і  633295   і  870588  і 1350310 і
	    і 49.0%   і    14.4%   і   60.4%   і   38.2%  і   17.5% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (@)і624257   і  1018320   і  425697   і  588143  і 1113209 і
	    і 58.4%   і    28.6%   і   74.6%   і   58.3%  і   32.0% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (#)і521363   і  1036803   і  371865   і  590311  і 1125593 і
	    і 65.2%   і    27.3%   і   77.8%   і   58.1%  і   31.2% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 ($)і630642   і  1029630   і  444987   і  604625  і 1125312 і
	    і 57.9%   і    57.8%   і   73.4%   і   57.1%  і   31.2% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (%)і653009   і  1060599   і  477287   і  636336  і 1164962 і
	    і 56.4%   і    25.7%   і   71.5%   і   54.9%  і   28.8% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (^)і619371   і  1016825   і  425373   і  585386  і 1110656 і
	    і 58.7%   і    28.7%   і   74.6%   і   58.5%  і   32.1% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (&)і546616   і  1006922   і  419000   і  577086  і 1077628 і
	    і 63.5%   і    29.4%   і   75.0%   і   59.1%  і   34.1% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (*)і623741   і  1017266   і  418665   і  583832  і 1113326 і
	    і 58.4%   і    28.7%   і   75.0%   і   58.6%  і   32.0% і
	 НННШНННННННННШННННННННННННШНННННННННННШННННННННННШНННННННННµ
	 (-)і631148   і  1030693   і  445118   і  604762  і 1127622 і
	    і 57.9%   і    27.7%   і   73.4%   і   57.1%  і   31.1% і
	 НННПНННННННННПННННННННННННПНННННННННННПННННННННННПНННННННННѕ

     Now,  in  order  to  keep you from  having  to  bang your head over these
numbers, I have come up with a way to determine a clear "winner". I assigned 8
points	to the program that compressed the most,  7 for the one that was next,
and  so on until the program that compressed  the least -- which got 0 points.
Since  there are 5 categories, a perfect score would be 8*5 or 40 points. Here
are those results. Hold on to your hats! Chances are your program didn't win!

1st - 37 points: UltraCompressor II 1.0       6th - 17 points: LHA 2.55b
2nd - 31 points: Squeeze It 1.08.3	      7th - 11 points: Zoo 2.1
3rd - 30 points: PKZIP 2.04g		      8th - 5 points : Pak 2.10
4th - 25 points: HAP&PAH 3.00		      9th - 0 points : ARC 6.00
5th - 24 points: ARJ 2.41a

     Yep,  you got it, the UC2 format is  clearly the best in terms of overall
compression.  But  normal archives normally do	not  include just data or text
files, but a mixture of files. So the last column in the chart is actually the
most  telling for a BBS sysop. If you  were to consider that only, the ranking
falls slightly differently, as follows:

1st - UltraCompressor II 1.0		      6th - HAP&PAH 3.00
2nd - Squeeze It 1.08.3 		      7th - Zoo 2.1
3rd - ARJ 2.41a 			      8th - Pak 2.10
4th - PKZIP 2.04g			      9th - ARC 6.00
5th - LHA 2.55b

     Like I said, surprising, no?

     Now  for  some  personal "awards" -- these  are  based on things that the
archiver does, or has to offer, that do not affect its compression:

Most configurable    - ARJ 2.41a
Fastest 	     - UltraCompressor II 1.00 [by far!]
Easiest to configure - UltraCompressor II 1.00
"Prettiest"          - UltraCompressor II 1.00
Slowest 	     - HAP&PAH 3.00  [I almost fell asleep waiting on this]
Least configurable   - Zoo 2.1
Least Flexible	     - Zoo 2.1
Most confusing	     - ARJ 2.41a [can be overwhelming in its configurability]
Most online help     - UltraCompressor II 1.00
Most popular	     - PKZIP 2.04g [shame, too, there are better...]

     As  an aside... I just got UC2 *last  night*. I had heard of it via SHEZ,
but  didn't  know  what  it was. If  that  program  is any indication of where
archivers  are headed, then the future looks  especially bright. It truly is a
great little program. Too bad no one really uses it...

     I	used SHEZ 10.0 to handle all of these conversions. I think SHEZ is one
of  the  best  compression  shells around. For	the  record,  I  had to do ARC
manually because it kept bombing out under SHEZ.

     UC2,  HAP&PAH, and Squeeze It all did things okay, until they reached the
archives  with	large numbers of files in  the archive. At that point they all
caused	SHEZ to simply quit. I simply reloaded SHEZ and picked up where I left
off.

     Well  that  is  it.  I hope you  got  something  from  this. All of these
programs  (and more!) are available here *shameless plug time* at 510-522-3583
(ASV). I appreciate any comments that you may have on this matter.

    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД

        In October, we ran a more technical article on programming the
Sound Blaster card, as well as several reviews of newly released software:

  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
  і Tips on Sound Blaster Programming і Odieman 949@2132 WWIVnet
  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДД


				 Introduction

     Two of the most popular sound cards for the IBM-PC, the AdLib and the
Sound Blaster, suffer from a real dearth of clear documentation for programmers.
AdLib Inc. and Creative Labs, Inc. both sell developers kits for their sound
cards, but these are expensive, and (in the case of the Sound Blaster
developers' kit) can be extremely cryptic. This article is intended to provide
programmers with a source of information about the programming of these sound
cards. The information contained in this article is a combination of
information found in the Sound Blaster Software Developer's Kit, and that
learned by painful experience.	Some of the information may not be valid for
AdLib cards; if this is so, I apologize in advance.

     Please note that numbers will be given in hexadecimal, unless otherwise
indicated.  If a number is written out longhand (sixteen instead of 16)
it is in decimal.

				Sound Card I/O

     The sound card is programmed by sending data to its internal registers
via its two I/O ports:

	     0388 (hex) - Address/Status port  (R/W)
	     0389 (hex) - Data port	       (W/O)

     The Sound Blaster Pro is capable of stereo FM music, which is accessed
in exactly the same manner.  Ports 0220 and 0221 (hex) are the address/data
ports for the left speaker, and ports 0222 and 0223 (hex) are the ports for
the right speaker.  Ports 0388 and 0389 (hex) will cause both speakers to
output sound.

     The sound card possesses an array of two hundred forty-four registers;
to write to a particular register, send the register number (01-F5) to the
address port, and the desired value to the data port. After writing to the
register port, you must wait twelve cycles before sending the data; after
writing the data, eighty-four cycles must elapse before any other sound card
operation may be performed.

     The AdLib manual gives the wait times in microseconds: three point three
(3.3) microseconds for the address, and twenty-three (23) microseconds for the
data.

     The most accurate method of producing the delay is to read the register
port six times after writing to the register port, and read the register
port thirty-five times after writing to the data port.

     The sound card registers are write-only.

     The address port also functions as a sound card status byte.  To
retrieve the sound card's status, simply read port 388.  The status
byte has the following structure:

	      7      6	    5	   4	  3	 2	1      0
	  +------+------+------+------+------+------+------+------+
	  | both | tmr	| tmr  |	      unused		  |
	  | tmrs |  1	|  2   |				  |
	  +------+------+------+------+------+------+------+------+

	  Bit 7 - set if either timer has expired.
	      6 - set if timer 1 has expired.
	      5 - set if timer 2 has expired.

				The Registers

     The following table shows the function of each register in the sound
card.  Registers will be explained in detail after the table.  Registers
not listed are unused.

   Address	Function
   -------	----------------------------------------------------
     01 	Test LSI / Enable waveform control
     02 	Timer 1 data
     03 	Timer 2 data
     04 	Timer control flags
     08 	Speech synthesis mode / Keyboard split note select
   20..35	Amp Mod / Vibrato / EG type / Key Scaling / Multiple
   40..55	Key scaling level / Operator output level
   60..75	Attack Rate / Decay Rate
   80..95	Sustain Level / Release Rate
   A0..A8	Frequency (low 8 bits)
   B0..B8	Key On / Octave / Frequency (high 2 bits)
     BD 	AM depth / Vibrato depth / Rhythm control
   C0..C8	Feedback strength / Connection type
   E0..F5	Wave Select

     The groupings of twenty-two registers (20-35, 40-55, etc.) have an odd
order due to the use of two operators for each FM voice.  The following
table shows the offsets within each group of registers for each operator.

   Channel	  1   2   3   4   5   6   7   8   9
   Operator 1	 00  01  02  08  09  0A  10  11  12
   Operator 2	 03  04  05  0B  0C  0D  13  14  15

     Thus, the addresses of the attack/decay bytes for channel 3 are 62 for
the first operator, and 65 for the second.  (The address of the second
operator is always the address of the first operator plus three).

		       Explanations of Registers

Byte 01 - This byte is normally used to test the LSI device.  All bits
	  should normally be zero.  Bit 5, if enabled, allows the FM
	  chips to control the waveform of each operator.

	     7	   6	 5     4     3	   2	 1     0
	  +-----+-----+-----+-----+-----+-----+-----+-----+
	  |   unused  | WS  |		 unused 	  |
	  +-----+-----+-----+-----+-----+-----+-----+-----+

Byte 02 - Timer 1 Data.  If Timer 1 is enabled, the value in this
	  register will be incremented until it overflows.  Upon
	  overflow, the sound card will signal a TIMER interrupt
	  (INT 08) and set bits 7 and 6 in its status byte.  The
	  value for this timer is incremented every eighty (80)
	  microseconds.

Byte 03 - Timer 2 Data.  If Timer 2 is enabled, the value in this
	  register will be incremented until it overflows.  Upon
	  overflow, the sound card will signal a TIMER interrupt
	  (INT 08) and set bits 7 and 5 in its status byte.  The
	  value for this timer is incremented every three hundred
	  twenty (320) microseconds.

Byte 04 - Timer Control Byte

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | IRQ | T1  | T2  |     unused	 | T2  | T1  |
     | RST | MSK | MSK |		 | CTL | CTL |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bit 7 - Resets the flags for timers 1 & 2.  If set,
		  all other bits are ignored.
	  bit 6 - Masks Timer 1.  If set, bit 0 is ignored.
	  bit 5 - Masks Timer 2.  If set, bit 1 is ignored.
	  bit 1 - When clear, Timer 2 does not operate.
		  When set, the value from byte 03 is loaded into
		  Timer 2, and incrementation begins.
	  bit 0 - When clear, Timer 1 does not operate.
		  When set, the value from byte 02 is loaded into
		  Timer 1, and incrementation begins.

Bytes 40-55 - Level Key Scaling / Total Level

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |	Scaling  |	       Total Level	     |
     |	 Level	 | 24	 12	6     3    1.5	 .75 | <-- dB
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bits 7-6 - causes output levels to decrease as the frequency
		     rises:

			  00   -  no change
			  10   -  1.5 dB/8ve
			  01   -  3 dB/8ve
			  11   -  6 dB/8ve

	  bits 5-0 - controls the total output level of the operator.
		     all bits CLEAR is loudest; all bits SET is the
		     softest.  Don't ask me why.

Bytes 60-75 - Attack Rate / Decay Rate

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |	       Attack	     |		Decay	     |
     |		Rate	     |		Rate	     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bits 7-4 - Attack rate.  0 is the slowest, F is the fastest.
	  bits 3-0 - Decay rate.  0 is the slowest, F is the fastest.

Bytes 80-95 - Sustain Level / Release Rate

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |	   Sustain Level     |	       Release	     |
     | 24    12     6	  3  |		Rate	     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bits 7-4 - Sustain Level.  0 is the loudest, F is the softest.
	  bits 3-0 - Release Rate.  0 is the slowest, F is the fastest.

Bytes A0-B8 - Octave / F-Number / Key-On

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |	      F-Number (least significant byte)      |	(A0-A8)
     |						     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |	Unused	 | Key |    Octave	 | F-Number  |	(B0-B8)
     |		 | On  |		 | most sig. |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bit	5  - Channel is voiced when set, silent when clear.
	  bits 4-2 - Octave (0-7).  0 is lowest, 7 is highest.
	  bits 1-0 - Most significant bits of F-number.

     In octave 4, the F-number values for the chromatic scale and their
     corresponding frequencies would be:

	F Number     Frequency	   Note
	   16B		277.2	    C#
	   181		293.7	    D
	   198		311.1	    D#
	   1B0		329.6	    E
	   1CA		349.2	    F
	   1E5		370.0	    F#
	   202		392.0	    G
	   220		415.3	    G#
	   241		440.0	    A
	   263		466.2	    A#
	   287		493.9	    B
	   2AE		523.3	    C

Bytes C0-C8 - Feedback / Algorithm

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |	       unused	     |	  Feedback     | Alg |
     |			     |		       |     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bits 3-1 - Feedback strength.  If all three bits are set to
		     zero, no feedback is present.  With values 1-7,
		     operator 1 will send a portion of its output back
		     into itself.  1 is the least amount of feedback,
		     7 is the most.
	  bit 0    - If set to 0, operator 1 modulates operator 2.  In this
		     case, operator 2 is the only one producing sound.
		     If set to 1, both operators produce sound directly.
		     Complex sounds are more easily created if the algorithm
		     is set to 0.

Byte BD - Amplitude Modulation Depth / Vibrato Depth / Rhythm

To further illustrate the relationship, the addresses needed to control
channel 5 are:

    29 - Operator 1  AM/VIB/EG/KSR/Multiplier
    2C - Operator 2  AM/VIB/EG/KSR/Multiplier
    49 - Operator 1  KSL/Output Level
    4C - Operator 2  KSL/Output Level
    69 - Operator 1  Attack/Decay
    6C - Operator 2  Attack/Decay
    89 - Operator 1  Sustain/Release
    8C - Operator 2  Sustain/Release
    A4 -	     Frequency (low 8 bits)
    B4 -	     Key On/Octave/Frequency (high 2 bits)
    C4 -	     Feedback/Connection Type
    E9 - Operator 1  Waveform
    EC - Operator 2  Waveform

Byte 08 - CSM Mode / Keyboard Split.

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | CSM | Key |		unused		     |
     | sel | Spl |				     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bit 7 - When set, selects composite sine-wave speech synthesis
		  mode (all KEY-ON bits must be clear).  When clear,
		  selects FM music mode.

	  bit 6 - Selects the keyboard split point (in conjunction with
		  the F-Number data).  The documentation in the Sound
		  Blaster manual is utterly incomprehensible on this;
		  I can't reproduce it without violating their copyright.

Bytes 20-35 - Amplitude Modulation / Vibrato / Envelope Generator Type /
	      Keyboard Scaling Rate / Modulator Frequency Multiple

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | Amp | Vib | EG  | KSR |	Modulator Frequency  |
     | Mod |	 | Typ |     |	     Multiple	     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bit 7 - Apply amplitude modulation when set; AM depth is
		  controlled by the AM-Depth flag in address BD.

	  bit 6 - Apply vibrato when set;  vibrato depth is controlled
		  by the Vib-Depth flag in address BD.

	  bit 5 - When set, the sustain level of the voice is maintained
		  until released; when clear, the sound begins to decay
		  immediately after hitting the SUSTAIN phase.

	  bit 4 - Keyboard scaling rate.  This is another incomprehensible
		  bit in the Sound Blaster manual.  From experience, if
		  this bit is set, the sound's envelope is foreshortened as
		  it rises in pitch.

	  bits 3-0 - These bits indicate which harmonic the operator will
		  produce sound (or modulation) in relation to the voice's
		  specified frequency:

		      0 - one octave below
		      1 - at the voice's specified frequency
		      2 - one octave above
		      3 - an octave and a fifth above
		      4 - two octaves above
		      5 - two octaves and a major third above
		      6 - two octaves and a fifth above
		      7 - two octaves and a minor seventh above
		      8 - three octaves above
		      9 - three octaves and a major second above
		      A - three octaves and a major third above
		      B -  "       "     "  "   "     "     "
		      C - three octaves and a fifth above
		      D -   "      "     "  "   "     "
		      E - three octaves and a major seventh above
		      F -   "      "     "  "   "      "      "

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     | AM  | Vib | Rhy | BD  | SD  | TOM | Top | HH  |
     | Dep | Dep | Ena |     |	   |	 | Cym |     |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bit 7 - Set:	  AM depth is 4.8dB
		  Clear:  AM depth is 1 dB
	  bit 6 - Set:	  Vibrato depth is 14 cent
		  Clear:  Vibrato depth is 7 cent
	  bit 5 - Set:	  Rhythm enabled  (6 melodic voices)
		  Clear:  Rhythm disabled (9 melodic voices)
	  bit 4 - Bass drum on/off
	  bit 3 - Snare drum on/off
	  bit 2 - Tom tom on/off
	  bit 1 - Cymbal on/off
	  bit 0 - Hi Hat on/off

	  Note:  KEY-ON registers for channels 06, 07, and 08 must be OFF
		 in order to use the rhythm section.  Other parameters
		 such as attack/decay/sustain/release must also be set
		 appropriately.

Bytes E0-F5 - Waveform Select

	7     6     5	  4	3     2     1	  0
     +-----+-----+-----+-----+-----+-----+-----+-----+
     |		     unused		 |  Waveform |
     |					 |  Select   |
     +-----+-----+-----+-----+-----+-----+-----+-----+

	  bits 1-0 - When bit 5 of address 01 is set, the output waveform
		     will be distorted according to the waveform indicated
		     by these two bits.  I'll try to diagram them here,
		     but this medium is fairly restrictive.

	 ___		  ___		 ___	___	  _	 _
	/   \		 /   \		/   \  /   \	 / |	/ |
       /_____\_______	/_____\_____   /_____\/_____\	/__|___/__|___
	      \     /
	       \___/

	    00		    01		     10 	      11

			   Detecting a Sound Card

     According to the AdLib manual, the 'official' method of checking for a
     sound card is as follows:

	1)  Reset both timers by writing 60h to register 4.
	2)  Enable the interrupts by writing 80h to register 4.  NOTE: this
	    must be a separate step from number 1.
	3)  Read the status register (port 388h).  Store the result.
	4)  Write FFh to register 2 (Timer 1).
	5)  Start timer 1 by writing 21h to register 4.
	6)  Delay for at least 80 microseconds.
	7)  Read the status register (port 388h).  Store the result.
	8)  Reset both timers and interrupts (see steps 1 and 2).
	9)  Test the stored results of steps 3 and 7 by ANDing them
	    with E0h.  The result of step 3 should be 00h, and the
	    result of step 7 should be C0h.  If both are correct, an
	    AdLib-compatible board is installed in the computer.

			       Making a Sound

     Many people have asked me, what the proper register values should be
to make a simple sound.  Well, here they are.

     First, clear out all of the registers by setting all of them to zero.
This is the quick-and-dirty method of resetting the sound card, but it
works.	Note that if you wish to use different waveforms, you must then
turn on bit 5 of register 1.  (This reset need be done only once, at the
start of the program, and optionally when the program exits, just to
make sure that your program doesn't leave any notes on when it exits.)

     Now, set the following registers to the indicated value:

       REGISTER     VALUE     DESCRIPTION
	  20	      01      Set the modulator's multiple to 1
	  40	      10      Set the modulator's level to about 40 dB
	  60	      F0      Modulator attack:  quick;   decay:   long
	  80	      77      Modulator sustain: medium;  release: medium
	  A0	      98      Set voice frequency's LSB (it'll be a D#)
	  23	      01      Set the carrier's multiple to 1
	  43	      00      Set the carrier to maximum volume (about 47 dB)
	  63	      F0      Carrier attack:  quick;	decay:	 long
	  83	      77      Carrier sustain: medium;	release: medium
	  B0	      31      Turn the voice on; set the octave and freq MSB

     To turn the voice off, set register B0h to 11h (or, in fact, any value
which leaves bit 5 clear).  It's generally preferable, of course, to
induce a delay before doing so.

        
    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД


        From our first issue under "new" management, back in December 1993,
here's IceNEWS Editor-In-Chief Emeritus Deacon Blues on some of those sysops
you just don't want to deal with...

ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і SysGods: Sysops with an attitude і Deacon Blues 2@7653
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДД
     or "I Did It MY Way"

	       "You ask me if I have a God complex. I AM God."
	    - Alec Baldwin in commercials for the film "Malice" -

     We've  all  heard the horror stories.  Accounts  deleted for "no reason."
Mail  from users being routinely ignored or just plain "zapped" without reply.
New  user  accounts remaining unvalidated  for weeks, sometimes months. Sudden
loss  of carrier from the BBS, then a busy signal when redialing is attempted.
Seventy-five  line  posts from the #1 account  on  a daily basis explaining in
excruciatingly	exact  detail  just why he/she	holds  the #1 account and what
he/she	can do to those who dare to oppose. I am, of course, talking about the
sysop.	More  precisely,  the  sysop  with  an	attitude.  If  you continually
experience  any or all of the potential  symptoms I've outlined above, you may
have found yourself a sysop with a "SysGod" complex.

     The  SysGod  complex  can best be described  as  a habitual misuse of the
powers	vested in being a sysop for  reasons of pleasure or personal gain. The
complex  causes  the sysop to act in  a manner that would suggest delusions of
godhood  and  a semi-divine detachment, thus  alienating  his/her users to the
point  of them no longer calling the BBS.  The complex can be broken down into
two categories: "Demi-SysGod Syndrome" [DSS] and "Holy SysGod Syndrome" [HSS].

     Believe  it  or not, in most cases  of  DSS, the afflicted sysops usually
started  their BBS with all the best of  intentions, and in most cases used to
be  a  "regular"  user prior to  becoming  a sysop. But, apparently, somewhere
along  the  way something happens to them.  Maybe it's the fact that running a
BBS  is  more of a task than  they  thought it was. Maybe they're experiencing
personal  problems.  Maybe their pet goldfish  died.  Somewhere down the line,
they  experience  a "break" in their attitude as  a sysop. A kind of a digital
"Falling  Down,"  if  you  will,  where they  start  to  vent  their anger and
frustrations  out  onto their users. When  detected early, most of these cases
manage	to  correct  themselves  in a  relatively  short  time and with little
lasting  repercussions to their users. Once a sense of normalcy returns to the
sysop's life, so too does it to the BBS in most cases.

     HSS sufferers, on the other hand, while also usually being users prior to
becoming  sysops,  also  generally  suffer  from  other  outside, pre-existing
personality  disorders.  As  regular  users  (and  I  use  the	term "regular"
loosely),  they often acted in "irregular" manners that most would describe as
being  combative,  disrespectful, disagreeable,  belligerent, and/or offensive
toward	others.  Typically, they are the type  of user who feels that they are
"God's  gift  to  BBSs" or a form of  "Modem  Messiah" and anyone else who has
differing  ideas  or ideals is irrelevant  and only there for his/her personal
amusement.  They  are  usually	shallow,  close-minded	individuals  who quite
probably  used	to be (or still are)  either  the school, neighborhood or work
bully.	Mostly,  their	motivation to start their  own	BBS  is based on their
feelings  that	"All of the other 35 BBSs I  call suck, so I'll make one in my
own  image  with my own rules and  forget  everyone else." While HSS sufferers
make  up  only a small minority of  those  who suffer from the SysGod complex,
they  are the one's who draw all  the scrutiny from others as their affliction
is usually chronic in nature and long in duration.

     One  of  the saddest things about	this  affliction is that everyone, not
just  the  sysop, suffers because of the  effects  of the SysGod complex. This
includes  the BBS itself. Many times, in  fits of rage and delirium, they will
make  changes to the BBS itself to reflect their newfound divine philosophy in
the  way  of allowing certain policies,  adding  particular subs that normally
wouldn't  be  carried,  deleting  files  or  users,  regularly interrupting or
kicking  users offline in order to allow the SysGod to access the computer for
things like playing games, viewing adult .GIFs, calling other BBSs and leaving
posts saying how much that system sucks and how great his system is, etc. As a
result,  the users will slowly start to  disappear as they either stop calling
back  or are deleted by the sysop. Eventually, the BBS will receive sufficient
bad word-of-mouth publicity as to discourage new callers from logging on.

     In  order to better understand the psyche of those who suffer from HSS, I
decided  to look for a local BBS that is run by an afflicted sysop and give it
a  call.  After searching the advertisement  subs  of several local systems, I
found the following ad:

			       CALL HERE!!!!!!

		   MY DAMN BBS (Sysop: The All-Powerful 1)

	       If you don't call "My Damn BBS," you're a chump.

				 716-555-1001

		      Nine months old and going strong.

     As  this  looked  like a good potential  candidate  for a HSS sufferer, I
called.  Here  is  the	capture file I ran  while  online  at  My Damn BBS. My
personal notes written later appear in [brackets].


Connected at 14400

				 Welcome to:

				      ___	     ___
		     /\  /\	     |	 \	    |	\
		    /  \/  \	     | |\ \	    | o /
		   / /\  /\ \	     | |/ /	    | o \
		  /_/  \/  \_\ Y     |_ _/ AMN	    |___/ BS


			  Sysop: The All-Powerful 1

			 24 Hours (but not in a row)

		2400-14.4 (if I like you) - 1200 (if I don't)


Enter your number or name or `NEW'
NM: NEW

Would you like to use our Guest User account to look around first? Y/N Y
Too damn bad, we don't have one here.

     [At  this point, I was somewhat certain  that I'd reached a HSS sufferer,
but  some  doubts  still remained. Those,  however,  were  washed away by what
followed  next. At this juncture, one would  expect to see a system rules file
and/or a legal disclaimer. Here's what I got:]


			  >>Welcome To My Damn BBS<<

My Damn BBS was started because I felt that all the other sysops in the area
are [CENSORED]. So I leeched a copy of WWIV from somebody and started by own
BBS. My motto here is: If you don't like it, too damn bad. Since this
BBS is run on by damn computer, I'm gonna run this place the way I want to and
nobody better tell me any different.

Here's my damn rules for My Damn BBS:

Don't bother trying to chat with me about any of your problems as I got enough
of my own to deal with and shouldn't have to deal with yours too. If you leave
me mail, I might get around to answering it someday if I find it interesting
and relevant, but don't hold your breath. If you don't like it, too damn bad.

If you have problems with using the BBS software, don't bug me for help. I had
to learn once too, you know, and nobody showed me how to do it. If you can't
figure it out for yourself, that's your problem. If you don't like it, too
damn bad.

If you want to swear here, that's fine with me. I'm sure it's nothing I
haven't heard or said already anyway. Cuss all you want. If you've got virgin
ears and don't like it, too damn bad.

Don't bother asking me for files that I have backed-up offline in the transfer
section. I've got "Castle Commando II," "Rocket Jockey IV," and "The Further
Adventures of Happy Henry Hedonist in the Land of the Sexually Explicit Women
Who'll Never Sleep With Him" taking up 85 megs on my BBS HD, so I don't have
the room for them. And I'm not going to clear-up any HD space just for YOU.
This is >>My<< Damn BBS, and if you don't like it, too damn bad.

Don't pester me for more time to download files. If you've got a 14.4 modem,
you should be able to get whatever you want in the 20 minutes I give you
online. If the file is too big and you don't like it, too damn bad. If you
call at any speed less than 14.4 and you want more D/L time, too damn bad,
get a 14.4 modem and I'll start to think about it. Maybe.

Don't post anything contradictory to whatever I post. I'll either delete it or
flame you, probably both. If you get me riled-up enough, I'll delete your
account and throw your name into my trashcan.txt file. Remember, since I've
got the #1 account here, whatever I say is law and whatever I want to do, I'll
do. If you don't like it, too damn bad.

These are the rules for MY Damn BBS. If you don't like them, too damn bad,
press ALT-H to hang up now since you obviously disagree with me and users here
aren't allowed to disagree with me.

Continue to logon? Y/N Y

     [At  this	point, I was fully convinced  I had encountered a sysop with a
particularly  advanced	case  of  HSS,	one  which  looked  terminal  for this
sufferer. Sadly, my initial diagnosis for this patient is that he suffers from
a  not-so-rare	form  of HSS in the  manifestation  of	a "Ptolemy complex" in
which,	as the name suggests, he sincerely believes that the universe (and his
BBS  in particular) does indeed revolve around him, and not vice-versa. On the
average,  about  70-75%  of HSS sufferers  also  are  afflicted with a Ptolemy
complex.  Medical science is currently at a loss to explain the cause for such
conditions and attempts at treatment are usually unsuccessful.]

     [I  decided  that,  in the interest  of  getting better insight into this
ailment,  I needed to logon to this system to further see just how far the HSS
had  manifested  itself.  I  also  decided  that,  given  the  nature  of this
particular  case, it would be best for me  to logon under an assumed name with
bogus  user info. While considered unethical  from a journalistic and a BBSing
point  of view, I felt safer personally, since	I don't want this loop to ever
know who I really am. I feel that, to paraphrase his own inspired words, if he
don't  like that, too damn bad. Following my logon info, I sent the obligatory
new  user  feedback to The All-Powerful 1  to  reflect my bogus statistics and
stated	that  I'm  just  a general user  looking  to  check  out his BBS. Upon
completion  of	that, I glean my next view  of the effects of HSS on the sysop
and his particular BBS as the logon continues.]


Good Evening, Mr. Blahblahblah.
You are the 3rd caller for today.


Last Callers:
=======================================================================
 Call #   User Name			 Time	    Baud	     #
=======================================================================
 278	  Blow Hard #3			  2:53 am   2400	     1
 279	  The All-Powerful's Babe #2      3:21 pm   KB               1
 280	  Redneck #4			  4:14 pm   9600	     1
 281	  Blow Hard #3			  6:00 am   2400	     1
=======================================================================


     [Things  don't look too good so far. Considering that his BBS has been up
(supposedly)  for 9 months, 281 calls is pretty sparse business. Also, since I
called	at  around 10 pm and I'm only  the  third caller for the day, it looks
like there's not too much activity in these parts. I can't imagine why. I also
don't see a user number higher than 4. Strange. Let us continue on:]


Auto Message by: The All-Powerful 1 #1

			    Welcome to My Damn BBS
		  Anyone who changes this automessage dies.
		   If you don' like it, too damn bad.



User Name	Mr. Blahblahblah #9
Member since	10/26/93
Member status	Inconsequential Unvalidated New Peon
Time allowed on 10 minutes
Mail waiting	0
Times on today	1
Sysop is	NOT going to answer you even if he's here
System is	WWIV v4.22   (Reg #[DELETED])


     [User #9, eh? After 9 months of operation? Either there have been alot of
deletions,  or people have just stayed away in droves. I think it's probably a
combination of both. I also like the automessage. It shows just how possessive
that  this person has become. This is  common in advanced cases. Also note the
member status and sysop availability lines, as well as time allowed online. At
least you know where you stand with this guy. Let's move on further, shall we.
Now we've made it to the main message prompt, let's take a look around and see
what's online for subs before time expires:]


Time Remaining = 9 minutes, 7 seconds
[1] [The All-Powerful 1's Decrees]:*


Available message bases:

Sub	    Network/						  New
 #   Scan?  Local		    Sub Name			  Msgs
======================================================================
  1   Yes   Local      The All-Powerful 1's Decrees                 1
  2   Yes   Local      The All-Powerful 1 on Everything 	   50
  3   Yes   Local      The All-Powerful 1 on Politics		   50
  4   Yes   Local      The All-Powerful 1 on Sports		   50
  5   Yes   Local      The All-Powerful 1 on News		   50
  6   Yes   Local      The All-Powerful 1 on Television 	   50
  7   Yes   Local      The All-Powerful 1 on Movies		   50
  8   Yes   Local      The All-Powerful 1 on Women		   50
  9   Yes   Local      The All-Powerful 1 on Programming	   50
 10   Yes   Local      The All-Powerful 1 on Games		   50
 11   Yes   Local      The All-Powerful 1 on Music		   50
======================================================================


Time Remaining = 8 minutes, 59 seconds
[1] [The All-Powerful 1's Decrees]:


     [I'm  sensing a distinct pattern here. Obviously, this particular patient
is  definitely	in  the  most  advanced  latter  stages  of  the  disease. The
aforementioned	 Ptolemy  complex  is  well   represented  by  this  sampling.
Mercifully,  I	believe that this patient will	succumb  to the effects of HSS
very  soon and his suffering (as well as everyone else's) will then end. While
there still appears to be some life left in the body, let us further sample so
of  this  person's delusions of Godhood  by viewing some messages. We'll start
with  The  All-Powerful 1's Decrees. Since  there's only one message on there,
this shouldn't take long:]


Time Remaining = 8 minutes, 59 seconds
[1] [The All-Powerful 1's Decrees]: Q

< Q-scan The All-Powerful 1's Decrees 1 - 1 msgs >


Message 1 of 1
Title/Subject: If you don't like it, too damn bad.  [Random Title]
Name: the All-Powerful 1 #1
Date: Sun Feb 24 11:41:17 1993

Well, I finally got this piece of [CENSORED] up and running. I hope you're all
happy now. I know I am. I've finally got my own little stomping ground and I
plan on stomping anyone who gets in my way here. If you don't like it, tough
[CENSORED].

BTW = The board will be down for the entire month of April because that's when
Star Shooter XXIII comes out and I won't have enough room on my HD for both
the game and the BBS. Whenever I get thru with the game, I'll put the board
back up. Maybe. If you're lucky. If you don't like it, too damn bad.

	   #1

< The All-Powerful 1's Decrees 1 - 1 Q-scan Done >
Time Remaining = 8 minutes, 53 seconds
[1] [The All-Powerful 1's Decrees]:

     [Again,  the  Ptolemy complex shows here.	Deciding to take down a system
that has only recently gone online for the purpose of playing a newly-released
game shows where this particular sysop's priorities lie.]

     [Just  as	I  was going to begin to  delve  into the message bases to see
further  preachings of higher thinking from  The All-Powerful 1, the following
occurred:]


Time Remaining = 8 minutes, 53 seconds
[1] [The All-Powerful 1's Decrees]:Йµ^бњ/!PIyЈцЅХµ!ъ(>Ћ="LўUСЕ€cАвЄ‚ДКlk8ГЋхVќ
пXи-ЉшлЙu€)З–дѓЬ™HМЂj„nЬпu«( 0и~+#X/SrК,р‹ц;#°’ћЇ=Krп~4¦ГЛ),Енl>РCїю‡њЏцйђ59и†

NO CARRIER

     [Man!  That's a pretty generous helping  of line noise there! My computer
was  beeping out the pc speaker big-time on that dosage of dumping. It's quite
possible  that this sufferer has installed a combination line noise generating
nuke mod built into his system. As if it's not simple enough to just hit F5 to
dump  a user off the system, this guy needs special line noise key to give the
act  a true meaning of personal satisfaction. Looks like this sufferer has got
something  better to do with his system than  to allow me (or others, for that
matter) to use it. Upon redialing, the line was busy. Why am I not surprised?]

     [After three hours of solid war-dialing, I finally managed to get back on
the system. After going through my logon, I see the following:]

Last Callers:
=======================================================================
 Call #   User Name			 Time	    Baud	     #
=======================================================================
 279	  The All-Powerful's Babe #2      3:21 pm   KB               1
 280	  Redneck #4			  4:14 pm   9600	     1
 281	  Blow Hard #3			  6:00 am   2400	     1
 282	  Mr. Blahblahblah #9		 10:04 pm   14400	     1
=======================================================================

     [Uh-huh.  Just  as  I  suspected. Notice  who  the  last  caller was. Me.
Obviously,  our HSS sufferer is lurking near the keyboard somewhere. Let's see
if I can call him out.]

Time Remaining = 9 minutes, 45 seconds
[1] [The All-Powerful 1's Decrees]: C


The All-Powerful 1 can't be bothered by your trivial problems. Leave feedback
instead.

Leave feedback to The All-Powerful 1 #1 ? (Y/N) Y

     [Since  our sufferer seems to be above speaking with me, I decided that I
will  leave  him feedback instead. I chose  to make a fairly neutral statement
regarding  what  had  happened to me earlier.  This  should manage to get some
response from our esteemed SysGod.]


Enter Title or Press [Return] for a Random Title.
       (---=----=----=----=----=----=----=----=----=----=----=----)
Title:	Hello...

Enter message now, max lines are 20
Type /COLORS to change your default colors.
Type /MACROS to change your default macros.
Type /HELP for help. Type /Q to quote from message.
/S Save  /ABT Abort  /LI List  /CLR Clear  CTRL-P # Change color
[...|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....]

	Hi there. Sorry to trouble you, but I am a new user here and recently
experienced a problem when I was on your system earlier tonight. I was just
looking around when I suddenly lost carrier. I was wondering if this was due
to a problem on your end, or if it was a problem with my terminal program. I
don't have call-waiting or an extension phone on this line that I call out
with, so I'm kind of puzzled by the dropped carrier problem. Can you enlighten
me?

Thank for any help.

	Mr. Blahblahblah
/es
Saving... message sent to The All-Powerful 1 #1.


Time Remaining = 9 minutes, 45 seconds
[1] [The All-Powerful 1's Decrees]:


     [What happened next was totally unexpected:]


The All-Powerful 1 is Here:

Hey! What's your problem, buddy?


     [Well,  I expected a response to my  letter, but not THIS fast! Let's see
what he has to say:]


Hello. I'm not sure what the problem is, if it's with my software or if it's
on your end. I was on earlier this evening and

I know, dammit. don't you think I saw the mail you sent me? So, what's your
point?

Well, I was wondering if you were around when I lost carrier here earlier and
saw what happened. Did your board hang? I saw by the daily log that nobody
else been on the system since I lost carrier.


     [I  deliberately gave him an "out" in  my question by suggesting that the
board  might have locked-up. This was my way to finally determine once and for
all  if  he  was indeed suffering from HSS.  If  he  was, he wouldn't take the
escape that I gave him, instead opting to blather something to the effect that
it was "his" system and if I didn't like it, then that was too damn bad.]


Hey! I had to do something on the computer. You got a problem with that? What
are you, some kind of [CENSORED] troublemaker?

No, I'm not trying to cause a problem, I just asked a question. If you needed
to use the computer, you could have just popped in on me in chat mode like you
are now and ask me to logoff. I would've done it. There was no need to hang up
on me.

[CENSORED] off, buddy. You're outta here!
˜Ћз3Пќ’"нµзюМй3юfиЏЦс&iтыЯEЇ‹бо[EtтЬНЙyй˜йуњпк§ЦВ*еIUпP‰Щ(—ж»hSpгZV8’щ‹‹rЕ„(¤ґ
?ЭЕЇE>*ќH"йЙЊ­ёВпЏЅ+0'•©—wѓ3¶Ў`џ†ЙwҐ©Хжg#NWуc&чЌЦl¶±ѕКl5kaУЬйp™(oL»Ч“xeЁЊБг‘\R
ЗIм›d“Dj№ЉT’Rв[э`}єУЭьЂЌkBnКµнцw­Нxgсџ3ЋЯ¶…«#ЬcXзBЗ*eКўЖЮѓаSѕOЦЫ°f$ъa‚їмЇB•гЪ
§crDЏ]Иi[ѓ6щ—SQ…Ыl(Хџр>8E!©Я #@гхОbV°І@џiЯ,љ”BС·[Гаg3o)лEГU™ЮK ¶e•єGЋHo q¦Z¦fк
;ожМьIЖљЮWЫ№„БеmiЗ.fOыф<њбН†uFХОlА;W/„ЉФГ­¦ЇзЃЈЙњЇЄн’ЅпЛйыъN0_р-Є¤qрЗ?G|ЪЁЬuVЅ
Юѕдx?Wsiyљ…s­ычЎ":1&Єј`З®eЅь№?ћ¦‹3эСД0#,b°Уq’ОZІмщј‘3џн7Мh„ЂkW,Гo№“Qђ°І#Гp p­
:K/0qюR7$2A5%sЎ;QJB§yщ1Q¬k:!Ъ`КЛЇРАЖЃђ †єРОгћ#ЫФї#К•rйНґµ3[uU‹ыЅ%5”RmЕшрZ3н}:ж
«Jwљ‹vИЪАЄпrAАёЂSй=tРWWЦgsэ‡ыЧљj*зЩN‰їbgвњкiў‚~‘8унLАc›”uёљgаЬ‘sAзиЬ/yЧщKї*,щ
›U©>Х’дcіI‹кЮНxjkdB`)Мc„шт6sќt…ҐP±E3BоlУ‹·:·˜А¤·†‰2VыЊЌйўK4IЗпЂДЎMћДЄM‹•оќЦ‹xx
ШIp˜›Сw1dЅx6p|рЕз¶Ф}QдгpNГ@s"32Ью;M(ыВлћґ@ќKfЫНЪЖё-Щ–bЎ‚~їa­2_V6#Н@ЋОЦNь€ЌU"pX
пXи-ЉшлЙu€)З–дѓЬ™HМЂj„nЬпu«( 0и~+#X/SrК,р‹ц;#°’ћЇ=Krп~4¦ГЛ),Енl>РCїю‡њЏцйђ59и†

NO CARRIER

	[Well, I think that settles it. I decided to try one more time calling
back to see just how badly my little comment had affected this guy.]

Connected at 14400


				 Welcome to:

				      ___	     ___
		     /\  /\	     |	 \	    |	\
		    /  \/  \	     | |\ \	    | o /
		   / /\  /\ \	     | |/ /	    | o \
		  /_/  \/  \_\ Y     |_ _/ AMN	    |___/ BS


			  Sysop: The All-Powerful 1

			 24 Hours (but not in a row)

		2400-14.4 (if I like you) - 1200 (if I don't)



Enter your number or name or `NEW'
NM: Mr. Blahblahblah
Sorry, I don't know that user


Enter your number or name or `NEW'
NM: Mr. Blahblahblah
Sorry, I don't know that user


Enter your number or name or `NEW'
NM: 9
Sorry, I don't know that user

NO CARRIER


     I think it's safe to say that My Damn BBS isn't going to be long for this
world,	so long as The All-Powerful 1 is the sysop. What you've seen here is a
rare glimpse of a sysop who suffers from an extreme case of SysGod Complex. As
I stated earlier, cases such as the one documented above are relatively few in
numbers  but  I think you can see that	while they are few, they also have the
potential to be very acute.

     Medical  science  has  thus  far been unable  to  find  a	cause for this
ailment,  let  alone  a  cure. Unless the  disease  is	caught in its earliest
stages, it is ultimately fatal to a sysop and his/her BBS. Like rubber-neckers
gawking  at a car wreck while passing it on the highway, there's little anyone
can do or say except "What a shame. I wonder what happened."

     The  best way to protect yourself from  the ravages of the SysGod Complex
is to know the tell-tale warning signs:

     -=- Repeatedly hanging-up on your users
     -=- Repeatedly taking the board down for your own uses
     -=- Chronically ignoring e-mail from your users
     -=- Deleting users who question or disagree with you
     -=- Continually telling your users that the board is "mine"

     If  you notice any of these potential  warning signs in yourself, you may
be  at risk of having one of the two complexes. The best way to tell is to put
up  a public post on the board asking  the opinion of your users on how you're
running  the system. If you see a noticeable number of negative posts, you may
have a problem. If you then begin to delete these posts and the users who made
them, then you DEFINITELY are suffering from either DSS or HSS.

     Once  you are diagnosed with having  a SysGod complex, the only treatment
can  come from within. YOU must be the	one who treats the disease by changing
your  habits and starting to act more responsibly toward your users, your BBS,
and yourself.

     Hopefully,  this article will help to illuminate others to the effects of
SysGod	Syndrome  and, perhaps, may save  others  from succumbing to this most
dreaded of afflictions. For only through effective education and communication
can this monstrous malady ever be eradicated.


    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД

This last is the conclusion of a four part technical series, not a
reprint:

  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
  і WWIVnet Technical Docs        і by Midnight Tree Bandit 1@8411
  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД


[IceNEWS Serialization Note - This is part four of four. Internal page numbers
have been retained for ease of reference. Page breaks, however, have been
removed.]



     COMPRESSION SOURCE CODE

          The following code is provided to help simplify the process of writing
          code for complete compatibility with the WWIVnet software.  It is the
          same as what is used by NETWORK1.EXE in NET34.  It covers both the
          compression and decompression of netmail packets.  Comments have been
          added by WH in order to clarify what's happening.  Some lines are
          split due to space.

          /* Description of global variables used here:
           *   (long) nbw --  number of bytes written
           *   (long) nbr --  number of bytes read
           *   (long) nbl --  number of bytes left (to read/write)
           *   (int) fi --    input file handle (set to "S[sysnum].NET")
           *   (int) fo --    output file handle (set to "Z[sysnum].NET" for
                              compression, "TEMP.NET" for decompression)
           *   (char) net_data -- path to system's network data directory
           * The rest should be obvious from their use.
           */


          unsigned far pascal net_read(char far *buff, 
                                       unsigned short int far *size)
          /* used 
          {
            unsigned br=0,sz;
            unsigned pct,i;

            sz=*size;

                                          39


            if ((long)sz>nbl)
              sz=(unsigned)nbl;

            br=read(fi,buff,sz);

            if (br<0)
              br=0;

            nbr += br;
            nbl -= br;
            nc_sf += br;

            return(br);
          }


          void far pascal net_write(char far *buff, 
                                    unsigned short int far *size)
          {
            write(fo,buff,*size);
            nbw += *size;
          }


          void net_compress(unsigned int sn)
          {
            char s[81], s1[81], fl;
            long l,l1;
            char *buf;
            unsigned short int type, dsize, xx;

            /* set up the input (Sxxxx.NET) and output (Zxxxx.NET) filenames */
            sprintf(s,"%sS%u.net",net_data, sn);
            sprintf(s1,"%sZ%u.net",net_data, sn);

            /* open the input file, if possible */
            fi=open(s,O_RDWR | O_BINARY);
            if (fi<0) {
              return;
            }

            buf=malloc(35256);
            if (!buf) {
              printf("\r    Not enough mem to compress    \r");
              return;
            }

            /* open the output file, if there is one */
            fo=open(s1,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
            if (fo<0) {

                                          40

              close(fi);
              free(buf);
              return;
            }
            /* write file header if file is new */
            if (filelength(fo)==0) { 
              /* compression identifier */
              l=0xfffefffe;
              write(fo,&l,4);
              /* extra bytes in header */
              xx=4;
              write(fo,&xx,2);
              /* uncompressed bytes (initalized to 0) */
              l=0L;
              write(fo,&l,4);
            }

            /* prepare for new segment */
            nbw=nbr=0;
            l=filelength(fo);
            lseek(fo,l,SEEK_SET);
            l1=filelength(fi);
            nbl=l1;
            fl=1;             /* compresssion flag (compressed) */
            /* write compression flag and segment length to segment header */
            write(fo,&fl,1);
            write(fo,&nbw,4);
            type=CMP_ASCII;
            if (l1<1024)
              dsize=1024;
            else if (l1<2048)
              dsize=2048;
            else
              dsize=4096;

            /* compress the file */
            implode(net_read, net_write, buf, &type, &dsize);

            if (nbw>=nbr) {
              /* if it didn't compress */
              lseek(fo,l,SEEK_SET);
              lseek(fi,0L,SEEK_SET);
              fl=0;
              /* change segment header (flag off, seg length is input length */
              write(fo,&fl,1);
              write(fo,&nbr,4);
              /* then write input file to output file (overwrite compressed) */
              xx=read(fi,buf,32768);
              while (xx>0) {
                write(fo,buf,xx);

                xx=read(fi,buf,32768);
              }
              chsize(fo,l+5+nbr);
            } else {
              /* if compressed, write compressed seg length to segment header */
              lseek(fo,l+1,SEEK_SET);
              write(fo,&nbw,4);
            }
                                   41

            /* update output file header (change uncompresssed bytes) */
            lseek(fo,6,SEEK_SET);
            read(fo,&l,4);
            l += nbr;
            lseek(fo,6,SEEK_SET);
            write(fo,&l,4);

            bytes_comp=filelength(fo);
            bytes_uncomp=l;
            /* compute percentage of compression */
            if (bytes_comp<bytes_uncomp)
              xx=(unsigned) ((bytes_uncomp-bytes_comp)*100/bytes_uncomp);
            else
              xx=0;

            /* clean up */
            close(fi);
            close(fo);
            unlink(s);
            free(buf);
          }


          void net_uncompress(char *fn)
          /* 'fn' is the name (with path) of the P*.NET file being processed */
          {
            char s[81],fl;
            long l,l1;
            unsigned xx;
            char *buf;

            /* set up output filename (temporary netmail file) */
            sprintf(s,"%sTEMP.NET",net_data);

            buf=malloc(16384);
            if (!buf) {
              printf("\r    Not enough mem to uncompress  \r");
              return;
            }

            /* Zxxxx.NET, if possible */

                                          42


            fi=open(fn,O_RDWR | O_BINARY);
            if (fi<0) {
              free(buf);
              return;
            }

            /* open output file */
            fo=open(s,O_RDWR | O_BINARY | O_CREAT | O_TRUNC, S_IREAD | 
                    S_IWRITE);
            if (fo<0) {
              close(fi);
              free(buf);
              return;
            }

            /* get file header */
            lseek(fi,4,SEEK_SET);            /* compression identifier */
            read(fi,&xx,2);                  /* extra bytes */
            read(fi,&bytes_uncomp,4);        /* uncompressed bytes */
            bytes_comp=filelength(fi);
            lseek(fi,6+xx,SEEK_SET);
            l=bytes_comp-(6+xx);             /* compute compressed bytes */

            /* decompression pass */
            while (l>0) {
              /* get segment header */
              read(fi,&fl,1);                /* compression flag */
              read(fi,&l1,4);                /* segment length (in bytes) */
              nbr=nbw=0;
              nbl=l1;
              if (fl==0) {
                /* if segment not compressed, write directly to temporary
                 * netmail file */
                if (nbl>16384)
                  xx=read(fi,buf,16384);
                else
                  xx=read(fi,buf,(unsigned)nbl);
                while (nbl>0) {
                  write(fo,buf,xx);
                  nbl -= (long)xx;
                  if (nbl>16384)
                    xx=read(fi,buf,16384);
                  else
                    xx=read(fi,buf,(unsigned)nbl);
                }
              } else {
                /* if segment compressed, decompress to temp netmail file */
                explode(net_read, net_write, buf);
              }
              l -= (l1+5);

                                          43


            }

            /* clean up */
            close(fi);
            close(fo);
            unlink(fn);
            rename(s,fn);          /* rename temp filename to P*.NET */
            free(buf);
          }


    ДДННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННДД

Getting IceNEWS:

There are several ways to get your copy of IceNEWS each month. If you have
access to IceNET, issues will be sent automatically. New issues will be
posted to alt.bbs and comp.bbs.misc on the Internet, and can be fetched via
the World Wide Web from http://www.tiac.net/users/wcrawfor/icenews/
There is also an IceNEWS Internet Mailing List:

* To subscribe: Send an empty email message (signatures are ok) to
<icenews@roadrunner.tiac.net> with a subject of
"SUB ICENEWS <youraddress> (<yourname>)".
Capitalization is important, or your message may be returned.
Example:

Subject: SUB ICENEWS nriley@sample.org (Nicholas Riley)

        The full name may be ommitted. You must provide the email address.
Thanks to Nicholas Riley for providing this service.

To contact the IceNEWS Editor-In-Chief, email any of these addresses:

        - 1@6754 IceNET
        - wcrawfor@express.tiac.net Internet
        - Subtype ICENEWS, host @1 IceNET

  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
  і IceNEWS is an independent  journal  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.і
  і Many product names used herein are the property of their respective    і
  і manufacturers/authors. Copyright (C) 1995 Jim Nunn.                    і
  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ