HDTenEightyP/NetNews huggingface dataset:
From: rmartin@oasys.dt.navy.mil (Robert Martin)
Newsgroups: comp.virus
Subject: Re: Stoned/Azusa haunting (PC)
Date: 9 Sep 92 10:45:19 GMT

In comp.virus, Felix.Lafontaine@f23.n367.z1.FIDONET.ORG (Felix
Lafontaine) writes:
>DT> scan a: - 1 virus found [azusa]
>DT> clean a: [azusa] - 1 virus removed [azusa]
               ^^^^^
[stuff deleted]

If the 'azusa' virus is haunting you, you should check all
floppies before using them.

We discovered the virus here about 1 1/2 years ago.  We also
discovered the source.  The virus was located on factory write
protected software.  This software was Tridents TVGA 8800 or 8900
driver disk (I don't remember which right now).  If you are using an
older Trident driver disk, I would definitely sheck it out.

Regards,       Bob
From: anl433!hoffmann@uunet.UU.NET (Stephan Hoffmann)
Newsgroups: comp.virus
Subject: Interactive UNIX virus? (UNIX)
Date: 7 Sep 92 12:02:46 GMT

In the first days of september 1992 several UNIX-systems in our place
got damaged. Files in the /etc - directory had been changed to special
files, so that they had to be removed, before the system could be
brought up again.

Is anything known about similar problems elsewhere? Maybe, there's a
virus!

Best regards

Stephan Hoffmann
- --
NAME   Stephan Hoffmann
EMAIL  hoffmann%anl433.uucp@Germany.EU.net
SNAIL  Siemens AG, ANL A433SI, Gruendlacher Str. 248, 8510 Fuerth, Germany.
PHONE  +49-911-3089-469 (work) +49-911-3089-290 (FAX)
From: chess@watson.ibm.com (David M. Chess)
Newsgroups: comp.virus
Subject: re: Windows virus? exists? (PC)
Date: 9 Sep 92 12:52:30 GMT

>From:    alan@saturn.cs.swin.OZ.AU (Alan Christiansen)
>
>I was just wondering.  Are there any viruses that are windows
>specific....

There are one or two viruses that recognize Windows executables and do
special things to them (erase them, overlay them with Trojan code of
one kind or another, etc).  I know of no virus that can correctly
infect a Windows (or OS/2) executable in such a way that the virus
will be run when the program is run under Windows (OS/2); the
structure of these new-format EXE files is considerably more complex
than old-format DOS EXEs, and viruses generally either don't infect
them at all, break them while trying to infect them, or (rarely)
infect the "DOS fork" (the little program that runs and says "I don't
run in this environment" when you try to run one under flat DOS).  Not
that it would be impossible to write a virus that did it, of course;
we just haven't seen one yet.  The virus-writers will have to develop
some new technology...  *8) DC
From: chess@watson.ibm.com (David M. Chess)
Newsgroups: comp.virus
Subject: Auto-detecting virus (PC)
Date: 4 Sep 92 15:50:51 GMT

>From:    beaurega@ireq.hydro.qc.ca (Denis Beauregard)
>
>I would like to write a program that will check if it is per se
>holder of a virus.  The method I have in view :
>
>Compile the program.
>Compute the checksum of the program.
>Put the checksum in the program.
>When starting the program : Stop the program if the checksum has
>been altered.

All self-respecting anti-virus programs do exactly this (or some
equivalent check).  The reason that most advise you to reboot anyway
if there's a virus active is just caution; trying to clean up with an
unkilled virus active in memory can be messy and, while it will often
work, they don't want you to take the chance.

Remember that (unless you do something other than just normal DOS
calls to read yourself), this doesn't work against stealthed viruses,
because you'll see a clean image of yourself.  If your program is big
(so many are these days!) it can slow down loading considerably on
slow machines.  If that's a concern, you don't really have to checksum
every byte of yourself (at least if viruses are your main worry).  But
you do have to check the important ones!  *8)

Virtually any reasonably good check-code will do; unless your programs
become *extremely* popular, no virus author will target them
specifically.

DC
From: ACDPAUL@vm.uoguelph.ca (Paul Bradshaw)
Newsgroups: comp.virus
Subject: Tan An Door virus?!?! (PC)
Date: 8 Sep 92 15:08:48 GMT

The following recently appeared on our local virus conference here at
the University of Guelph.
- --------------------------
I've never heard of the tan an door virus, or the 64 virus as the gentleman
refers to it and would like to hear from any of you who have.

- ---- please snip here -----

Title: Tan An Door Virus

Recently in China I cought the
64 VIRUS
which apparently was related to the incident of June 4 atthe Square of
Tan An Door in Peijiang (Bejing ?).
I found there a "Kill" progr, and apparentlyI have cleaned my stuff off.
However bere transferring material form my travelling kit to my computer
in Guelph I would like to know if any of you know anything about this
virus and if it could be lingering still somewhere:
a. I was using a palmtop (Sharp 3100) with built in software: could the
virus have entered such software ?
..
- ----- snip again ------

I would like to help the poor guy out, but I haven't the faintest idea
what this virus's commonly accepted name would be.

Thanks all,

Paul Bradshaw
acdpaul@vm.uoguelph.ca
From: CHIP.S@BDSO.Prime.COM (Chip Seymour, Information Resources)
Newsgroups: comp.virus
Subject: Problem with Vshield 5.1B95 (PC)
Date: 10 Sep 92 15:16:31 GMT

I believe I am having a problem with VSHIELD. It loads ok, but when I
do a MEM/C, it produces "blem wit" as the program name.  Anybody else
come across this?  (v5.1B95)

=============================================================================
Conventional Memory :

  Name                Size in Decimal       Size in Hex
- -------------      ---------------------   -------------
  MSDOS              19472      ( 19.0K)       4C10
  SETVER               544      (  0.5K)        220
  ANSI                4192      (  4.1K)       1060
  HIMEM               1184      (  1.2K)        4A0
  SMARTDRV           18592      ( 18.2K)       48A0
  RAMDRIVE            1184      (  1.2K)        4A0
  ATDOSXL             9520      (  9.3K)       2530
  MOUSE              14816      ( 14.5K)       39E0
  ETHDEV             30400      ( 29.7K)       76C0
  TCPIP              16480      ( 16.1K)       4060
  COMMAND             4416      (  4.3K)       1140
  3C503               3936      (  3.8K)        F60
  DOSKEY              4128      (  4.0K)       1020
  IPX                16960      ( 16.6K)       4240
  NET5               42112      ( 41.1K)       A480
  blem wit           38832      ( 37.9K)       97B0   <---------
  FREE                  64      (  0.1K)         40
  FREE                 144      (  0.1K)         90
  FREE              426944      (416.9K)      683C0

Total  FREE :       427152      (417.1K)

Total bytes available to programs :                           427152   (417.1K)
Largest executable program size :                             426688   (416.7K)

   5242880 bytes total contiguous extended memory
         0 bytes available contiguous extended memory
   2293760 bytes available XMS memory
           MS-DOS resident in High Memory Area
=============================================================================
Chip Seymour
ComputerVision    chip.s@bdso.Prime.COM
Bedford, MA
=============================================================================
From: COTRSSM@SEA04VM.NAVSEA.NAVY.MIL (Scott (nmi) Mattes)
Newsgroups: comp.virus
Subject: Fairwell to network, for now
Date: 8 Sep 92 19:15:59 GMT


  Today I will be losing my Internet access, for an unknown length of
time.  This is due to the downsizing of our IBM mainframe and
consolidation of certain applications to another IBM data center.

  So, for the time being at least, I bid farewell to the net. I wish
to thank all those who have helped to enlighten me on various things
(work, religion, eating, etc) while I have had access.

  If anyone needs to contact me, my 'home' and voice addresses will still
work.

  Needless to say (I will anyway) the ANONYMOUS FTP account
(144.11.100.1) is going away also.

- --------------------------------------+----------------------------------------
Scott (nmi) Mattes                    | No success can compensate for failure
Work: COTRSSM@SEA04VM.NAVSEA.Navy.Mil | in the home.  David O. McKay, Prophet
Home: 73027.3270@CompuServe.COM       | and President of the Church of Jesus
Voice: (703) 769-2917                 | Christ of Latter-day Saints, 1951-70
From: scholl@gaul.csd.uwo.ca (Cam Scholl)
Newsgroups: comp.virus
Subject: A new virus????? HELP! (PC)
Date: 9 Sep 92 21:44:26 GMT

HELP!!!!

I seem to have encountered a new virus, I don't know what it is or
where it came from.  I have run SCAN 95B on my hard disk, but it came
up with nothing.

Anyways, here's what is happening.  Every once in a while, my system
will try to access a file, only to find out that somehow, it has been
damaged!  This has happened to Windows 3.1 program manager groups,
Lotus 123 data files, etc.  I ran Norton's disk doctor, thinking I
might have something wrong with my HD.  Well, that deleted all my lost
clusters, and fixed all my cross-linked files.

Shortly thereafter, I ran into the same problem...  After much
investigation, I have found that the virus seems to only attack files
with their archive bit set, meaning they've been changed since the
last backup (a few days ago I put all 120 megs on tape).

Other than that, I really don't know much, except that I keep losing
things.

Please help, and thanx,

Cam Scholl.
Internet: scholl@gaul.csd.uwo.ca
From: alan@saturn.cs.swin.OZ.AU (Alan Christiansen)
Newsgroups: comp.virus
Subject: Windows virus? exists? (PC)
Date: 4 Sep 92 05:57:15 GMT

I was just wondering.  Are there any viruses that are windows
specific.

ie they infect windows programs only?  infect windows OS.  have
sysmptoms only when windows runs etc.

Alan
Xref: sparky comp.msdos.programmer:52 alt.msdos.programmer:2343
From: kfc@gnv.ifas.ufl.edu
Newsgroups: comp.msdos.programmer,alt.msdos.programmer
Subject: Help wanted on graphics mode scrolling
Date: 10 Sep 92 16:00:58 -0500

I am working on a project which need to scroll under graphics mode. I tried to
use the INT 10 scroll function. However, using the DOS scroll function, I have 
no control over how many pixel line I can scroll. It always scrolls according to
text height. Could anyone tell me how to solve this problem? 
Thanks.

Kefeng Chen                        e-mail: kfc@gnv.ifas.ufl.edu
IFAS Computer Network              phone: (904) 392-5180
University of Florida
Gainesville, FL 32611
Newsgroups: comp.programming
From: yenne@austin.eds.com (Britt Yenne)
Newsgroups: comp.programming
Subject: Re: FULL HOUSE (SOLUTION)
Date: 14 Sep 92 18:49:39 GMT
Organization: EDS Research, Austin, Tx

In article <1992Sep13.223147.28768@wuecl.wustl.edu> ppc1@cec1.wustl.edu (Peter Pui Tak Chiu) writes:
>
>int getRandom(){
>int n,BAD=1;
>while(BAD){
>n=rand()%52+1;
>for(int i=0;i<5;i++){
>	int FLAG=0;
>	if(n==hand[i])FLAG=1;
>	if(!FLAG)BAD=0;
>	}}
>return(n);
>}

[possibly-related tangent mode on]

One thing I should mention is that, regardless of whether or not your
programs are correct, you are all using the rand() function.  Rand() is
a notoriously bad random number generator.  For instance, it always
alternates between odd and even numbers.  Try choosing a lot of "random"
screen X and Y coordinates and place characters there... you'll be
shocked at the obvious pattern.

Try using srandom() and random().

[possibly-related tangent mode off]

The big problem with simulating real-world probabilities is accurately
putting the problem to code.  Simulate a deck.  Simulate a shuffle.
In computer science classes, one is told to avoid such algorithms
which are wasteful and could be done "better."

Here is a program I wrote.  It's complete brute force and I'm not proud
of it, but it gives these results:

Got 146 full houses out of 100000 deals --> 0.001460
Got 140 full houses out of 100000 deals --> 0.001400
Got 145 full houses out of 100000 deals --> 0.001450

ciao,
-britt

--------- cut here -----------

#include <stdio.h>

int
main()
{
    register int i, n, s, pass;
    int card[52], save[2], count[2];
    int fh = 0;

    /* build a deck... suit is irrelevant */

    srandom(getpid());
    for(i = 0; i < 52; i++)
	card[i] = i % 13;

    /* now the test cases */

    for(pass = 0; pass < 100000; pass++)
    {
	/* shuffle the first five cards of the deck -- don't be clever,
	 * just do it the hard way
	 */

	for(i = 0; i < 5; i++)
	{
	    n = random() % 52;
	    s = card[n];
	    card[n] = card[i];
	    card[i] = s;
	}

	/* examine the first 5 cards */

	s = 0;
	for(i = 0; i < 5; i++)
	{
	    if(s >= 1 && card[i] == save[0])
		count[0]++;
	    else if(s >= 2 && card[i] == save[1])
		count[1]++;
	    else if(s >= 2)	/* more than two types now */
		break;
	    else
	    {
		save[s] = card[i];
		count[s] = 1;
		s++;
	    }
	}

	/* is it a full house? */

	if((count[0] == 2 && count[1] == 3) || (count[1] == 2 && count[0] == 3))
	    fh++;
    }
    printf("Got %d full houses out of %d deals --> %f\n", fh, pass,
	(double)((double)fh / (double)pass));
    return 0;
}
Newsgroups: comp.programming
From: silver@fraser.sfu.ca (Craig Silver)
Subject: NEEDED: Spell Checker with Source
Organization: Simon Fraser University, Burnaby, B.C., Canada
Date: Sun, 13 Sep 1992 08:36:17 GMT

        I need to find a large compressed dictionary (say around 
at least 80 000 words, plus the prefixes and suffixes) and some 
ANSI C source code allowing me to read words from the compressed 
dictionary without decompressing the whole thing into RAM.  I'm 
working on an Amiga so Unix C source is fine.  
 
        Please email me if you know of such a beast.  Thanks.


-- 

------------------------------------------------------------------------
Craig Silver	                	    Simon Fraser University
silver@sfu.ca (Internet)	            Burnaby, B.C., Canada
Newsgroups: comp.programming,comp.theory
From: sethb@fid.morgan.com (Seth Breidbart)
Subject: Re: Proving fair shuffles (was: FULL HOUSE)
Organization: Morgan Stanley & Co., New York, NY
Date: Tue, 15 Sep 1992 16:00:09 GMT

In article <schnitzi.716563018@eola.cs.ucf.edu> schnitzi@cs.ucf.edu
(Mark Schnitzius) writes:
>I've been wondering...
>
>Assuming you have a true random number generator, is there
>a way to _prove_ that a particular algorithm performs an
>honest shuuffle (i.e. each card has equal possibility of 
>being in each place)?  Are there any order(n) shuffling
>routines?

An honest shuffle gives each permutation an equal probability, not
just each card/position pair.  For instance, a fair _cut_ gives each
card a 1/52 chance of being in each position.

There are shuffles, some O(n), that can easily be proven to be fair.
In general, it is not possible to tell whether a function computes a
fair shuffle.

Seth		sethb@fid.morgan.com
Newsgroups: comp.programming
From: ags@seaman.cc.purdue.edu (Dave Seaman)
Subject: Re: Proving fair shuffles (was: FULL HOUSE)
Organization: Purdue University
Distribution: comp
Date: Tue, 15 Sep 1992 18:23:24 GMT

In article <psqghc8@fido.asd.sgi.com> mtj@babar.asd.sgi.com (Michael  
Jones) writes:
[Re: honest shuffle]
> Certainly such an algorithm exists, and is O(n):
 
>    while (old not empty)
>        begin
>        select a card in old at random
>        remove card from old
>        add card to new (anywhere: front, back, ...)
>        end

This works if you consistently add the card at the front, or consistently  
at the back.
 
> a more common sequence is the one
> in my posted solution:
> 
>     old: array of 52 cards in any order
 
>     for (i = 0; i < 52; i++)
>        swap card[i] and card[random() % 52];

This is incorrect. The algorithm generates 52^52 possible sequences of  
random numbers, each equally likely. Different transposition sequences may  
lead to the same final arrangement, but the problem is that 52! (the  
number of possible permutations) does not divide 52^52 (the number of  
transposition sequences that may be generated), thus guaranteeing that the  
permutations are not equally likely.

A correct algorithm is

	for (i = 51; i > 0; i--)
	    swap card[i] and card[random() % (i+1)]

The fact that I have written the loop to execute for decreasing i is a  
minor point that makes the notation simpler. The major difference is the  
presence of "random() % (i+1)" instead of "random() % 52" in the swap.

This algorithm generates exactly 52! possible sequences of transpositions,  
all equally likely. Each possible permutation corresponds to exactly one  
such sequence of transpositions. Therefore the result is an honest shuffle  
(if the random number generator is good).

--
Dave Seaman
ags@seaman.cc.purdue.edu
Newsgroups: comp.programming
From: schnitzi@cs.ucf.edu (Mark Schnitzius)
Subject: Re: Expression manipulation
Organization: University of Central Florida
Date: Fri, 11 Sep 1992 15:09:53 GMT

gary@nexnix.demon.co.uk (Gary Howland) writes:

>Has anyone got a short program (any readable language - ie. not assembler)
>that can take a simple expression (such as 3x + 4y + 5z = 6) and
>produce a report for each of the x, y and z variables, such as

>	x = (6 - 4y - 5z)/3
>	etc.

>Thanks in advance - Gary.

Here is a simple LISP program that should do it.  I assume each of the
operators (+,-,/,*) takes only two parameters and that the variable
you are solving for exists once (and only once) in the expression.

Some sample runs:

  (solvefor 'b '(= (+ a b) (/ 8 9)))
  ==> (= B (- (/ 8 9) A))

  (solvefor 'b '(= (/ a b) (/ 8 9)))
  ==> (= B (/ A (/ 8 9)))

  (solvefor 'a '(= (/ (- a b) 3) 4))
  ==> (= A (+ (* 4 3) B))
		  
  (solvefor 'b '(= (/ (- a b) 3) 4))
  ==> (= B (- A (* 4 3)))

(defun deep-member (a l)
  (cond
    ((atom l) (eq a l))
    ((null l) nil)
    ((eq a (car l)) t)
    (t (deep-member a (cdr l)))))

(defun solvefor (var exp)
  (let ((leftside (cadr exp))
	(rightside (caddr exp)))
    (cond
      ((deep-member var (caddr exp))
       (solvefor var (list '= (caddr exp) (cadr exp))))
      ((eq leftside var) exp)
      ((eq (car leftside) '+)
       (if (deep-member var (cadr leftside))
	   (solvefor var (list '= (cadr leftside) (list '- rightside (caddr
leftside))))
	   (solvefor var (list '= (caddr leftside) (list '- rightside (cadr
leftside))))))
      ((eq (car leftside) '-)
       (if (deep-member var (cadr leftside))
	   (solvefor var (list '= (cadr leftside) (list '+ rightside (caddr
leftside))))
	   (solvefor var (list '= (caddr leftside) (list '- (cadr leftside)
rightside)))))
      ((eq (car leftside) '*)
       (if (deep-member var (cadr leftside))
	   (solvefor var (list '= (cadr leftside) (list '/ rightside (caddr
leftside))))
	   (solvefor var (list '= (caddr leftside) (list '/ rightside (cadr
leftside))))))
      ((eq (car leftside) '/)
       (if (deep-member var (cadr leftside))
	   (solvefor var (list '= (cadr leftside) (list '* rightside (caddr
leftside))))
	   (solvefor var (list '= (caddr leftside) (list '/ (cadr leftside)
rightside))))))))

Mark Schnitzius
schnitzi@eola.cs.ucf.edu
University of Central Florida
From: sboswell@sdcc13.ucsd.edu (Xianity is stupid)
Newsgroups: comp.programming
Subject: Re: AVL trees - Re: Why Are Red-Black Trees Obscure?
Date: 12 Sep 92 17:28:29 GMT
Organization: U.C. San Diego -- 1991 "Wannabe A Real College" finalist

In article <1992Sep2.022227.9117@reed.edu> orpheus@reed.edu (P. Hawthorne) writes:
>  I'll see your point and raise you a point. Deletion, when implementations
>are given, seem to be efficient largely because of a particularly
>simplistic representation, like heap allocation. One of the things I want
>most from a given data structure is containment within a single memory
>block (size proportional to the number of elements) which can grow, shrink
>and move around when the structure isn't looking. Hence, my implementations
>demand offsets rather than pointers, double links, interleaved binary and
>interpolation search operations, and so on.
>
>  Deletion is the thorn in my side. I guess that's half the challenge! And
>who knows, maybe it's not just my eccentricity, but all data structures
>should have explicit "insert multiple elements" and "delete multiple
>elements" operations!

I missed the beginning of this thread, so I don't know if y'all needed
tree structures explicitly, or just a log(n) sorted structure, but I've
had lots of success with skip lists.  The constant factors associated with
each log(n) operation are significantly smaller than most other sorted
log(n) structures, and things like dobule links, deletions, range insertions,
range deletions, and search fingers are idiotically simple to code.

A long time ago I asked for a way to put a "next" pointer into an AVL tree
so that I could address it like a linked list, and how to modify the insertion
and deletion algorithms to update the "next" field automatically.  Someone
suggested skip lists, and I've never looked back. :-)

If you want more info, look in mimsy.cs.umd.edu:/pub/skipLists -- there's a
technical paper on it, plus a "skip list cookbook" and some data on how to
write a parallel skip list.

Steve Boswell
whatis@ucsd.edu
Newsgroups: comp.programming
From: naoursla@eos.ncsu.edu (NORMAN ALAN OURSLAND)
Subject: Protected memory
Originator: naoursla@c00067-100lez.eos.ncsu.edu
Reply-To: naoursla@eos.ncsu.edu (NORMAN ALAN OURSLAND)
Organization: North Carolina State University, Project Eos
Date: Sun, 13 Sep 1992 03:05:27 GMT


Does anyone know of any shareware or code for programs that will protect certain
areas of memory on MS-DOS compatable machine? I'd like to experiment with
pointers (doing stuff you normally wouldn't do), but don't want to write over
something important in memory. Thanks in advance.

Alan Oursland
Newsgroups: comp.programming
From: silver@fraser.sfu.ca (Craig Silver)
Subject: Pascal Question: Floppy Routine
Organization: Simon Fraser University, Burnaby, B.C., Canada
Date: Sun, 13 Sep 1992 18:47:46 GMT

        I'm working with Turbo Pascal 6.0 on the PC and need a 
routine that controls the floppy drive.  Specifically, I want 
the floppy to detect when a disk is inserted into it.  I've 
seen some copy programs that say "insert source disk" and when you 
insert it, the copy procedure starts without your touching 
anything.  
 
        Please email me if you know how to do this or you know 
where I could get a hold of the routine.  Thank you.


-- 

------------------------------------------------------------------------
Craig Silver	                	    Simon Fraser University
silver@sfu.ca (Internet)	            Burnaby, B.C., Canada
Newsgroups: comp.programming
From: sjm@bcrki65.bnr.ca (Stuart MacMartin)
Subject: Re: Dynamic Hashing Algorithm needed
Reply-To: sjm@bcrki65.bnr.ca (Stuart MacMartin)
Organization: Bell-Northern Research, Ottawa, Canada
Date: Tue, 8 Sep 1992 17:34:24 GMT

In article <1992Sep8.172711.3195@bcrka451.bnr.ca>, sjm@bcrki65.bnr.ca
(Stuart MacMartin) writes:
> Note: The hash value is unconstrained; the hash table uses only n bits of it
> in any overflow bucket.  The full hash value of each key is held with
> the key in the overflow bucket, so you might as well use it when scanning
> overflow buckets for an exact match.  This saves on expensive comparisons,
> e.g. strcpy
       ^^^^^^
strcmp.  Sorry.  No wonder my programs don't work first time.
Anyone have a logic analyser that will detect this error? :-}

> 
> Stuart
> 
: Stuart MacMartin                                    email: sjm@bnr.ca      :
: Bell-Northern Research                              phone: (613) 763-5625  :
: PO Box 3511, Stn C, Ottawa, K1Y-4H7, CANADA    Standard disclaimers apply. :
Newsgroups: comp.programming