textfiles/bbs/ICENEWS/news9506.txt
2021-04-15 13:31:59 -05:00

2283 lines
105 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ÞÛÛݰ ÜÛÛÛÛÛÜ ÜÛÛÛÛÛÛ° ÛÛ° ÛÛ° ÜÛÛÛÛÛÛ° ÛÛ° ÛÛ° ÜÛÛÛÛÛÜ
ÛÛ° ÛÛ°°°°° ÛÛÜÜÜܰ ÛÛÛÜ ÛÛ° ÛÛÜÜÜܰ ÛÛ° ÛÛ° ÛÛ°°°°°
ÛÛ° ÛÛ° ÛÛßßßß° ÛÛßÛÛÛÛ° ÛÛßßßß° ÛÛ° Ü ÛÛ° ßÛÛÛÛÛÜ
ÞÛÛݰ ßÛÛÛÛÛß ßÛÛÛÛÛÛ° ÛÛ° ßÛÛ° ßÛÛÛÛÛÛ° ÛÛÜÛÛÛÜÛÛ° °°°°ÛÛ°
ÛÛ° ÛÛ°°° ÛÛ°ÛÛ° ÛÛ° ÛÛ° ÛÛ°ÛÛ°° ßÛÛß ßÛÛß ßÛÛÛÛÛß
Þݰ Þݰ ÞݰÞݰ Þݰ Þ° ÞݰÞݰ Þݰ Þ° Þݰް
ݰ ް ݰ ް ݰ ް ް
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<C3B5>
ïXè-ŠøëÉuˆäƒÜ™HÌ€j„nÜïu«( 0è~+#X/SrÊ,ð‹ö;#°’ž¯=Krï~4¦ÃË),Åíl>ÐC¿þ‡œ<E280A1>öé<C3B6>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Ï<EFBFBD>"íµçþÌé3þfè<66>Öñ&iòûßE¯áî[EtòÜÍÉyé˜éóœïê§ÖÂ*åIUïP‰Ù(—æ»hSpãZV8ùrÅ„(¤´
?ÝůE>*<2A>H"éÉŒ­¸Âï<C382>½+0'•©—wƒ3¶¡`Ÿ†Éw¥©Õæg#NWóc&÷<>Öl¶±¾Êl5kaÓÜép™(oL»×“xe¨ŒÁã\R
ÇIìd“Dj¹ŠTRâ[ý`}ºÓÝü€<C3BC>kBnʵíöw­ÍxgñŸ3Žß¶…«#ÜcXçBÇ*eÊ¢ÆÞƒàS¾OÖÛ°f$úa¿ì¯B•ãÚ
§crD<EFBFBD>]È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/„ŠÔí¦¯ç<C2AF>£Éœ¯ªí½ïËéûúN0_ð-ª¤qðÇ?G|Ú¨ÜuV½
Þ¾äx?Wsiyš…s­û÷¡":1&ª¼`Ç®e½ü¹?ž¦3ýÑÄ0#,b°ÓqÎZ²ìù¼3Ÿí7Ìh„€kW,Ão¹“Q<E2809C>°²#Ãp p­
:K/0qþR7$2A5%s¡;QJB§yù1Q¬k:!Ú`Ê˯ÐÀÆ<C380><C386> †ºÐÎãž#ÛÔ¿#Ê•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<36>t…¥P±E3BîlÓ·:·˜À¤·†‰2VûŒ<C3BB>é¢K4IÇï€Ä¡MžÄªM•î<E280A2>Öxx
ØIp˜Ñw1d½x6p|ðÅç¶Ô}QäãpNÃ@s"32Üþ;M(ûÂëž´@<40>KfÛÍÚÆ¸~¿a­2_V6#Í@ŽÎÖNüˆ<C3BC>U"pX
ïXè-ŠøëÉuˆäƒÜ™HÌ€j„nÜïu«( 0è~+#X/SrÊ,ð‹ö;#°’ž¯=Krï~4¦ÃË),Åíl>ÐC¿þ‡œ<E280A1>öé<C3B6>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. ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ