SOMEONE PLEASE BUY THESE BOOKS!!!!!  I AM NOT ASKING MUCH!!!!!!

JUST MAKE ME AN OFFER AND I WILL PROBABLY TAKE IT!!!!!

* Calculus w/ Analytic Geometry by Authur B. Simon (copyright date 1982), below avg condition but still readable!

* Writing good software in Fortran, Graham Smith.

* The Holt Handbook by Kirszner & Mandell (copyright 1986) 720+ page writing guide.

* Algebra & Trigonometry, A problem Solving Approach, 3rd edition by W. Flemming and D. Varberg.  Very good condition.

* General Chemistry Principles & Modern Applications, R. Petrucci, fourth
  edition.  Big Book! Very good condition!

* Solutions manual for Chemistry book.  Paperback.

* Study guide for Chemistry book.  Paperback.

Send me your offers via email at 02106@chopin.udel.edu


	I was kind of half watching Street Stories last night
	and one of the segments was about this doctor in
	S.F. who provides a service of investigating treatment
	for various diseases. I'm pretty sure his name is
	Dr. Mark Renniger (sp?) or close to that.
	Did anyone else watch this? I'd like to get his
	correct name and address/phone number if possible.
	Thanks.


perhaps you can quote just a bit of her argument?


I have a video board for sale for Macintosh NU-Bus machines.  My other deal fell through.  I am asking $200.
RasterOps 8XL

640x480
800x600  <--- This was incorrectly posted as 832x624 before.
640x870
1024x768 (60hz & 75 hz)
1152x870

Make offers by mail.


And some comments, with some players deleted.

Yep, that Kevin Mitchell.  I never would have expected him in the
#1 spot.

It's no accident that the first two names are 1988 only.  As with first
and second base, 1988 was the year of the glove.  Average DA was 20 points
higher in both leagues than any other year.

Looks good.  Too bad he's moving to short.

Highest five-year regular, though he's only had one year as good as Kevin
Mitchell :->.

The other elite fielders in the league.

This is an interesting line.  His 1988 figure was slightly below average.
His 1990 was pathetic, and his 1991 was the next best year by anybody.  Part of
that may be his mobility.  1988 was with the Yankees.  1990 was with the
Padres, who appear to have a rotten infield.  1991 was with the Twins, and
judging by Leius and Gaetti, the Metrodome may be a good place to play
third.

Add another to the elite fielders list.

Too fielders whose career average may overstate their value.  I don't know
what happened to Caminiti -- judging by the three previous years, his low
1992 may be a fluke.  Sabo is merely average, however.  His incredible 1988
(best year ever) brings his average up a lot.

Strange last two years.

According to reputation, one of the best fielders ever at third base.
But at the end, he was below average.  (Average in 1988 was .643).

Boggs has been pretty good.  I don't know what happened in 1990, but every
other year he has been above average, usually by quite a bit.

Last year -- a fluke or a portent?

Why is it that the two leagues usually have defensive averages very close
to one another, but very different from year to year?  Any ideas?

Brook  is declining.

Three first-time regulars, above average in 1992.  I'm not sure why Jefferies
gets all the grief about his fielding.  He's never had a good year, but while
at second he improved to become an average fielder, and is an average fielder
at third.

Zeile, on the other hand, is a below average fielder.  Each year he's about
10 points below average.  And it's probably not just the park, since Terry
Pendleton had excellent DAs in the three years before this.

Moving back to second was a good idea.

So why is Hayes supposed to be good defensively?  He's had a grand total
of one year above the league DA, and was pretty bad last year.

Howard Johnson and Carney Lansford -- separated at birth.  To his credit,
HoJo did have one above average year (1990).  Lansford couldn't even break
the .600 mark without the help of the year of the glove.

Good hitter, but his fielding needs work.

Not a good fielder.

Both are better off at shortstop.

Two consecutive horrible years for Leo.  Camden Yards doesn't seem to
have helped his fielding any.

Texas slugger debuts with not only the lowest career DA, but the lowest
DA at third ever.  Congratulations, Dean.
--
Dale J. Stephenson |*| (steph@cs.uiuc.edu) |*| Grad Student At Large


Interestingly enough, the CDROM 300i that came with my Quadra 800 has
only 8 disks:

1. System Install
2. Kodak Photo CD sampler
3. Alice to Ocean
4. CDROM Titles
5. Application Demos
6. Mozart: Dissonant Quartet
7. Nautilus
8. Apple Chronicles

Has anyone else noticed that they got less than everyone seems to be
getting with the external?  What I really feel I missed out on is what
is supposed to a fantastic Games demo disk.

I have heard that people have gotten up to 9-10 disks with their drive.
I assume they get the 8 titles above plus Cinderella and the Games Demo CDROM.

any comments and experiences?  Should I call Apple to complain? =)

Derek


What's the deal?  c.s.h. has nothing on it yet.  Is it in OT, is it over,
what?  I want to know!  We all want to know!  Where's Roger when you need
him?!?!?!?!  :-)

--
    Keith Keller				LET'S GO RANGERS!!!!!
						LET'S GO QUAKERS!!!!!
	kkeller@mail.sas.upenn.edu		IVY LEAGUE CHAMPS!!!!


I was in the great storm.....my Mazda MPV was damaged so bad they are
going to replace the top, doors and hood. It is Black so they will repaint
the entire vehicle...estimated cost around $7000 and repair time approx. 3
to 4 weeks.


Did you ever notice how many people on the net have trouble in the
comparitively easy task of spelling the nick name of our fair city?  I
never knew that Philadelphia becomes Phillie or Philli when spoken of.  So
for all you who don't know yet here's a _little_ clue.

	IT IS SPELLED:       P H I L L Y

OK...thank you.

Oh yeah, about that drug-induced trade rumor....I don't think the Sniders
are that stupid...the rumor you should be looking into is Mike Keenan
coming back to coach the FLYERS.

later

Mike

--
Mike Cornell     | "There are a great many people in the country today who,
mac18@po.cwru.edu|  through no fault of their own, are sane." -Monty Python


#I use xwd/xpr (from the X11R5 dist.) and various programs of the
#ppm-tools to print hardcopies of colored X windows. My problem is,

I don't like xpr. It gives (at least, the X11R4 version does) louzy
output: the hardcopy looks very grainy to me.
Instead, I use pnmtops. This takes full advantage PostScript, and
lets the printer do the dirty job of dithering a (graylevel)
image to black and white dots.

So: if you have a PostScript printer, try:
	xwdtopnm <xwdfile> |	# convert to PPM
	[ppmtopgm |]		# .. to graylevel for smaller file to print
	pnmtops -noturn |	# .. to PostScript
	lpr			# print

pnmtops Has several neat options, but use them with care:
If you want your image to be 4" wide, use:
	pnmtops -noturn -scale 100 -width 4
-noturn Prevents the image from being rotated (if it is wider than it
	is high)
-width 4 Specifies the PAPER width (not the image width - see below)
-scale 100 Is used because if the image is small, it may fit within a
	width less than 4", and will thus be printed smaller than 4" wide.
	If you first scale it up a lot, it will certainly not fit in 4", and
	will be scaled down by pnmtops automatically to fit the specified
	paper width.
	In short: pnmtops will scale an image down to fit the paper size,
	but it will not blow it up automatically.

Hope this helps.
Marcel.


No....Hal McRae is the worst manager in baseball.  I've never seen a guy who
can waste talent like he can.  One of the best raw-talent staffs in the league,
and he's still finding a way to lose.  I'll be surprised if he makes it through
the next 2 weeks, unless drastic improvement is made.


I've just read Carol's response and I just had to get into this.  I've
got some verses which are not subject to interpretation because they say
what they say.  They are 2 Peter 1:20-21, 2 Timothy 3:16-17, and
Galatians 1:11-12.

Also, based on the fact that Jesus is the Word incarnate and he judges
people if they follow him (see Acts 17:29-31 and John 5:21-27) and that
those who reject Jesus' teachings are judged by the very words he spoke
(see John 12:47-50), then Jesus' words are true and do not need
interpretation, nor would it be just of God to judge based on his word
if it had to be interpreted.


	I'm no mustang head, but don't the early ones have a simple
strut suspension (that is, with no upper A-arm)?  Just a strut
going down to a lower control arm (single bushing: not an A-arm), with a
tension/compression rod locating it in the forward/backward direction?

	Anyway, simple strut suspensions like this can be lowered just by using
shorter springs, cutting the springs, lowering the spring perch or shortening
the strut below the perch.  In each of these cases, the suspension geometry
will suffer because the lower control arms will not be at the
intended angle.  A spacer placed between control arm and the bottom
of the strut (roughly the height of the reduction) will restore
the suspension geometry.  IMHO, the kit that includes the spacer
is the only way to go...

--Ken


I wish I could agree with you.  Ask yourself this.  Why would any private
sector entity wish to buy a crypto system that was KNOWN to be at least
partially compromised? (Key escrows in this instance)  Why would any
private sector entity wish to buy a crypto system that had not been properly
evaluated?  (i.e. algorythm not publically released)
The answer seems obvious to me, they wouldn't.  There is other hardware out
there not compromised.  DES as an example (triple DES as a better one.)

My suspicion is that the prices will drop dramatically on these non clipper
systems.  If not we're in trouble.

Given that the Clinton administration is not entirely stupid (although we'd like
to think so) I cannot believe that they have failed to realize this.
They know their initiative will fail, much as crippled DES was never taken
seriously.  The only way their moves can work is by coercion.  You know
little about politics if you don't realize that this is just a first step
in the next move, it makes NO sense otherwise.  The next move, banning
or SEVERLY crippling crypto not using the "Clipper" system is easily
justified "Why would anyone want other encryption unless they were trying
to subvert the government?  We've provided you with a very secure alternative
so use it or go to jail/be fined/whatever."
How can you reconcile the administrations self proclaimed purpose of providing
law enforcement with access to encrypted data without making the clipper system
the only crypto available in the U.S... ?  You simply can't, and the administration
knows it.  Anyone who wanted to keep the govt. out of their hair, be it for
drug dealing or whatever, would just buy still available non-clipper systems.

Don't sell our crafty Clinton types short, they can't be THAT stupid.
Either banning non clipper crypto is the next answer or the administrations
collective I.Q. is about that of a potato.

Why do you think AT&T jumped on so fast?  They know it's going to be big,
and NOT because it's better.  Right on the face of it, noone will buy the
stuff that doesn't have to.  AT&T must know this too, THINK MAN, why the
hell would they jump the gun?

I really wonder.

To wit:  The letter I just sent to Clinton:

The White House
Office of the Press Secretary c/o:
Presidential Comment Line (fax)
(202) 456-2461

April 17, 1993

Sir and/or Madam:

I must object most strongly to the administrations evolving position on encryption and
cryptography.  I am shocked at the Clinton regimes increasing lean towards a authoritarian approach with regard to privacy and freedom from government oversight in day to day life.

It is apparent to me that those who drafted the "Clipper Chip Proposal" (which is, incidentally, gaining notoriety as the "Big Brother Proposal") are either incredibly ignorant or very sly indeed.  Anyone knowledgeable in the nuances of cryptographic development and research must understand that a key step in the development of a new algorithm, especially one destined for standardization, is the full disclosure of the algorithm to the private and academic sectors.  The proper evaluation of an algorithm dep

ends on careful scrutiny by these sectors, and only such scrutiny can provide true public confidence in the security of the algorithm.  The assumption that a new algorithm will be accepted based on assurances from "experts" without full disclosure is plain ignorance.

In addition, the assumption that an algorithm will be marketable over other technology, such as DES, when it is characterized by key escrow is lunacy.  It seems an easy step in the logic chain that probable consumers will prefer to purchase equipment not crippled by government key escrow, no matter how "tamper proof" the key escrows might be.

I cannot believe that even the least educated policy maker would have failed to realize these flaws.  I can only assume then that the drafters of the "Clipper Chip Proposal" knew very well the difficulties of selling a crippled system to the private sector.  The only way this proposal makes any sense, or has any chance of succeeding is in coercion.  Even the language of the proposal makes it painfully clear that the next logical step is the outlawing of other encryption devices and hardware that do not uti

lize the "Big Brother Chip."

Unfortunately the public at large is not educated enough on the issue to realize what they are losing.  I expect the Big Brother proposal to encounter little resistance from the American people who you will have so efficiently duped once again with pretty words like "harmony," "right to encryption," and "voluntary."

It mortifies me that the phrase that seems to be used more and more often to characterize the Clinton administration is "I can't believe it's happening here."  More startling is a question a colleague of mine posed and the realization that everyday it becomes more and more relevant; "When is the Reichstag fire planned for?"

						Most Concerned,

						[Signature]
						Shaen Logan Bernhardt I
uni@acs.bu.edu


When I owned an SE, I replaced the fan with SE Silencer, available, I
believe, from MacWarehouse or MacConnection.  It comes with instruction for
installation and requires no soldering.  Worked like a charm.  I think the
manufacturer is Mobius.

__Dave


   Stuff deleted
  I sure hope you got the cost of a replacement panel out of the owner. Here if
the owner should seem reluctant, a stop by the local SPCA (preferably with your
foot/leg all swollen up) to file a viscious dog report would do the trick.

-g.


...

One of the items in the group folder (typically called Norton Desktop Applications)
is labelled "Norton Desktop Uninstall". Need I say more!


    The gl2p1.lzh stuff under gfx/show on the Aminet sites includes a
    utility called pic2hl, that is a filter for HamLab that can handle
    the most commonly used kinds of .PIC and .CLP files.

    The biggest problem is that the .CLP files don't usually contain a
    palette, so you need to convert a .PIC with the right palette
    first (which creates a "ram:picpal" file), and then convert the
    .CLP files.


For an essay, I am writing about the space shuttle and a need for a better
propulsion system.  Through research, I have found that it is rather clumsy
(i.e. all the checks/tests before launch), the safety hazards ("sitting
on a hydrogen bomb"), etc..  If you have any beefs about the current
space shuttle program Re: propulsion, please send me your ideas.

Thanks a lot.


I recall that the issue is that fat on the meat liquifies and then
drips down onto the hot elements--whatever they are--that the extreme
heat then catalyzes something in the fat into one or more
carcinogens which then are carried back up onto the meat in the smoke.


Forsale:

Proton P1100 preamplifier
========================= About 3.5 years old, originally $299, asking $150
or best offer.  Has inputs for tape 1, tape 2, CD, phono, video and tuner.
Separate listen and record selectors.  Bass EQ, subharmonic filter and mono
switch.  High quality volume potentiometer.  In excellent condition, with
original boxes and manual.

Sony D-88 portable Diskman
========================== This is the one designed to play the mini CD's.
You can play normal size CDs, but the disk sticks out the side.  Works
well,
but may skip occasionally - it should be tuned up (heads aligned, cleaned,
etc.)  In excellent condition.  It has not been used all that much.  With
carrying case.  Original list was (I think) $300, but I'll take $80 or best
offer.  It would be good for an office or just to sit on your desk.

Please email me <eric@enterprise.bih.harvard.edu> or telephone at
(617) 278-0068.

Eric


OFM replies to a question on the multiplicity of translations of the bible,

Unfortunately, this isn't true.  On another news group earlier this year,
someone posted that the King James Bible was the divinely inspired version
of the Bible in English and was, therefore, inerrant; all other English
translations were from Satan, trying to deceive the body of Christ.  A
few years ago, the pastor of a church I was attending showed me a poster
advertising the availability of a certain man to address congregations.
Very prominantly on the poster was the fact that the man used only the KJV.
The idea that the KJV is THE English Bible is more prevalent than many
might think.

  -- Scott at Brandeis


Good point. I have no idea how either of my Hondas will handle at 100+ mph,
nor do they reach 155. However, using `high' to be 70-90 mph:

a) They are quite amenable to long high speed drives. I've done several
1k mile+ trips in my Civic with no problems whatsoever. The last big trip
I made was driving from New York to Texas. I remember driving 700-800
miles a day at typically 75-85 mph  without any problems. I'm sure I
would have been more comfortable driving a benz, but no white knuckles.
No problems with winds and curves.

Then there was the trip back from New Orleans after Mardi Gras - where
we were doing 80+ all the way to Houston. No problems.

b) Both my cars have surprising good fuel economy at high speeds. I see
no difference between sustained 60 mph and sustained 80mph. On the trip
back from New Orleans, we got about 30 mpg in my Integra, quite ok. Mind
you, the engine revs to almost 4k at 80. The civic is markedly better
than the Integra in fuel economy. 50k miles down the road, I still
get 35 mpg at 70-75 mph driving.

Now now, you can't compare a diesel with a gasoline engine. I see enough
bmws and gasoline mercs for sale that have 100-150k miles on them and advertise
rebuilt engines. If honda was to build an accord for 30k, I'd darn well
expect the sucker to last 300k miles.

Ever got caught behind a early 80's 300SDL at a stop light? It's not
pleasant. The newer MB's are a lot better though. The diesel Volvos
and VWs are probably the smelliest offenders.

As for economy, why should we care? Gas is cheap! I personally wouldn't
buy a diesel car for any reason - what does it buy me?

Shantanu Ganguly
Somerset (Motorola)


Is their a pd/freeware hard drive utility that can handle
a compressed IDE drive without screwwing it up?

Need to document occasional failures in reading/writing,
check overall integrity of disk's hardware and sectors.

I believe that all of my problems with DOS/Windows can
be isolated to my drive.  Getting occasional corrupted
files, even with smartdrive, 32 bit access turned off.
Had these problems under DOS 5.  Only with drive C.
Drive D may have had one failure, but that file was
under the control of Win/Winword on drive C.

All utilities available to me report no problems.
DOS, NDD (NU4.5).  Another symptom, SD took forever
on C, and kicked me out with a suspension till NDD run
6 to 8 times.

Thanks.


	There SHOULD be a connection of the GROUND wire to a ground
in the breaker box.  There also should be a connection of the NEUTRAL
wire to a ground in the breaker box.  There should be no other
place in the building where such a connection occurs (i.e. not in
any of the outlet boxes).

	The NEUTRAL (white) wire is a 'grounding conductor' for
the plug, and is NOT safe to touch, while the GROUND (green)
wire is a 'protective ground' and carries no current unless
some kind of electrical fault has occurred.  It's safe
to touch the protective ground, but not to touch the
grounding conductor (because there is current in the grounding
conductor, its outlet-box end will not be at the same ground
potential as its breaker-box end).


<. . ..

: The next Sunday, the sermon was about Joshua 6 (where the Israelites
: take Jericho and then proceed to massacre everybody there --- except
: for Rahab, who had sheltered the spies).  With those reports about
: Bosnia in my mind, I felt uncomfortable about the minister saying that
: the massacre (the one in Joshua) was right.  But what really bothered
: me was that, if I was going to try taking Christianity seriously, I
: shouldn't be so troubled about the reports of "ethnic cleansing" in
: Bosnia.  Certainly, my sympathies shouldn't be with the Moslims.
: Considering that the Bosnian Muslims are descendants of Christians
: who, under Turkish rule, converted to Islam could the Serbs be doing
: God's work?

Perhaps it would be useful to ask whether those doing the ethnic
cleansing could be said to be loving those they are killing in the very
act of killing.  Does it reflect the attitude of God, who sends rain to
both the just and the unjust?  If not, then Christians should be
uncomfortable with it.  Jesus gave his followers the law of love to
follow and it is by exhibiting this that disciples will be known.
Doctrinal (or political) correctness is not the standard, so I don't see
why Christians should be moved against the Serbs because their ancestors
converted from Christianity to Islam.  It seems to me that as a
Christian you _should_ be troubled by the ethnic cleansing.
--


The best program I've seen for viewing such files is VPIC.  You'll want version 5.9 or later.  (6.0x is current.)  It allows you to view in 15 and 24 bit modes.  It really is QUITE nice.

Now, for a return question:  Do you run Windows?  If so, what are the dates on your drivers?  The newest ones *I* can find are from around 4-??-92!!  My problem is they conflict with Star Trek: After Dark, and other things as well.  I'm willing to bet that it's the drivers, and NOT the programs.  Anyone out there have info on newer SS24 (NOT X) drivers for windows or OS/2?


I don't think the 550 sold very well - most North Americans who ride a standard
rather than a sport bike usually want something bigger. People walk into the
dealership, look at the 550 and the 750 and say, "I might as well spring the
extra bucks for the bigger engine."


Seems to me that I read in either a recent NY Times
Science Times or maybe it was Science News that there is
evidence that ex-smoker's risk of lung cancer never returns
to that of a person who has never smoked (I think it may
get close).  I'll find the article and post it since my
memory is hazy on the specifics - if you are interested.


My thoughts on why the algorithm is secret :

   The chip is (regretably) likely to become a standard.   There will
   be many applications where economic factors dictate use of this
   chip, like it or not.

   If the alrogithm is public, and the code is as secure (absent the
   access to escrowed keys) as represented, an enterprising sort
   would make "compatible crypto chips for which no key had been
   escrowed".  This is likely what the release was refering to when
   they refered to the secrecy of the algorithm protecting the
   security of the escrow system.


Yeah.  Sounds typical.  Windows makes all sorts of extra demands on hardware,
and therefore your machine can't keep up with things.  Ever notice how when
acessing the floppies in Windows, everything else slows to a crawl?  I
imagine your backup and evertyhing else that is running fights for CPU time,
and sometimes the backup program loses.  Be glad.  I can't even run in
medium speed with CP backup on my machine, supposedly because I have a SCSI
machine which places extra demands on the data bus.


I have a Conner-disk model CP30061G (200Mb ??) with no info at all. The only thing I know is that
is normally used with Compaq-machines.
Please, send me information on switch-settings, geometry and so on.
It looks like a normal IDE-disk but is it possible to use it with a standard IDE-controller??

-- Michael


as someone who just lived through a switch from SunOS4.x.x. to
Solaris, i'll heartily agree with this.

ObCrypt: one of my main gripes with Solaris is its braindead mailx,
which is -almost- enough like mail to get you hoping, but crashes
horribly when you try to do anything useful with it. (like use pgp-
capable sendmail replacements.)

jason


Careful.  Making statements about how solid state is (generally) more
reliable than analog will get you a nasty follow-up from Tommy Mac or
Pat.  Wait a minute; you *are* Pat.  Pleased to see that you're not
suffering from the bugaboos of a small mind.  ;-)

--
"Insisting on perfect safety is for people who don't have the balls to live
 in the real world."   -- Mary Shafer, NASA Ames Dryden


[...]

According to the Defensive Average stats posted by Sherri, Baerga had the
highest percentage of DPs turned in the league, while Alomar had the worst.
However, Alomar had a higher Defensive Average.  So who would be better?

Using Alomar's opportunities (469 groundballs, 73 possible double plays)
Alomar had 332 groundouts and turned 18 DPs.
Baerga would have had (with same DA & DP%) 328 groundouts and 35 DPs.

Using Baerga's opportunites (545 groundballs, 99 possible double plays).
Alomar would have had (with the same DA & DP%) 386 groundouts and 25 DPs.
Baerga had 381 groundouts and 47 DPs.

Baerga looks better, though it's possible his DP% would be lower with a
different SS.

Will Baerga consistently turn twice as many double plays, however?  Alomar
has established a high level of defense, Baerga has not.  I would bet on
Alomar to be better next year, but last year Baerga was just as good overall.
--
Dale J. Stephenson |*| (steph@cs.uiuc.edu) |*| Grad Student At Large


Hooray ! I always suspected that I was human too :-)  It is the desire to be like
Christ that often causes christians to be very critical of themselves and other
christians. We are supposed to grow, mature, endeavour to be Christ-like but we
are far far far from perfect. Build up the body of Christ, don't tear it down,
and that includes yourself. Jesus loves me just the way I am today, tomorrow and
always (thank God ! :-).


Agreed here...I'll never forget Dan Kelly calling the play-by-play in the '87
Canada Cup.  He was masterful!

And Danny Gallivan will _never_ be replaced; even now when I watch HNIC I
remember his voice...when I see an Al MacInnis or Al Iafrate (hey, what's with
these guys named Al who can shoot??) shot from the point I still think
"blistering blast"...THN had a tribute to Gallivan in the issue following his
death; in the story they included a quote from one of the games he did.  It
went:

"It appears Risebrough has pugnaciously construed that check," he said, "and
will undoubtedly make a visitation to the box of punition."

Classic, vintage Gallivan!  He's sorely missed.  So here's to two of the best
there was and best that ever will be.


Has anyone had any problems with their Duo Dock not ejecting the Duo
properly?

When I first got it, the Duo would come out of the Dock a couple of inches
when ejected, and I had to pull it the rest of the way. Nowadays (and I've
had the system for 4 months), the Duo doesn't come out *at* *all* - despite
the fact that the mechanism makes all the appropriate noises, and I have to
grab hold of it and pull it out myself. Is there a simple fix for this, or
do I have to return it to my Apple Dealer, where it will languish for weeks
while I have to make do with no colour display, no VRAM, no floppy or
SCSI etc.

(BTW, it's not that the Duo is locked into the Dock - it just doesn't
want to slide out any more).


I'm looking for good background and review paper references that can help me
understand the dynamics of cytoskeleton in normal and transformed cells.  In
particular, I'm not interested in translational behavior and cell motility,
but rather in the internal motions of the cytoskeleton and its components
under normal and transformed circumstances.

Also, I'd appreciate any data on force constants, mechanical, and elastic
properties of microtubules, and viscous properties of cytoplasm.  Any other
info relevant to the vibrational or acoustical properties of these would
be useful to me.

Thanks...


WASHINGTON - A stark reminder of the Holocaust--a speech by Nazi
SS leader Heinrich Himmler that refers to "the extermination of the
Jewish race"--went on display Friday at the National Archives.
	The documents, including handwritten notes by Himmler, are
among the best evidence that exists to rebut claims that the
Holocaust is a myth, archivists say.
	"The notes give them their authenticity," said Robert Wolfe,
a supervisory archivist for captured German records.  "He was
supposed to destroy them.  Like a lot of bosses, he didn't obey his
own rules."
	The documents, moved out of Berlin to what Himmler hoped
would be a safe hiding place, were recovered by Allied forces after
World War II from a salt mine near Salzburg, Austria.
	Himmler spoke on Oct.4, 1943, in Posen, Poland, to more than
100 German secret police generals.  "I also want to talk to you,
quite frankly, on a very grave matter.  Among ourselves it should be
mentioned quite frankly, and yet we will never speak of it publicly.
I mean the clearing out of the Jew, the extermination of the Jewish
race.  This is a page of GLORY in our history which has never been
written and is never to be written."  [Emphasis mine--rje]
	The German word Himmler uses that is translated as
"extermination" is *Ausrottung*.
	Wolfe said a more precise translation would be "extirpation"
or "tearing up by the roots."
	In his handwritten notes, Himmler used a euphemism,
"Judenevakuierung" or "evacuation of the Jews."  But archives
officials said "extermination" is the word he actually
spoke--preserved on an audiotape in the archives.
	Himmler, who oversaw Adolf Hitler's "final solution of the
Jewish question," committed suicide after he was arrested in 1945.
	The National Archives exhibit, on display through May 16, is
a preview of the opening of the United States Holocaust Memorial
Museum here on April 26.
	The National Archives exhibit includes a page each of
Himmler's handwritten notes, a typed transcript from the speech and
an offical translation made for the Nuremberg war crimes trials.

	---From p.A10 of Saturday's L.A. Times, 4/17/93
	(Associated Press)


No. reverse lights are to warn others that you are backing up. They
aren't bright enough to (typically) see by without the brake and tail
lights.

Well, red and orange were already taken. Maybe white defines the direction
that the car is moving in.

If you really want to be able to see behind you, get some fog lamps for
the back of the car. These work very well - and are a good way to get
rid of tailgaters if you get that rush of testosterone.


Various posts about shafties can't do wheelies:

Uh, folks, the shaft doesn't have diddleysquatpoop to do with it. I can get
the front wheel off the ground on my /5, ferchrissake!


For Sale:

David Clark H10-40 Aviation Headset

Excellent Condition (not even a scratch) -- original packaging.

     Discover for yourself why the H10-40 continues to be the favorite headset
of thousands of pilots.  It was the first headset to have the advanced M-4
amplified electret microphone - with a frequency response specifically
designed to match the human voice.  Also includes durable universal boom
assembly and a noise reduction rating (NRR) of 24dB.  Weighs 19 oz.

** Includes Telex "push to talk switch"

Asking $220.00 U.S.

Shipping negotiable.

For more information respond to: afhetzel@netcom.com (Andrew)


For Sale:

	2 Amigas!

	Commodore Amiga 1000	Best offer
	512k Ram
	1 Internal Floppy drive
	Detachable Keyboard
	2 Button Mouse

	Commodore Amiga 500	Best offer
	1024k Ram
	1 Internal Floppy drive
	2 Button Mouse

	1 RGB Monitor		Best offer
	1 External Floppy drive	Best offer


Hi all,

I really thought that by now I would have seen something
about this, but I haven't, so here goes:  Last night on
the evening news, the anchorperson said something to the
effect that one of the SSRBs that was recovered after the
recent space shuttle launch was found to have a wrench of
some sort rattling around apparently inside the case.  There
was no elaboration as to where specfically the item was
found, of what type of wrench it was, but the anchorperson
did say something about a NASA official commenting that
there would be an inquiry into how the thing got in the SSRB.

Has anybody else on the net whose info sources may be
better than mine heard anything about this?  It seems rather
weird.


Yes, you could.

Well, letsee (whipping out HP-48SX, soon to be GX): 6 inches/3*10^8 m/s=.5
nanoseconds resolution.  Hmm.  That'll be rather difficult!

The more standard (read: better) method is to use ultrasound, generally
somewhere around 40kHz.  Sound travels a heck of a lot slower than light
(radio waves), and is therefore much easier to deal with.

It might be easiest to visit a hardware store and look at the numerous
"sonic estimator" type devices that do what you want here.  Many are pretty
cheap too -- <$30.  (In fact, for awhile the Stanley Estimator was selling
for something like $8.  That's the one I bought! :-) )


...

This is a common problem with highly complex TrueType fonts.  Microsoft
admits to a problem with older versions of the PostScript printer driver,
but I've found it to be pretty generic.

You can get around the problem by adjusting the parameter OutlineThreshold
in the [TrueType] section of WIN.INI.  This entry specifies the number of
pels-per-em at which Windows will render TrueType fonts as outline fonts
instead of as bitmap fonts.  The default is 256.  I've generally been able
to get fonts to work by setting OutlineThreshold=160.  Depending on your
printer resolution and the point size you are using, you may need a
different value.

The Windows Resource Kit warns against going above 300.  Presumably, that
might cause fonts to print as square boxes or something.  :-|  (I'm not
smiling.)


I saw the following computer in a store and wanted to know if this is a good
computer or does someone see something wrong with it.  I also would like to
switch the motherboard later when this computer becomes too slow.  Does anyone
know if this is possible with a Leading Edge Computer, or will it be difficult
to find a motherboard that will fit in this computer.  Any help will be
greatly appreciated.

      Leading Edge- Model PC4170E

      * Intel 486SX/25 Mhz CPU
      * Supports Intel OverDrive clock-Doubling Processors(What is this?)
      * Upgradable to 486DX2/66
      * 4 MB RAM upgradable to 32 MB
      * 8 KB internal cache
      * 1.2 MB 5 1/4" & 1.44 MB 3.5" Disk Drives
      * 213 MB Hard Drive
      * 1024 x 768 VGA Video Resolution
      * 1 MB Video RAM 256 Colors
      * 6 Available 16-bit ISA expansion Slots
      * One local bus socket (16-bit ISA Compatible)
      * 4 5.25" drive bays, 3 external
      * One 25-pin Centronics type parallel port
      * 2 RS-232C Serial Ports (9 & 25 pin)
      * One 15-pin analog video connector
      * One PS/2 Compatible mouse port
      * 200 Watt power supply
      * 101 key keyboard and mouse included
      * Software includes Windows 3.1, Dos 5.0, Microsoft Works for Windows

      The store wants $1200 (without monitor) for this.  Is it a good price?

      Thanks!


But what is Hasan B. Multu's middle name?  I'm not sure, but I heard
it was "Bibo".  I also seem to recall that "Argic" is Azari for "bites
the wax Macedonian".

We don't have a mail address, but how about finding a snail address?
Then instead of quashing Shergold rumors, we could just redirect them
- Ahmed Cosar is a seven year old Greek boy with an incurable case of
crossposting.  His wish is to get into the Usenet Book of World
Records for having the highest noise to signal ratio.


[other uninformed, purposefully ignorant gun control ranting deleted]

I want this man to tell me how in the hell you can take the
explosives used in the WTC bombing, considering that the
consensus seems to be that the explosive was a fertilizer-based
one.  Ammonium nitrate, to be exact . . . of which about
90,000 tons disappears per year (if I recall the stat correctly;
I don't have it here.)  Just one more disregarding of reality
to push a point.

[more bunk deleted]


Oddly enough, you don't, at least according to the wiring FAQ that
is regularly posted on misc.consumers.house.

A GFCI senses discrepancies between the live and neutral wire currents,
and cuts them both off if a discrepancy is found.  No ground connection
is needed for it to function.


Help, I'm bored with the current Windows backgrounds we have here and am
looking for some nifty pictures to use instead.  I've seen from previous posts
that many sites exist that store pictures - available through anonymous ftp.
Except that I can't ftp to remote sites from my machine, what I CAN do is use
'ftpmail' - mail a list of commands to a server and receive a mail of files,
and/or data back.
Does anyone know of sites, with Windows compatible pictures, that can be
accessed in such a way???
If you do would you please post them.
TIA
   Mark.

PS. Maybe this would make a useful FAQ


The other Jewish HOF'er is Rod Carew (who converted).

Lowenstein is Jewish, as well as Montana's only representative to the
major leagues.

Undeserving Cy Young award winner Steve Stone is Jewish.  Between Stone,
Koufax, Ken Holtzman (? might have the wrong pitcher, I'm thinking of the
one who threw a no-hitter in both the AL and NL), and Big Ed Reulbach,
that's quite a starting rotation.  Moe Berg can catch.  Harry Steinfeldt,
the 3b in the Tinkers-Evers-Chance infield.

Is Stanky Jewish?  Or is that just a "Dave Cohen" kinda misinterpretation?
Whatever, doesn't look like he stuck around the majors too long.


I am looking for a rat cell line of adrenal gland / cortical cell  -type. I
have been looking at ATCC without success and would very much appreciate any
help.

Thank you for reading this.

Christophe Roos

-------------------------------------------------------------------------
Institute of Biotechnology          Fax:                   +358 0 4346028
POBox 45, Valimotie 7               E-mail:   Christophe.Roos@Helsinki.Fi
University of Helsinki              X-400:           /G=Christophe/S=Roos
SF-00014 Finland                                /O=Helsinki/A=fumail/C=Fi


I've been running Dos 6 for about a month.  I was generally impressed with
the improvements:  the multiple boot configurations were great, the
new commands were nice, and DoubleSpace worked fine (twice as slow for
large data transfers, twice as fast for small with SmartDrv).

Until now.

This morning at 4 am while I was working on my research paper, I had to
reboot a hung Dos program (that did no disk i/o) from within Windows 3.1.
When my machine finished rebooting, I found my windows directory and about two
thirds of my other directories were irreversibly corrupted.

I cannot afford problems like this.  I'm returning to Dos 5.

mark


I am writing a custom widget to support the display of graphics
and imagery.  The user of the widget will be able to specify,
when creating it, whether it is to operate in X or GL mode.

I have set up translations and actions to handle mouse button
presses.  They work fine when the widget is in X mode.  In GL
mode they only work when the widget (my GL/X widget) is a child
of a manager.  Put another way, the translations do not work
when the widget is configured in GL mode and is a child of a
shell.  Does anyone know why this is happening?


RE: Red, wwhite, and black, the colors of the Imperial German war-flag --


We have received a number of requests for a reposting of the
International Obfuscated C Code Contest rules and guidelines.  Also
some people requested that these rules be posted to a wider set of
groups.  Sorry for the cross posting.

Some technical clarifications were made to the rules and guidelines.
(See the diff marks at the right hand edge)  The rules and guidelines
for this year remain the same, so people who have already or are
in the process of submitting entries for the 1993 IOCCC need not worry
about these changes.

chongo <Landon Curt Noll> /\cc/\        chongo@toad.com
Larry Bassel                            lab@sun.com

=-=

#!/bin/sh
# This is part 02 of a multipart archive
# ============= mkentry.c ==============
echo "x - extracting mkentry.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > mkentry.c &&
X/* @(#)mkentry.c	1.25 4/5/93 15:58:08 */
X/*
X * Copyright (c) Landon Curt Noll & Larry Bassel, 1993.
X * All Rights Reserved.  Permission for personal, education or non-profit use
X * is granted provided this this copyright and notice are included in its
X * entirety and remains unaltered.  All other uses must receive prior
X * permission in writing from both Landon Curt Noll and Larry Bassel.
X */
X/*
X * mkentry - make an International Obfuscated C Code Contest entry
X *
X * usage:
X *	mkentry -r remarks -b build -p prog.c -o ioccc.entry
X *
X *	-r remarks		file with remarks about the entry
X *	-b build		file containing how prog.c should be built
X *	-p prog.c		the obfuscated program source file
X *	-o ioccc.entry		ioccc entry output file
X *
X * compile by:
X *	cc mkentry.c -o mkentry
X */
X/*
X * Placed in the public domain by Landon Curt Noll, 1992.
X *
X * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
X * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
X */
X/*
X * WARNING:
X *
X * This program attempts to implement the IOCCC rules.  Every attempt
X * has been made to make sure that this program produces an entry that
X * conforms to the contest rules.  In all cases, where this program
X * differs from the contest rules, the contest rules will be used.  Be
X * sure to check with the contest rules before submitting an entry.
X *
X * FOR MORE INFORMATION:
X *
X *   You may contact the judges by sending Email to the following address:
X *
X *	...!{apple,pyramid,sun,uunet}!hoptoad!judges	(not the address for
X *	judges@toad.com					 submitting entries)
X *
X *   Questions and comments about the contest are welcome.
X *
X *  The rules and the guidelines may (and often do) change from year to
X *  year.  You should be sure you have the current rules and guidelines
X *  prior to submitting entries.  To obtain them, send Email to the address
X *  above and use the subject 'send rules'.
X *
X *  One may obtain winners of previous contests (1984 to date), via ftp from:
X *
X *	host: ftp.uu.net	(192.48.96.9)
X *	user: anonymous
X *	pass: yourname@yourhost
X *	dir:  ~/pub/ioccc
X *
X *  As a last resort, previous winners may be obtained by sending Email
X *  to the above address.  Please use the subject 'send YEAR winners',
X *  where YEAR is a single 4 digit year, a year range, or 'all'.
X *
X * Because contest rules change from year to year, one should only use this
X * program for the year that it was intended.  Be sure that the RULE_YEAR
X * define below matches this current year.
X */
X
X#include <stdio.h>
X#include <ctype.h>
X#include <time.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X
X/* logic */
X#ifndef TRUE
X# define TRUE 1
X#endif /* TRUE */
X#ifndef FALSE
X# define FALSE 0
X#endif /* FALSE */
X#define EOF_OK TRUE
X#define EOF_NOT_OK FALSE
X
X/* global limits */
X#define RULE_YEAR 1993		/* NOTE: should match the current year */
X#define START_DATE "1Mar92 0:00 UTC"	/* first confirmation received */
X#define MAX_COL 79		/* max column a line should hit */
X#define MAX_BUILD_SIZE 256	/* max how to build size */
X#define MAX_PROGRAM_SIZE 3217	/* max program source size */
X#define MAX_PROGRAM_SIZE2 1536	/* max program source size not counting
X				   whitespace and {}; not followed by
X				   whitespace or EOF */
X#define MAX_TITLE_LEN 12	/* max chars in the title */
X#define MAX_ENTRY_LEN 1		/* max length in the entry input line */
X#define MAX_ENTRY 8		/* max number of entries per person per year */
X#define MAX_FILE_LEN 1024	/* max filename length for a info file */
X
X/* where to send entries */
X#define ENTRY_ADDR1 "...!{apple,pyramid,sun,uunet}!hoptoad!obfuscate"
X#define ENTRY_ADDR2 "obfuscate@toad.com"
X
X/* uuencode process - assumes ASCII */
X#define UUENCODE(c) (encode_str[(int)(c)&0xff])
X#define UUENCODE_LEN 45		/* max uuencode chunk size */
X#define UUINFO_MODE 0444	/* mode of an info file's uuencode file */
X#define UUBUILD_MODE 0444	/* mode of the build file's uuencode file */
X#define UUBUILD_NAME "build"	/* name for the build file's uuencode file */
X#define UUPROG_MODE 0444	/* mode of the program's uuencode file */
X#define UUPROG_NAME "prog.c"	/* name for the program's uuencode file */
X
X/* encode_str[(char)val] is the uuencoded character of val */
Xchar encode_str[256+1] = "`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_";
X
X/* global declarations */
Xchar *program;			/* our name */
Xlong start_time;		/* the startup time */
X
X/* forward declarations */
Xvoid parse_args();
Xvoid usage();
XFILE *open_remark();
XFILE *open_build();
XFILE *open_program();
XFILE *open_output();
Xvoid output_entry();
Xvoid output_remark();
Xvoid output_author();
Xvoid output_info();
Xvoid output_build();
Xvoid output_program();
Xvoid output_end();
Xint get_line();
Xvoid output_till_dot();
Xint col_len();
Xvoid check_io();
Xvoid uuencode();
X
Xmain(argc, argv)
X    int argc;		/* arg count */
X    char **argv;	/* the args */
X{
X    FILE *remark=NULL;	/* open remarks stream */
X    FILE *build=NULL;	/* open build file stream */
X    FILE *prog=NULL;	/* open program stream */
X    FILE *output=NULL;	/* open output stream */
X    char *rname=NULL;	/* file with remarks about the entry */
X    char *bname=NULL;	/* file containing how prog.c should be built */
X    char *pname=NULL;	/* the obfuscated program source file */
X    char *oname=NULL;	/* ioccc entry output file */
X    struct tm *tm;	/* startup time structure */
X
X    /*
X     * check on the year
X     */
X    start_time = time((long *)0);
X    tm = gmtime(&start_time);
X    if (tm->tm_year != RULE_YEAR-1900) {
X	fprintf(stderr,
X	"%s: WARNING: this program applies to %d, which may differ from %d\n\n",
X	    argv[0], RULE_YEAR, 1900+tm->tm_year);
X    }
X
X    /*
X     * parse the command line args
X     */
X    parse_args(argc, argv, &rname, &bname, &pname, &oname);
X
X    /*
X     * open/check the input and output files
X     *
X     * We open and truncate the output file first, in case it is the same
X     * as one of the input files.
X     */
X    output = open_output(oname);
X    remark = open_remark(rname);
X    build = open_build(bname);
X    prog = open_program(pname);
X    if (output==NULL || remark==NULL || build==NULL || prog==NULL) {
X	exit(1);
X    }
X
X    /*
X     * output each section
X     */
X    output_entry(output, oname);
X    output_remark(output, oname, remark, rname);
X    output_author(output, oname);
X    output_info(output, oname);
X    output_build(output, oname, build, bname);
X    output_program(output, oname, prog, pname);
X    output_end(output, oname);
X
X    /*
X     * flush the output
X     */
X    if (fflush(output) == EOF) {
X	fprintf(stderr, "%s: flush error in %s: ", program, oname);
X	perror("");
X	exit(2);
X    }
X
X    /*
X     * final words
X     */
X    printf("\nYour entry can be found in %s.  You should check this file\n",
X	oname);
X    printf("correct any problems and verify that the uudecode utility will\n");
X    printf("correctly decode your build file and program.\n\n");
X    printf("This program has been provided as a guide for submitters.  In\n");
X    printf("cases where it conflicts with the rules, the rules shall apply.\n");
X    printf("It is your responsibility to ensure that your entry conforms to\n");
X    printf("the current rules.\n\n");
X    printf("Email your entries to:\n");
X    printf("\t%s\n", ENTRY_ADDR1);
X    printf("\t%s\n\n", ENTRY_ADDR2);
X    printf("Please use the following subject when you Email your entry:\n");
X    printf("\tioccc entry\n\n");
X    /* all done */
X    exit(0);
X}
X
X/*
X * parse_args - parse the command line args
X *
X * Given the command line args, this function parses them and sets the
X * required name flags.  This function will return only if the command
X * line syntax is correct.
X */
Xvoid
Xparse_args(argc, argv, rname, bname, pname, oname)
X    int argc;		/* arg count */
X    char **argv;	/* the args */
X    char **rname;	/* file with remarks about the entry */
X    char **bname;	/* file containing how prog.c should be built */
X    char **pname;	/* the obfuscated program source file */
X    char **oname;	/* ioccc entry output file */
X{
X    char *optarg;	/* -flag option operand */
X    int flagname;	/* the name of the -flag */
X    int i;
X
X    /*
X     * Not everyone has getopt, so we must parse args by hand.
X     */
X    program = argv[0];
X    for (i=1; i < argc; ++i) {
X
X	/* determine the flagname */
X	if (argv[i][0] != '-') {
X	    usage(1);
X	    /*NOTREACHED*/
X	}
X	flagname = (int)argv[i][1];
X
X	/* determine the flag's operand */
X	if (flagname != '\0' && argv[i][2] != '\0') {
X	    optarg = &argv[i][2];
X	} else {
X	    if (i+1 >= argc) {
X		usage(2);
X		/*NOTREACHED*/
X	    } else {
X		optarg = argv[++i];
X	    }
X	}
X
X	/* save the flag's operand in the correct global variable */
X	switch (flagname) {
X	case 'r':
X	    *rname = optarg;
X	    break;
X	case 'b':
X	    *bname = optarg;
X	    break;
X	case 'p':
X	    *pname = optarg;
X	    break;
X	case 'o':
X	    *oname = optarg;
X	    break;
X	default:
X	    usage(3);
X	    /*NOTREACHED*/
X	}
X    }
X
X    /*
X     * verify that we have all of the required flags
X     */
X    if (*rname == NULL || *bname == NULL || *pname == NULL || *oname == NULL) {
X	usage(4);
X	/*NOTREACHED*/
X    }
X    return;
X}
X
X/*
X * usage - print a usage message and exit
X *
X * This function does not return.
X */
Xvoid
Xusage(exitval)
X    int exitval;		/* exit with this value */
X{
X    fprintf(stderr,
X	"usage: %s -r remarks -b build -p prog.c -o ioccc.entry\n\n", program);
X    fprintf(stderr, "\t-r remarks\tfile with remarks about the entry\n");
X    fprintf(stderr, "\t-b build\tfile containing how prog.c should be built\n");
X    fprintf(stderr, "\t-p prog.c\tthe obfuscated program source file\n");
X    fprintf(stderr, "\t-o ioccc.entry\tioccc entry output file\n");
X    exit(exitval);
X}
X
X/*
X * open_remark - open/check the remark file
X *
X * The remark file should be indented by 4 spaces, and should not extend
X * beyond column MAX_COL.  These are not requirements, so we only warn.
X *
X * This function returns NULL on I/O or format error.
X */
XFILE *
Xopen_remark(filename)
X    char *filename;
X{
X    FILE *stream;		/* the opened file stream */
X    char buf[BUFSIZ+1];		/* input buffer */
X    int toolong=0;		/* number of lines that are too long */
X    int non_indent=0;		/* number of lines not indented by 4 spaces */
X
X    /*
X     * open the remark input file
X     */
X    stream = fopen(filename, "r");
X    if (stream == NULL) {
X	fprintf(stderr, "%s: cannot open remark file: %s: ",
X	    program, filename);
X	perror("");
X	return(NULL);
X    }
X
X    /*
X     * look at each line
X     */
X    while (fgets(buf, BUFSIZ, stream) != NULL) {
X
X	/* count lines that do not start with 4 spaces */
X	if (buf[0] != '\n' && strncmp(buf, "    ", 4) != 0) {
X	    ++non_indent;
X	}
X
X	/* count long lines */
X	if (col_len(buf) > MAX_COL) {
X	    /* found a line that is too long */
X	    ++toolong;
X	}
X    }
X
X    /* watch for I/O errors */
X    check_io(stream, filename, EOF_OK);
X
X    /* note long lines if needed */
X    if (toolong > 0) {
X	fprintf(stderr,
X	    "%s: WARNING: %d line(s) from %s extend beyond the 80th column\n",
X	    program, toolong, filename);
X	fprintf(stderr,
X	    "%s:          This is ok, but it would be nice to avoid\n\n",
X	    program);
X    }
X
X    /* note non-indented lines, if needed */
X    if (non_indent > 0) {
X	fprintf(stderr,
X	    "%s: WARNING: %d line(s) from %s are not indented by 4 spaces\n",
X	    program, non_indent, filename);
X	fprintf(stderr,
X	    "%s:          This is ok, but it would be nice to avoid\n\n",
X	    program);
X    }
X
X    /* return the open file */
X    rewind(stream);
X    return(stream);
X}
X
X/*
X * open_build - open/check the build file
X *
X * The how to build file must not be longer than MAX_BUILD_SIZE bytes.
X *
X * This function returns NULL on I/O or size error.
X */
XFILE *
Xopen_build(filename)
X    char *filename;
X{
X    FILE *stream;		/* the opened file stream */
X    struct stat statbuf;	/* the status of the open file */
X
X    /*
X     * open the how to build input file
X     */
X    stream = fopen(filename, "r");
X    if (stream == NULL) {
X	fprintf(stderr, "%s: cannot open how to build file: %s: ",
X	    program, filename);
X	perror("");
X	return(NULL);
X    }
X
X    /*
X     * determine the size of the file
X     */
X    if (fstat(fileno(stream), &statbuf) < 0) {
X	fprintf(stderr, "%s: cannot stat how to build file: %s: ",
X	    program, filename);
X	perror("");
X	return(NULL);
X    }
X    if (statbuf.st_size > MAX_BUILD_SIZE) {
X	fprintf(stderr,
X	    "%s: FATAL: the how to build file: %s, is %d bytes long\n",
X	    program, filename, statbuf.st_size);
X	fprintf(stderr,
X	    "%s:        it may not be longer than %d bytes\n",
X	    program, MAX_BUILD_SIZE);
X	return(NULL);
X    }
X
X    /* return the open file */
X    return(stream);
X}
X
X/*
X * open_program - open/check the program source file
X *
X * The program source file must be <= 3217 bytes.  The number of
X * non-whitespace and }{; chars not followed by whitespace must
X * be <= 1536 bytes.
X *
X * This function returns NULL on I/O or size error.
X */
XFILE *
Xopen_program(filename)
X    char *filename;
X{
X    FILE *stream;		/* the opened file stream */
X    struct stat statbuf;	/* the status of the open file */
X    int count;			/* special count size */
X    int c;			/* the character read */
X
X    /*
X     * open the program source input file
X     */
X    stream = fopen(filename, "r");
X    if (stream == NULL) {
X	fprintf(stderr, "%s: cannot open program source file: %s: ",
X	    program, filename);
X	perror("");
X	exit(7);
X    }
X
X    /*
X     * determine the size of the file
X     */
X    if (fstat(fileno(stream), &statbuf) < 0) {
X	fprintf(stderr, "%s: cannot stat program source file: %s: ",
X	    program, filename);
X	perror("");
X	return(NULL);
X    }
X    if (statbuf.st_size > MAX_PROGRAM_SIZE) {
X	fprintf(stderr,
X	    "%s: FATAL: the program source file: %s, is %d bytes long\n",
X	    program, filename, statbuf.st_size);
X	fprintf(stderr,
X	    "%s:        it may not be longer than %d bytes\n",
X	    program, MAX_PROGRAM_SIZE);
X	return(NULL);
X    }
X
X    /*
X     * count the non-whitespace, non {}; followed by whitespace chars
X     */
X    count = 0;
X    c = 0;
X    while ((c=fgetc(stream)) != EOF) {
X	/* look at non-whitespace */
X	if (!isascii(c) || !isspace(c)) {
X	    switch (c) {
X	    case '{':		/* count if not followed by EOF or whitespace */
X	    case '}':
X	    case ';':
X		/* peek at next char */
X		c = fgetc(stream);
X		if (c != EOF && isascii(c) && !isspace(c)) {
X		    /* not followed by whitespace or EOF, count it */
X		    ungetc(c, stream);
X		    ++count;
X		}
X		break;
X	    default:
X		++count;
X		break;
X	    }
X	}
X    }
X
X    /* watch for I/O errors */
X    check_io(stream, filename, EOF_OK);
X
X    /* look at the special size */
X    if (count > MAX_PROGRAM_SIZE2) {
X	fprintf(stderr,
X	    "%s: FATAL: the number of bytes that are non-whitespace, and\n",
X	    program);
X	fprintf(stderr,
X	    "%s:        that are not '{', '}', ';' followed by whitespace\n",
X	    program);
X	fprintf(stderr,
X	    "%s:        or EOF must be <= %d bytes\n",
X	    program, MAX_PROGRAM_SIZE2);
X	fprintf(stderr,
X	    "%s:        in %s, %d bytes were found\n",
X	    program, filename, count);
X	return(NULL);
X    }
X
X    /* return the open file */
X    rewind(stream);
X    return(stream);
X}
X
X/*
X * open_output - open/check the entry output file
X *
X * This function returns NULL on open error.
X */
XFILE *
Xopen_output(filename)
X    char *filename;
X{
X    FILE *stream;		/* the opened file stream */
X
X    /*
X     * open the ioccc entry output file
X     */
X    stream = fopen(filename, "w");
X    if (stream == NULL) {
X	fprintf(stderr, "%s: cannot open ioccc entry file for output: %s: ",
X	    program, filename);
X	perror("");
X	exit(8);
X    }
X
X    /* return the open file */
X    return(stream);
X}
X
X/*
X * output_entry - output the ---entry--- section
X *
X * Read the needed information form stdin, and write the entry section.
X */
Xvoid
Xoutput_entry(output, oname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X{
X    char title[MAX_TITLE_LEN+1+1];	/* the entry's title */
X    char buf[MAX_COL+1+1];		/* I/O buffer */
X    int entry=0;			/* entry number */
X    int ret;				/* fields processed by fscanf */
X    int ok_line=0;			/* 0 => the line is not ok */
X    char skip;				/* input to skip */
X    FILE *date_pipe;			/* pipe to a date command */
X    time_t epoch_sec;			/* seconds since the epoch */
X    char *p;
X
X    /*
X     * write the start of the section
X     */
X    fprintf(output, "---entry---\n");
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * write the rule year
X     */
X    fprintf(output, "rule:\t%d\n", RULE_YEAR);
X    check_io(output, oname, EOF_NOT_OK);
X
X    /* determine if this is a fix */
X    printf("Is this a fix, update or resubmittion to a ");
X    printf("previous entry (enter y or n)? ");
X    while (get_line(buf, 1+1, 0) <= 0 || !(buf[0]=='y' || buf[0]=='n')) {
X	printf("\nplease answer y or n: ");
X    }
X    if (buf[0] == 'y') {
X	fprintf(output, "fix:\ty\n");
X	check_io(output, oname, EOF_NOT_OK);
X	printf("\nBe sure that the title and entry number that you give\n");
X	printf("are the same of as the entry you are replacing\n");
X    } else {
X	fprintf(output, "fix:\tn\n");
X	check_io(output, oname, EOF_NOT_OK);
X    }
X
X    /*
X     * write the title
X     */
X    printf("\nYour title must match expression be a [a-zA-Z0-9_=] character\n");
X    printf("followed by 0 to %d more [a-zA-Z0-9_=+-] characters.\n\n",
X	MAX_TITLE_LEN-1);
X    printf("It is suggested, but not required, that the title should\n");
X    printf("incorporate your username; in the\n");
X    printf("case of multiple authors, consider using parts of the usernames\n");
X    printf("of the authors.\n\n");
X    printf("enter your title: ");
X    do {
X	/* prompt and read a line */
X	if ((ok_line = get_line(title, MAX_TITLE_LEN+1, MAX_COL-9)) <= 0) {
X	    printf("\ntitle is too long, please re-enter: ");
X	    continue;
X	}
X
X	/* verify the pattern, not everyone has regexp, so do it by hand */
X	if (!isascii((int)title[0]) ||
X	    !(isalnum((int)title[0]) || title[0] == '_' || title[0] == '=')) {
X	    printf("\ninvalid first character in the title\n\n");
X	    printf("enter your title: ");
X	    ok_line = 0;
X	} else {
X	    for (p=(&title[1]); *p != '\0' && *p != '\n'; ++p) {
X		if (!isascii((int)*p) ||
X		    !(isalnum((int)*p) ||
X		      *p == '_' || *p == '=' || *p == '+' || *p == '-')) {
X		    printf("\ninvalid character in the title\n\n");
X		    printf("enter your title: ");
X		    ok_line = 0;
X		}
X	    }
X	}
X    } while (ok_line <= 0);
X    fprintf(output, "title:\t%s", title);
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * write the entry number
X     */
X    printf("\nEach person may submit up to %d entries per year.\n\n",
X	MAX_ENTRY);
X    printf("enter an entry number from 0 to %d inclusive: ", MAX_ENTRY-1);
X    do {
X	/* get a valid input line */
X	fflush(stdout);
X	ret = fscanf(stdin, "%d[\n]", &entry);
X	check_io(stdin, "stdin", EOF_NOT_OK);
X	/* skip over input until newline is found */
X	do {
X	    skip = fgetc(stdin);
X	    check_io(stdin, "stdin", EOF_NOT_OK);
X	    if (skip != '\n') {
X		/* bad text in input, invalidate entry number */
X		entry = -1;
X	    }
X	} while (skip != '\n');
X
X	/* check if we have a number, and if it is in range */
X	if (ret != 1 || entry < 0 || entry > MAX_ENTRY-1) {
X	    printf(
X	      "\nThe entry number must be between 0 and %d inclusive\n\n",
X		MAX_ENTRY-1);
X	    printf("enter the entry number: ");
X	}
X    } while (ret != 1 || entry < 0 || entry > MAX_ENTRY-1);
X    fprintf(output, "entry:\t%d\n", entry);
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * write the submission date
X     */
X    /* returns a newline */
X    epoch_sec = time(NULL);
X    fprintf(output, "date:\t%s", asctime(gmtime(&epoch_sec)));
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * write the OS/machine host information
X     */
X    printf(
X      "\nEnter the machine(s) and OS(s) under which your entry was tested.\n");
X    output_till_dot(output, oname, "host:");
X}
X
X/*
X * output_remark - output the ---remark--- section
X *
X * Read the needed information form stdin, and write the entry section.
X */
Xvoid
Xoutput_remark(output, oname, remark, rname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X    FILE *remark;		/* stream to the file containing remark text */
X    char *rname;		/* name of the remark file */
X{
X    char buf[BUFSIZ+1];		/* input/output buffer */
X
X    /*
X     * write the start of the section
X     */
X    fprintf(output, "---remark---\n");
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * copy the remark file to the section
X     */
X    while (fgets(buf, BUFSIZ, remark) != NULL) {
X	fputs(buf, output);
X	check_io(output, oname, EOF_NOT_OK);
X    }
X    check_io(remark, rname, EOF_OK);
X
X    /* be sure that the remark section ends with a newline */
X    if (buf[strlen(buf)-1] != '\n') {
X	fputc('\n', output);
X	check_io(output, oname, EOF_NOT_OK);
X    }
X}
X
X/*
X * output_author - output the ---author--- section
X *
X * Read the needed information from stdin, and write the author section.
X * If multiple authors exist, multiple author sections will be written.
X */
Xvoid
Xoutput_author(output, oname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X{
X    char buf[MAX_COL+1+1];	/* I/O buffer */
X    int more_auths;		/* TRUE => more authors to note */
X    int auth_cnt=0;		/* number of authors processed */
X
X    /*
X     * prompt the user for the author section
X     */
X    printf("\nEnter information about each author.  If your entry is after\n");
X    printf("%s and before the contest deadline, the judges\n", START_DATE);
X    printf("will attempt to Email back a confirmation to the first author\n");
X
X    /*
X     * place author information for each author in an individual section
X     */
X    do {
X
X	/* write the start of the section */
X	fprintf(output, "---author---\n");
X	check_io(output, oname, EOF_NOT_OK);
X
X	/* write the author */
X	printf("\nAuthor #%d name: ", ++auth_cnt);
X	while (get_line(buf, MAX_COL+1, MAX_COL-9) <= 0) {
X	    printf("\nname too long, please re-enter: ");
X	}
X	fprintf(output, "name:\t%s", buf);
X	check_io(output, oname, EOF_NOT_OK);
X
X	/* write the organization */
X	printf("\nEnter the School/Company/Organization of author #%d\n",
X	    auth_cnt);
X	printf("\nAuthor #%d org: ", auth_cnt);
X	while (get_line(buf, MAX_COL+1, MAX_COL-9) <= 0) {
X	    printf("\nline too long, please re-enter: ");
X	}
X	fprintf(output, "org:\t%s", buf);
X	check_io(output, oname, EOF_NOT_OK);
X
X	/* write the address */
X	printf(
X	    "\nEnter the postal address for author #%d.  Be sure to include\n",
X	    auth_cnt);
X	printf("your country and do not include your name.\n");
X	output_till_dot(output, oname, "addr:");
X
X	/* write the Email address */
X	printf(
X	    "\nEnter the Email address for author #%d.  Use an address from\n",
X	    auth_cnt);
X	printf(
X	    "a registered domain or well known site.  If you give several\n");
X	printf("forms, list them one per line.\n");
X	output_till_dot(output, oname, "email:");
X
X	/* write the anonymous status */
X	printf("\nShould author #%d remain anonymous (enter y or n)? ",
X	    auth_cnt);
X	while (get_line(buf, 1+1, 0) <= 0 || !(buf[0]=='y' || buf[0]=='n')) {
X	    printf("\nplease answer y or n: ");
X	}
X	fprintf(output, "anon:\t%s", buf);
X	check_io(output, oname, EOF_NOT_OK);
X
X	/* determine if there is another author */
X	printf("\nIs there another author (enter y or n)? ");
X	while (get_line(buf, 1+1, 0) <= 0 || !(buf[0]=='y' || buf[0]=='n')) {
X	    printf("\nplease answer y or n: ");
X	}
X	if (buf[0] == 'y') {
X	    more_auths = TRUE;
X	} else {
X	    more_auths = FALSE;
X	}
X    } while (more_auths == TRUE);
X    return;
X}
X
X/*
X * output_info - output the ---info--- section(s)
X *
X * Read the needed information from stdin, and write the info section.
X * If multiple info files exist, multiple info sections will be written.
X */
Xvoid
Xoutput_info(output, oname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X{
X    char infoname[MAX_FILE_LEN+1];	/* filename buffer */
X    char yorn[1+1];		/* y or n answer */
X    char *uuname;		/* name to uuencode as */
X    FILE *infile;		/* info file stream */
X
X    /*
X     * prompt the user for info information
X     */
X    printf("\nInfo files should be used only to supplement your entry.\n");
X    printf("For example, info files may provide sample input or detailed\n");
X    printf("information about your entry.  Because they are supplemental,\n");
X    printf("the entry should not require them to exist.\n\n");
X
X    /*
X     * while there is another info file to save, uuencode it
X     */
X    printf("Do you have a info file to include (enter y or n)? ");
X    while (get_line(yorn, 1+1, 0) <= 0 || !(yorn[0]=='y' || yorn[0]=='n')) {
X	printf("\nplease answer y or n: ");
X    }
X    while (yorn[0] == 'y') {
X
X	/* read the filename */
X	printf("\nEnter the info filename: ");
X	while (get_line(infoname, MAX_FILE_LEN+1, 0) <= 0) {
X	    printf("\nInfo filename too long, please re-enter: ");
X	}
X
X	/* compute the basename of the info filename */
X	/* remove the trailing newline */
X	uuname = &infoname[strlen(infoname)-1];
X	*uuname = '\0';
X	/* avoid rindex/shrrchr compat issues, do it by hand */
X	for (--uuname; uuname > infoname; --uuname) {
X	    if (*uuname == '/') {
X		++uuname;
X		break;
X	    }
X	}
X
X	/* attempt to open the info file */
X	infile = fopen(infoname, "r");
X	if (infile == NULL) {
X	    fprintf(stderr, "\n%s: cannot open info file: %s: ",
X		program, infoname);
X	    perror("");
X	    continue;
X	}
X
X	/*
X	 * write the start of the section
X	 */
X	fprintf(output, "---info---\n");
X	check_io(output, oname, EOF_NOT_OK);
X
X	/* uuencode the info file */
X	uuencode(output, oname, infile, infoname, UUINFO_MODE, uuname);
X
X	printf("\nDo you have another info file to include (enter y or n)? ");
X	while (get_line(yorn, 1+1, 0) <= 0 || !(yorn[0]=='y' || yorn[0]=='n')) {
X	    printf("\nplease answer y or n: ");
X	}
X    };
X    return;
X}
X
X/*
X * output_build - output the ---build--- section
X *
X * Read the needed information from stdin, and write the build section.
X */
Xvoid
Xoutput_build(output, oname, build, bname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X    FILE *build;		/* open build file stream */
X    char *bname;		/* name of the build file */
X{
X    /*
X     * write the start of the section
X     */
X    fprintf(output, "---build---\n");
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * uuencode the program file
X     */
X    uuencode(output, oname, build, bname, UUBUILD_MODE, UUBUILD_NAME);
X    return;
X}
X
X/*
X * output_program - output the ---program--- section
X *
X * Read the needed information form stdin, and write the program section.
X */
Xvoid
Xoutput_program(output, oname, prog, pname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X    FILE *prog;			/* open program stream */
X    char *pname;		/* name of program file */
X{
X    /*
X     * write the start of the section
X     */
X    fprintf(output, "---program---\n");
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * uuencode the program file
X     */
X    uuencode(output, oname, prog, pname, UUPROG_MODE, UUPROG_NAME);
X    return;
X}
X
X/*
X * output_end - output the ---end--- section
X *
X * Read the needed information form stdin, and write the 'end section'.
X */
Xvoid
Xoutput_end(output, oname)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X{
X    /*
X     * write the final section terminator
X     */
X    fprintf(output, "---end---\n");
X    check_io(output, oname, EOF_NOT_OK);
X    return;
X}
X
X/*
X * get_line - get an answer from stdin
X *
X * This function will flush stdout, in case a prompt is pending, and
X * read in the answer.
X *
X * This function returns 0 if the line is too long, of the length of the
X * line (including the newline) of the line was ok.  This function does
X * not return if ERROR or EOF.
X */
Xint
Xget_line(buf, siz, maxcol)
X    char *buf;			/* input buffer */
X    int siz;			/* length of input, including the newline */
X    int maxcol;			/* max col allowed, 0 => disable check */
X{
X    int length;			/* the length of the input line */
X
X    /* flush terminal output */
X    fflush(stdout);
X
X    /* read the line */
X    if (fgets(buf, siz+1, stdin) == NULL) {
X	/* report the problem */
X	check_io(stdin, "stdin", EOF_NOT_OK);
X    }
X
X    /* look for the newline */
X    length = strlen(buf);
X    if (buf[length-1] != '\n') {
X	int eatchar;		/* the char being eaten */
X
X	/* no newline found, line must be too long, eat the rest of the line */
X	do {
X	    eatchar = fgetc(stdin);
X	} while (eatchar != EOF && eatchar != '\n');
X	check_io(stdin, "stdin", EOF_NOT_OK);
X
X	/* report the situation */
X	return 0;
X    }
X
X    /* watch for long lines, if needed */
X    if (maxcol > 0 && (length > maxcol || col_len(buf) > maxcol)) {
X	/* report the situation */
X	return 0;
X    }
X
X    /* return length */
X    return length;
X}
X
X/*
X * output_till_dot - output a set of lines until '.' by itself is read
X *
X * This routine will read a set of lines until (but not including)
X * a single line with '.' is read.  The format of the output is:
X *
X *	leader:\tfirst line
X *	\tnext line
X *	\tnext line
X *	   ...
X *
X * This routine will not return if I/O error or EOF.
X */
Xvoid
Xoutput_till_dot(output, oname, leader)
X    FILE *output;		/* entry's output file stream */
X    char *oname;		/* name of the output file */
X    char *leader;		/* the lead text for the first line */
X{
X    char buf[BUFSIZ+1];		/* input buffer */
X    int count;			/* lines read */
X    int done=FALSE;		/* TRUE => finished reading input */
X
X    /* instruct the user on how to input */
X    printf("\nTo end input, enter a line with a single period.\n");
X
X    /* read lines until '.' or EOF */
X    count = 0;
X    while (!done) {
X	/* issue the prompt */
X	printf("%s\t", (count>0) ? "" : leader);
X	fflush(stdout);
X
X	/* get the line */
X	if (get_line(buf, BUFSIZ, MAX_COL-9) <= 0) {
X	    printf("\nline too long, please re-enter:\n\t");
X	    continue;
X	}
X
X	/* note if '.' was read */
X	if (strcmp(buf, ".\n") == 0) {
X	    done = TRUE;
X	}
X
X	/* write line if we read something */
X	if (!done) {
X	    fprintf(output, "%s\t%s", (count++>0) ? "" : leader, buf);
X	    check_io(output, oname, EOF_NOT_OK);
X	}
X    }
X
X    /* if no lines read, at least output something */
X    if (count <= 0) {
X	fprintf(output, "%s\t.\n", leader);
X	check_io(output, oname, EOF_NOT_OK);
X    }
X    return;
X}
X
X/*
X * col_len - determine the highest that a string would reach
X *
X * Given a string, this routine returns that a string would reach
X * if the string were printed at column 1.  Tab stops are assumed
X * to start at 9, 17, 25, 33, ...
X */
Xint
Xcol_len(string)
X    char *string;		/* the string to examine */
X{
X    int col;	/* current column */
X    char *p;	/* current char */
X
X    /* scan the string */
X    for (col=0, p=string; *p != '\0' && *p != '\n'; ++p) {
X	/* note the column shift */
X	col = (*p=='\t') ? 1+((col+8)/8*8) : col+1;
X    }
X    if (*p == '\n') {
X	--col;
X    }
X
X    /* return the highest column */
X    return col;
X}
X
X/*
X * check_io - check for EOF or I/O error on a stream
X *
X * Does not return if EOF or I/O error.
X */
Xvoid
Xcheck_io(stream, name, eof_ok)
X    FILE *stream;		/* the stream to check */
X    char *name;			/* the name of this stream */
X    int eof_ok;			/* EOF_OK or EOF_NOT_OK */
X{
X    /* test for I/O error */
X    if (ferror(stream)) {
X	fprintf(stderr, "%s: error on %s: ", program, name);
X	perror("");
X	exit(1);
X
X    /* test for EOF */
X    } else if (eof_ok == EOF_NOT_OK && feof(stream)) {
X	fprintf(stderr, "%s: EOF on %s\n", program, name);
X	exit(1);
X    }
X    return;
X}
X
X/*
X * uuencode - uuencode a file
X *
X * Perform the uuencoding process identical to the process performed
X * by the uuencode(1) utility.
X *
X * This routine implements the algorithm described in the uuencode(5)
X * 4.3BSD Reno man page.
X */
Xvoid
Xuuencode(output, oname, infile, iname, umode, uname)
X    FILE *output;		/* output file stream */
X    char *oname;		/* output filename */
X    FILE *infile;		/* input file stream */
X    char *iname;		/* input filename */
X    int umode;			/* the mode to put on the uuencode file */
X    char *uname;		/* name to put on the uuencode file */
X{
X    char buf[UUENCODE_LEN+1];	/* the uuencode buffer */
X    int read_len;		/* actual number of chars read */
X    int val;			/* 6 bit chunk from buf */
X    char filler='\0';		/* filler uuencode pad text */
X    char *p;
X
X    /*
X     * output the initial uuencode header
X     */
X    fprintf(output, "begin %o %s\n", umode, uname);
X    check_io(output, oname, EOF_NOT_OK);
X
X    /*
X     * clear out the input buffer
X     */
X    for (p=buf; p < &buf[sizeof(buf)/sizeof(buf[0])]; ++p) {
X	*p = '\0';
X    }
X
X    /*
X     * We will process UUENCODE_LEN chars at a time, forming
X     * a single output line each time.
X     */
X    while ((read_len=fread(buf,sizeof(buf[0]),UUENCODE_LEN,infile)) > 0) {
X
X	/*
X	 * the first character is the length character
X	 */
X	fputc(UUENCODE(read_len), output);
X	check_io(output, oname, EOF_NOT_OK);
X
X	/*
X	 * We will convert 24 bits at a time.  Thus we will convert
X	 * 3 sets of 8 bits into 4 sets of uuencoded 6 bits.
X	 */
X	for (p=buf; read_len>0; read_len-=3, p+=3) {
X
X	    /* bits 0 to 5 */
X	    val = (p[0]>>2)&0x3f;
X	    fputc(UUENCODE(val), output);
X	    check_io(output, oname, EOF_NOT_OK);
X
X	    /* bits 6 to 11 */
X	    val = ((p[0]<<4)&0x30) | ((p[1]>>4)&0x0f);
X	    fputc(UUENCODE(val), output);
X	    check_io(output, oname, EOF_NOT_OK);
X
X	    /* bits 12 to 17 */
X	    val = ((p[1]<<2)&0x3c) | ((p[2]>>6)&0x03);
X	    fputc(UUENCODE(val), output);
X	    check_io(output, oname, EOF_NOT_OK);
X
X	    /* bits 18 to 23 */
X	    val = p[2]&0x3f;
X	    fputc(UUENCODE(val), output);
X	    check_io(output, oname, EOF_NOT_OK);
X	}
X
X	/* end of UUENCODE_LEN line */
X	fputc('\n', output);
X	check_io(output, oname, EOF_NOT_OK);
X
X	/*
X	 * clear out the input buffer  (don't depend on bzero() or memset())
X	 */
X	for (p=buf; p < &buf[sizeof(buf)/sizeof(buf[0])]; ++p) {
X	    *p = '\0';
X	}
X    }
X
X    /* check the last read on the input file */
X    check_io(infile, iname, EOF_OK);
X
X    /* write end of uuencode file */
X    fprintf(output, "%c\nend\n", UUENCODE(filler));
X    check_io(output, oname, EOF_NOT_OK);
X}
SHAR_EOF
chmod 0444 mkentry.c ||
echo "restore of mkentry.c failed"
set `wc -c mkentry.c`;Wc_c=$1
if test "$Wc_c" != "34482"; then
	echo original size 34482, current size $Wc_c
fi
# ============= obfuscate.info ==============
echo "x - extracting obfuscate.info (Text)"
sed 's/^X//' << 'SHAR_EOF' > obfuscate.info &&
X1993 Obfuscated contest information
X
XCopyright (c) Landon Curt Noll & Larry Bassel, 1993.
XAll Rights Reserved.  Permission for personal, education or non-profit use is
Xgranted provided this this copyright and notice are included in its entirety
Xand remains unaltered.  All other uses must receive prior permission in writing
Xfrom both Landon Curt Noll and Larry Bassel.
X
XThe International Obfuscated C Code Contest (IOCCC), in the sprit of
Xco-operation, is willing mention other programming contents, as space
Xpermits.
X
XHow to have your contest included in this file:
X
X    If you wish the IOCCC judges to include your contest in this file,
X    send a request to:
X
X	judges@toad.com
X
X    We request that contest descriptions be limited to 50 lines and to
X    not exceed 2500 bytes.  We typically request that your contest
X    include a current description of the IOCCC.
X
X    In order to be included in this file for given year, we must
X    receive a current description no EARLIER than Jan 1 00:00:00 UTC and
X    no LATER than Feb 15 00:00:00 UTC.  Agreement to publish your
X    contest must also be obtained prior to Feb 15.  Annual contests
X    that fail to submit a new entry will be dropped from this file.
X
XOfficial Disclaimer:  (pardon the officialese)
X
X    The contents noted below, other than the IOCCC, are not affiliated
X    with the IOCCC, nor are they endorsed by the IOCCC.  We reserve the
X    right to refuse to print information about a given contest.
X
X    The information below was provided by the particular contest
X    organizer(s) and printed by permission.  Please contact the
X    contest organizer(s) directly regarding their contents.
X
XWith that official notice given, we present for your ENJOYMENT, the following
Xinformation about contents:
X
X---------------------------------------------------------------------------
X
X    10th International Obfuscated C Contest
X
X	"The original obfuscated contest"
X
X    Obfuscate:  tr.v.  -cated, -cating, -cates.  1. a.  To render obscure.
X                b.  To darken.  2. To confuse:  Their emotions obfuscated
X		their judgment.  [LLat. obfuscare, to darken : ob(intensive) +
X                Lat. fuscare, to darken < fuscus, dark.] -obfuscation n.
X                obfuscatory adj.
X
X    GOALS OF THE CONTEST:
X
X        * To write the most Obscure/Obfuscated C program under the rules below.
X        * To show the importance of programming style, in an ironic way.
X        * To stress C compilers with unusual code.
X        * To illustrate some of the subtleties of the C language.
X        * To provide a safe forum for poor C code.  :-)
X
X    The IOCCC is the grandfather of USENET programming contests.  Since
X    1984, this contest demonstrated that a program that simply works
X    correctly is not sufficient.  The IOCCC has also done much to add
X    the arcane word 'obfuscated' back into the English language.
X    (see "The New Hacker's Dictionary" by Eric Raymond)
X
X    You are strongly encouraged to read the new contest rules before
X    sending any entries.  The rules, and sometimes the contest Email
X    address itself, change over time.  A valid entry one year may
X    be rejected in a later year due to changes in the rules.  The typical
X    start date for contests is in early March.  Contest rules are normally not
X    finalized and posted until the beginning of the contest.  The typical
X    closing date for contests are in early May.
X
X    The rules and the guidelines may (and often do) change from year to
X    year.  You should be sure you have the current rules and guidelines
X    prior to submitting entries.  To obtain them, send Email to the address
X    above and use the subject 'send rules'.
X
X    One may obtain winners of previous contests (1984 to date), via ftp from:
X
X	host: ftp.uu.net	(192.48.96.9)
X	user: anonymous
X	pass: yourname@yourhost
X	dir:  ~/pub/ioccc
X
X    As a last resort, previous winners may be obtained by sending Email
X    to the above address.  Please use the subject 'send YEAR winners',
X    where YEAR is a single 4 digit year, a year range, or 'all'.
X
X---------------------------------------------------------------------------
X
X    0th International Obfuscated Perl Contest
X	By: Landon Noll & Larry Wall
X
X    This content is being planned.  Someday when Landon & Larry are not too
X    busy, they will actually get around to posting the first set of rules!
X
X		  but other existing projects got in the way.  Hopefully
X		  something will be developed after Nov 1993."
X
X---------------------------------------------------------------------------
X
X                2nd International obFUsCaTeD POsTsCripT Contest
X                     Jonathan Monsarrat (jgm@cs.brown.edu)
X                         Alena Lacova (alena@nikhef.nl)
X
X    A  contest of  programming skills  and  knowledge, exclusively  for the
X    PostScript programming language. Its purpose:
X
X    * To spread knowledge of PostScript and its details.
X    * To applaud those with the best tricks.
X    * To prove  that humans can  beat those damnable  machine generators at
X      their own game by writing  the most obscure and mysterious PostScript
X      programs ever.
X
X    Winners will receive the fame and attention that goes with having their
X    program entry posted as a winner to programmers world-wide.
X
X    The 1993 contest rules and results are available by ftp as
X    ``wilma.cs.brown.edu:pub/postscript/obfuscated*.shar'', or individually
X    in the obfuscated directory. The judges will post the 1994 rules
X    in November to comp.lang.postscript on Usenet, and other places.
X    Send questions to jgm@cs.brown.edu.
X
X    Categories include: Best Obfuscated PostScript, Best Artwork,
X    Most Compact, Best Interactive Program, Most Useful, and
X    anything so unusual and creative that it deserves an award.
X
X    The judges will choose the winners of each category.
X
X    Alena Lacova  is a system  administrator at NIKHEF  (Institute for High
X    Energy and Nuclear  Physics) in the  Netherlands. She is  the author of
X    The PostScript Chaos  Programs, which draw  Julia sets, Mandelbrot sets
X    and other kinds of fractal functions.
X
X    Jonathan Monsarrat is a graduate  student from MIT and Brown University
X    in  the  U.S.A. He  is  the  FAQ maintainer  for  the  Usenet newsgroup
X    comp.lang.postscript and the author of The PostScript Zone and LameTeX.
X .
X
SHAR_EOF
chmod 0444 obfuscate.info ||
echo "restore of obfuscate.info failed"
set `wc -c obfuscate.info`;Wc_c=$1
if test "$Wc_c" != "6418"; then
	echo original size 6418, current size $Wc_c
fi
exit 0


YOUR sex life, maybe....


i have no idea, nor do i care.  however, i'd like to point out that
blomberg got the first plate appearance by a designated hitter, and
the first walk by a designated hitter.  i am not sure, but i do not
think that he also got the first hit by a designated hitter.


  CH> Concerning the proposed newsgroup split, I personally am not in
  CH> favor of doing this.  I learn an awful lot about all aspects of
  CH> graphics by reading this group, from code to hardware to
  CH> algorithms.  I just think making 5 different groups out of this
  CH> is a wate, and will only result in a few posts a week per group.
  CH> I kind of like the convenience of having one big forum for
  CH> discussing all aspects of graphics.  Anyone else feel this way?
  CH> Just curious.

I must agree.  There is a dizzying number of c.s.amiga.* newsgroups
already.  In addition, there are very few issues which fall cleanly
into one of these categories.

Also, it is readily observable that the current spectrum of amiga
groups is already plagued with mega-crossposting; thus the group-split
would not, in all likelihood, bring about a more structured
environment.


:
: Okay, here is my configuration:
:
: 80486-33 Gateway 433C Micronics ISA
: 12MB RAM
: WD212MB IDE HD ( drive C: )
: ST3144A 125MB IDE HD ( drive D: )
: Adaptec SCSI 1542B controller, with SCSI BIOS enabled
: Seagate ST296N 80MB SCSI drive
:
: Alrighty, when I boot up I get the Adaptec BIOS message, but it says
: something like:
:
: "Drive C: installed"
: "Drive D: installed"
: "ADaptec SCSI BIOS not installed!"
:
: And I can't get to the Seagate drive.
:
: I go into PhoenixBIOS setup, remove the entry for drive D:, and BOOM, I can
: access the Seagate.  Is there a way to get two IDE drives and the Seagate
: at the same time?  I have ASPI4DOS.SYS, but it just hangs the system.
:
: Brian
:

There is a simple answer.  If my memory serves me the scsi bios will only
work as the first or second drive.  Any "built-in" drives e.g. IDE are
installed first and then when the scsi bios runs it will try to install
as the next drive.  But if there are already two drives, then no can do.

The solution is simple: use the aspi4dos device driver and disable the
scsi bios (as it is useless in your case).  It works like a champ!  I
have seen a similar situation before.

Good Luck


 Well, yes.  That was a part of my point.  Aspirin has its problems, but
in some situations it is useful.  Ditto stuff like licorice root.  Taking
anything as a drug for theraputic purposes implicitly carries the idea
of taking a dose where the benefits are not exceeded by any unwanted,
additional effects.  Taking any drug when the potential ill-effects are
not known is a risk assumed by the parties involved, and it may be that
in a given situation the risk is worthwhile.
   Like Prozac, for instance; Prozac has been shown to be theraputic in
some cases where the tri-cyclics fail.  But Prozac hasn't been in use
that long, and it really isn't clear what if any effects it may have
when taken over long periods of time, even though it has been tested
by present day standards.  Should Prozac be taken off the market because
long-term effects, if any, are not known?  IMHO, i'd say no.

euclid


I don't like this comment about "Typical" thinking. You could state
your interpretation of Exodus without it. As I read Exodus I can see
a lot of killing there, which is painted by the author of the bible
in ideological/religious colors. The history in the desert can be seen
as an ethos of any nomadic people occupying a land. That's why I think
it is a great book with which descendants Arabs, Turks and Mongols can
unify as well.


I have a Sparc[12] with a german type 4 keyboard.
Has anybody a Patch for X11R5?

Thanks in advance


So how do I steer when my hands aren't on the bars? (Open Budweiser in left
hand, Camel cigarette in the right, no feet allowed.) If I lean, and the
bike turns, am I countersteering? Is countersteering like benchracing only
with a taller seat, so your feet aren't on the floor?


Hi.

The RTrace ray tracer supports 3D text as a primitive, not collections of
spheres, cylinders and so on...
The 3D chars are made of lines and splines that are extruded...

Please have a look at asterix.inescn.pt [192.35.246.17] in directory
pub/RTrace.
In pub/RTrace/tmp there are some demo images with high quality text.
All of them are called Text?.jpg (JPEG encoded). See them first and then
tell me what you think.


One difference will _probably_ be the same difference as between OS2 and
Windows 3.x now--one will likely have a lot of software available for
it and one won't (emulation, with the inevitable incompatibilities that
crop up in spite of all the contrary claims, just doesn't count when you
_have_ to use a certain software package that doesn't quite run properly
under the emulation...). Developers want to channel their resources toward
a platform that has a large installed base, and in a case like that the
platform that is most successfully _marketed_ (regardless of its relative
sophistication) will win.


Hello,

	way back in the mists of time, I had a set of patches written
by Richard Caley (I believe to the standars distribution, patch level
6) which added regular expressions in the .tvtwmrc file, multiple icon
regions, squeezable icons, and f.deleteordestroy function. I still
have the patches, however, I can no longer find the sources to which
they applied ;-).

	I'd appreciate if some kind soul could send me a pointer to
where I could find the sources. Has anyone updated the patches for R5?
(Richard? are you out there? pretty please?)

	Thanks in advance.


Linares has not defected; as I pointed out, MLB requires that the player
defect first.

What a surprise.  As long as the pool of talent is not accessible to all
teams, MLB won't let a few teams sign it.  Seems perfectly reasonable to
me.

Except that MLB won't allow it, which is all I ever said.


Roberts played in last night game against the Sharks and got a goal (38th)
and an assist.

This definitely bolsters Calgary's chances in the playoffs.

							Rahim Hirji


I have two pairs of headphones I'd like to sell.  These are excellent, and both in great condition:

Denon AH-D350
JVC HA-D590

Any reasonable offer accepted.


	Yes, but... the minimization of gates is important in part
because of TIMING considerations.  A TTL gate has the basic structure
of AND/OR/INVERT, and an inversion of a sum of a product is just
exactly ONE gate delay.  The reason to find a minimal sum of products
is that this matches a hardware optimization.

	A positive-OR gate (such as the 9-gate solution uses) has
TWO gate delays (and there's another gate delay in the second term)
so that the second solution, while simpler in logic symbols, can
be expected to be something less than optimal in the real world.
ECL is similar to TTL, in that it can support an OR/AND
gate with the minimum delay (unlike TTL, you get both true and
inverse outputs for 'free' when using ECL).

	PALs are basically large programmable AND/OR/INVERT
gates (with your choice of internal connections between the
various sections, and perhaps some latches), so a minimum sum
of products ALSO is a way to shoehorn a logic design into
a few PALs.  It's not comparably easy to design with a minimization
of logic gates, but some software packages claim to allow you to
do so, and will take just about any mess of gates (as a nodelist
with 74xxx series logic ICs) and produce a description of
a logic cell array to do the same job.  Xilinx's XACT software
does this by treating each logic block as a macro, and expanding
it all out, then simplifying.


                                                     ^^^^^
        My understanding was that Chicago **was** DOS 7.


   Deltabox (tm) is a registered trademark of Yamaha, used to describe
their aluminum perimeter frame design, used on the FZR400 and FZR1000.
In cross-section, it has a five-sided appearance, so it probably really
should be called a "Pentabox".

-----------------------------------------------------------------------------


[lotsa stuff taken out]

Bottom line: due process was not served.  No peaceful attempt to serve
a warrant occurred.

Think on that.


Hi there!...
		Well, i have a 386/40 with SVGA 1Mb. (OAK chip 077) and i don't
		have VESA TSR program for this card. I need it .
			Please... if anybody can help me, mail me at:
			lulagos@araucaria.cec.uchile.cl


    No. The LAPD officers were tried first by the State of California
on charges of police brutality, and secondly by the Federal Government
on depriving RK of his civil rights - a different crime.

    The scenario I outline is more similar to the Oliver North trial.
Ollie confessed to treason (aiding an enemy of the US) during Senate
hearings, under immunity. The team which was later to prosecute him on
criminal charges had to sequester itself from all reports of ON's
immunized testimony. ON's lawyer brought up the probability that at
least someone on the team had heard about the Senate testimony, and it
was a strong factor against the prosecution, which is one of the
reasons this ON is still walking around free today.


Has anybody gotten this BMP to work?  I try to uudecode it, but
I get "input file error" and no picture.  Anybody?


This is nonsense. I lived in the Negev for many years and I can say
for sure that no Beduins were "moved" or harmed in any way. On the
contrary, their standard of living has climbed sharply; many of them
now live in rather nice, permanent houses, and own cars. There are
quite a few Beduin students in the Ben-Gurion university. There are
good, friendly relations between them and the rest of the population.

All the Beduins I met would be rather surprised to read Mr. Davidson's
poster, I have to say.


From: payne@crl.dec.com (Andrew Payne)
Message-ID: <1993Apr20.004418.11548@crl.dec.com>
Organization: DEC Cambridge Research Lab
Date: Tue, 20 Apr 1993 00:44:18 GMT

Does anyone know if a source for the TCM3105 modem chips (as used in the
Baycom and my PMP modems)?  Ideally, something that is geared toward
hobbyists:  small quantity, mail order, etc.

For years, we've been buying them from a distributor (Marshall) by the
hundreds for PMP kits.  But orders have dropped to the point where we can
no longer afford to offer this service.  And all of the distributors I've
checked have some crazy minimum order ($100, or so).

I'd like to find a source for those still interested in building PMP kits.
Any suggestions?

--
Andrew C. Payne
DEC Cambridge Research Lab
---
 . R110B:Wnet HAL_9000


->I addressed most of the key issues in this very long (284 lines) post
->by Dean Kaflowitz in two posts yesterday.  The first was made into the
->title post of a new thread, "Is Dean Kaflowitz terminally irony-impaired?"
->and the second, more serious one appeared along the thread
->"A Chaney Post, and a Challenge, reissued and revised"


The most practical use I've seen for them is as key ring ornaments :-)


  And another one:

Hasn't enyone heard of a leader's recon?  This is when the leader of the
assult goes and looks at the objective to see if anything has changed that
would affect the mission.  Even the Freshman cadets here in ROTCland
know about them.  Mostly because they know it as the part where they
lie on the cold ground for an hour or so, but they've heard about it.
Maybe the ATF should have hired out to the local ROTC guys!

--
Andrew Diederich                    diederic@spot.colorado.edu


	These drivers (updated) are available directly from Diamond.
	they will even ship them to you at no charge.(at least they
	did for me.)


You keep saying that. I do not think it means what you think it
means.
Perhaps you should explain what you think "science has it's basis
in values" means. The reason why people DO science is that
they value it's results. That does not mean that science has
it's basis in values. Any more than DES stops working if I stop
valuing my privacy.

See above.

-Ekr


Thank you very much. After reading the text some distinct questions
arised to me, which I guess will also be asked by other people. Perhaps
would it be interesting to find an answer to these questions ?

shorter or longer ?

First question: When will the LawEnforcmentField be transmitted, and how
does the remote Clipper Chip handle it? Is it transmitted periodically
in the stream of encrypted blocks, or just at the beginning ? Does the
phone at the other side discard those packets via a protocol whatsoever,
or tries it to turn them into voice-output ? (Which would not be disturbing)

Second question: Why!?!? Why is such a strange procedure used, and not
a real RNG ? This turns those S1,S2 in a kind of bottleneck for system-
security.

So no (technical) provision will be taken to place a 'timeout' on these
warrants? This would be a unique possibility to realize such a technical
restriction, by letting the escrow-agencies perform the decoding of the
session key. Just take modem-lines instead of secure fax. Is this such
a bad idea ?

Wow! (How does the randomizer work?) Are the SHA (and Key exchange) secret,
or publicly known ? Key-Exchange is DH, I guess ?

It seems that those who are opposed to this chip shall have a tough time,
your government realy means to act. :-(

Friendly greetings,
	   Germano Caronni


My roommate is selling a Sega Genesis system with Sonic I,
in very nice condition, for $100 obo.  Please respond via
email to:
		pathall@as.arizona.edu

Alternate email addresses are phall@noao.edu and moe@ccit.arizona.edu.


How do you know? Were you there?

While obviously Koresh was a nut case, the (typical) inability of the
government/media to get its story straight is quite disturbing. On
tuesday night, NBC news reported that the FBI did not know the place
was burning down until they saw black smoke billowing from the
building. The next day, FBI agents were insisting that they saw Davidians
setting the fire. The FBI was also adamantly denying that it was possible
their battery of the compound's wallks could have accidentally set the
blaze, while also saying they hadnt been able to do much investigating
of the site because it was still too hot. So how did they KNOW they
didnt accidentally set the fire.

Sounds like the FBI just burned the place to the ground to destroy
evidence to me.


Well it rolled out two weeks ago. As we speak it is at White Sands getting
ready. I would have called my sources for the latest but they are all out
of town (in NM).

As for the future, there is at least $5M in next years budget for work
on SSRT. They (SDIO) have been looking for more funds and do seem to have
some. However, SDIO is not (I repeat, is not) going to fund an orbital
prototype. The best we can hope from them is to 1) keep it alive for
another year, and 2) fund a suborbital vehicle which MIGHT (with
major modifications) just make orbit. There is also some money for a
set of prototype tanks and projects to answer a few more open questions.

Better news comes from the new Spacelifter effort. The USAF managers of
this program are very open to SSTO and will have about $50M next
year for studies. This would be enough to bring DC-Y to PDR.

Now not all of this money will go to DC but a good case could be made
for spending half on DC.

Public support is STILL critical. Meet with your Congressperson (I'll
help you do it) and get his/her support. Also call your local media
ans get them to cover the flight tests.

   Allen


I'm looking for a used/inexpensive audio mixer.  I need at least
4 channels of stereo input and 1 channel of stereo output, but I would
prefer 8 or more input channels.  Each channel needs to have at least a
volume control.  I'll consider buying broken equipment.  The mixer needs
to be fairly small (I haven't got a lot of space for it).