HDTenEightyP/NetNews huggingface dataset:
From: magnus@thep.lu.se (Magnus Olsson)
Subject: Unlistable BASIC (was: YAFP: TRS-80 Super Graphics)
Followup-To: alt.folklore.computers
Organization: Theoretical Physics, Lund University, Sweden
Date: Thu, 3 Sep 1992 12:00:11 GMT

In article <1992Sep03.023833.4079@eng.umd.edu> russotto@eng.umd.edu (Matthew T. Russotto) writes:
>In article <1992Sep1.183035.20969@utdallas.edu> shane@utdallas.edu writes:
>>
>>On the Apple, I'm pretty sure you could POKE a begin- or end-of-BASIC-program
>>address somewhere in zero page which would result in abridged output from
>>LIST. You could also make "unmodifyable" code, even if LIST displayed it, by
>>replacing line numbers with numbers >63999. Applesoft called a line number
>>higher than 63999 a syntax error, so by POKEing 65535 or whatever into the
>>line number, it became immune to standard BASIC editing.
>
>Other neat Applesoft hacks-- there was another POKE which would cause
>LIST to display only the first statement on a line, so by starting all
>lines with a colon, you had invisible code.  Changing address $D6 (I
>think) to a nonzero value caused Applesoft to execute "RUN" no matter
>what you typed-- more primitive copy-protection.  

On the Swedish ABC 80 (Z80-based, 16 K RAM, rather Microsoft-like
BASIC), the BASIC interpreter had a bug that could be rather useful
for making unlistable programs.

Like MS BASIC, ABC 80 BASIC allocated strings dynamically - the first
time you used a string variable, 80 bytes were allocated, and if it
grew to more than that size, a new chunk of memory was allocated (the
garbage collector needed to take care of old forgotten strings had a
rather interesting misfeature which could lock up the machine for 20
minutes or so, but that's another story). You could override this by
e.g. 

10 DIM A$=10

which would only allocate 10 bytes. You could of course also use DIM
to create arrays of strings:

20 DIM B$(10,10), C$(100)=4

However, if you wrote just, say,

30 DIM X$

this statement would excute just fine (I never found out exactly what
it did, though - maybe some ABC 80 guru who reads this could help?),
but, if you tried to LIST this statement, the computer would crash
spectacularly (flashing graphical characters all over the screen,
weird sounds from the speaker, and no way out except a hardware
reset). Of course, one could still list the program as long as one
knew the line number of the rogue statement - in the above case, 
"LIST 40-" would work just great.


ObHack: Connecting my old Acorn Atom to the parallel printer port on
my PClone to transfer programs to disk and list them (nostalgia
time!). Next step: making the connection bidirectional so I can make
the Atom retrieve programs from the PC's disk. More about this when I
get the hardware working... 


Magnus Olsson                   | \e+      /_
Dept. of Theoretical Physics    |  \  Z   / q
University of Lund, Sweden      |   >----<           
Internet: magnus@thep.lu.se     |  /      \===== g
Bitnet: THEPMO@SELDC52          | /e-      \q
Newsgroups: alt.hackers
From: lancer@wpi.WPI.EDU (Stephe Lewis Foskett)
Subject: Cheap modems from Prodigy
Organization: Worcester Polytechnic Institute
Date: Wed, 26 Aug 1992 17:54:20 GMT

Hey, all, just a thing you might be interested in...

Prodigy and a company called Tech Advantage are offering, for $39.95:
* a 2400 bps internal modem
* a month of PRODIGY (yay)
* some modem software

So what's so cool about this?  I don't know.  I don't know these people, I
just wanted a cheap modem...

The best thing is this:  It's an 800 number to order and they accept CCs.
Hmmm...  I wonder if ANYone out there has a credit card...

call 1.800.925.8825.  I did...

.s.

ObHack:  (in progress) Getting SLIP up and running between two Convergent
Technologies MiniFrames.


-- 
- so spake lancer@wpi.wpi.edu -                  - from my city: -
-                                                                -
-  City of  -          Obedience to Law         -    Worcester   -
-  Police   -             is Liberty            -  Headquarters  -
Newsgroups: alt.hackers
From: kxs5829@ultb.isc.rit.edu (K.X. Saunders )
Subject: Re: NL->SQL
Originator: kxs5829@ultb
Organization: Rochester Institute of Technology
Date: Sun, 23 Aug 1992 15:47:30 GMT


In article <176t1tINN3u8@agate.berkeley.edu> Jym Dyer <jym@mica.berkeley.edu> writes:
>> Hack:	Writing most of a natural language to SQL front end in
>> a few hours, and have it compile and run correctly the very
>> first time!
>
>=o= Uh huh.  Of course, "correctly" can be a very subjective
>concept.  How well do you think it would fare against Natural
>Language Inc.'s regression test suite? :-)

	Well, I've never seen it.  Is there something similar available for
ftp?

>ObHack: Loading NLI-Lisp into Emacs, yielding Emacs-Lisp with
>an English SQL interface.

	Mine was in C.  Would you call the new system ENGLISH?

	Emacs
	Now
	Gobbles even
	Larger
	Increments of
	System
	Heap

	- Kyle

-- 
+-"Remember, [MS]DOS is sort of a UNIX deviant already" - dmoscny@piglet.-----+
|    // Only /\          kxs5829@ultb.isc.rit.edu                 cincinatti. |
| \ //      /--\MIGA     kyle@nick.csh.rit.edu                    oh.us       |
| \X/ SQLdb - $40 rdbms  Rochester Institute of Technology                    |
Newsgroups: alt.hackers
From: devros@mentor.cc.purdue.edu (Devros)
Subject: My First Post. 
Organization: Purdue University
Date: Tue, 25 Aug 1992 19:09:13 GMT

Well, Here goes....

ObHack: On the local SUN net, format a disk to SunOS and fdmount it. Copy a shell
to it and change permissions to setUID, setGID, and world executable. Put the disk in a computer with a disk editor that you can name the media type without a boot sector and find your UID on the disk, changing it to a root uid. Mount it back onto the SUN and execute. I haven't tried it, but theoretically you would get a setuid-root shell.

 ________________________________________________________________
/  Randy Sharo                    CEE, Purdue University         \
|  sharo@en.ecn.purdue.edu        devros@mentor.cc.purdue.edu    |
|  "I get by with a little help from my friends."-- The Beatles  |
\________________________________________________________________/
Newsgroups: alt.hackers
From: russotto@eng.umd.edu (Matthew T. Russotto)
Subject: Re: YAFP: TRS-80 Super Graphics
Date: Thu, 03 Sep 92 02:38:33 GMT
Organization: College of Engineering, University of Maryland, College Park

In article <1992Sep1.183035.20969@utdallas.edu> shane@utdallas.edu writes:
>
>On the Apple, I'm pretty sure you could POKE a begin- or end-of-BASIC-program
>address somewhere in zero page which would result in abridged output from
>LIST. You could also make "unmodifyable" code, even if LIST displayed it, by
>replacing line numbers with numbers >63999. Applesoft called a line number
>higher than 63999 a syntax error, so by POKEing 65535 or whatever into the
>line number, it became immune to standard BASIC editing.

Other neat Applesoft hacks-- there was another POKE which would cause
LIST to display only the first statement on a line, so by starting all
lines with a colon, you had invisible code.  Changing address $D6 (I
think) to a nonzero value caused Applesoft to execute "RUN" no matter
what you typed-- more primitive copy-protection.  

ObOriginalHack:
  Getting around the absolute worst copy-protection scheme ever
designed, that for the drivers for a voice recognizer.  It apparentely
used no sync bytes at all and depended on blind luck to start reading
in the right place.  Naturally, it was VERY slow.  The RWTS was not
standard-- putting the funny RWTS into good DOS resulted in a useless
DOS.  But the command intepreter on the protected disk was intact.  So
I just loaded the programs in, saved them on tape (!), booted normal
DOS, loaded from tape, and saved on tape.

-- 
Matthew T. Russotto	russotto@eng.umd.edu	russotto@wam.umd.edu
Some news readers expect "Disclaimer:" here.
Just say NO to police searches and seizures.  Make them use force.
(not responsible for bodily harm resulting from following above advice)
Newsgroups: alt.hackers
From: riepe@ifwm11.ifw.uni-hannover.de (Michael Riepe)
Subject: Re: Another first post (Does that sound wrong...?)
Organization: University of Hannover, Germany - IFW
Date: Sat, 29 Aug 1992 01:22:06 GMT

In article <1992.Aug.28.1300.gray@ml.csiro.au>, gray@ml.csiro.au (Randall Gray) writes:
|> Next on the list:
|> 	Finding an easier way to post to alt.hackers!

What do you mean: "an easier way" ? What the hell are you doing ?
(Please obey the rules and don't post your solution !)

-- 
 Michael Riepe                         <riepe@ifwm11.ifw.uni-hannover.de>

     IIII  FFFFFFFF  WWWW           WWWW             Univerit"at Hannover
    IIII  FFFF       WWWW   WWW   WWWW    Institut f"ur Fertigungstechnik
   IIII  FFFFFFF     WWWW WWWWW WWWW       und spanende Werkzeugmaschinen
  IIII  FFFF         WWWWWW WWWWWW                   Schlosswender Str. 5
 IIII  FFFF          WWWW   WWWW              W-3000 Hannover 1 (Germany)
--
 So long, and thanks for all the fish...
Newsgroups: alt.hackers
From: hassan@cs.ubc.ca (Moustafa M Hassan)
Subject: unlimited news access
Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
Date: Tue, 1 Sep 92 19:36:47 GMT

Does anyone know of a site which allows unlimited news access?  I used to 
do the following:

'setenv NNTPSERVER news.cs.indiana.edu'

and then xrn would allow me unlimited read access to all groups.  (rn wouldn't
though, for some odd reason.)  Now, however, I am told that I do not have
permission to use this machine.  Does anyone have another trick?  Email is
appreciated; posting the news server wouldn't be a great idea because everyone
would use it, and then tech staff would probably monitor its use.

Any help is appreciated.


PS: Is it ethically acceptable for fellow-posters to alt.hackers to exchange 
    posting methods?  (By email, of course!).  Obviously, I would expect to
    see an article posted by him before revealing my own method.


ObHack:  Writing a program which can convert postscript files to unformatted
text (for viewing on a vt100, etc.).  Obviously, the program only works with
text; it (hopefully) ignores graphics.

********************************************************************
* Moustafa Hassan          |                                       *
* hassan@cs.ubc.ca         |  Political correctness is a euphemism *  
* TEL/FAX: (604) 535-2826  |  for intellectual stagnation.         *
********************************************************************
From: fmonro@neumann.une.edu.au (F J Monro)
Newsgroups: alt.hackers
Subject: Re: First Post
Date: 26 Aug 92 00:22:25 GMT

I had a dream about posting to alt.hackers last night, so of course
I had to try it :-).

ObHack: Well what is a hack, really? Most of the posts Ive seen seem 
to imply that a hack is any interesting "program" that uses the 
features of a complicated OS or program. Well, I'm currently working 
on a speaking/chiming/screenblanking clock for AmigaDos which uses 
the speech synth, the audio device & windows & gadgets.
Does this count?

-Che Monro			aka fmonro@neumann.une.edu.au
	"reverse the polarity of the neutron flow.."


Newsgroups: alt.hackers
From: reed@snake.tc.cornell.edu (Michael G. Reed)
Subject: Apple Hack (1st post)
Followup-To: alt.hackers
Keywords: ][gs
Reply-To: reed@Theory.TC.Cornell.EDU
Organization: Cornell National Supercomputing Facility
Date: Sun, 30 Aug 1992 23:48:04 GMT


Well, here's my first attempt at a post...

ObHack: Using bank mirroring on an Apple ][gs to do graphics was commonplace.
	Now, here's the hack.  Disable interupts and use one of those archaic
	softswitches from Apple ][ days to move the stack/direct page into
	"High Memory" (Bank 01 instead of 00).  Now, since bank 01 shadows 
	into E1 (where the graphics page resides), you can do stack moves
	(once the stack/direct page are aligned correctly) to scroll the 
	screen.  Stack moves on words are always 1-2 cycles faster...talk
	about a speed up on a 200x180 pixel area in an arcade game!

-Michael

-----------------------------------------------------------------------------
Michael G. Reed                                  (reed@Theory.TC.Cornell.edu)
Cornell National Supercomputing Facility                       (607)/254-8806
-----------------------------------------------------------------------------
        Why be normal, it's boring; and boring people should be shot.

Note:  These are not the views of my employer (and probably not mine either).
Newsgroups: alt.hackers
From: aroll@gucis.cit.gu.edu.au (Ashley Roll)
Subject: My first Post.
Organization: Griffith University, Brisbane, Australia.
Date: Fri, 28 Aug 92 02:07:41 GMT

ObHack: I couldn't get Ingres to compile on one of my friend's SUN 3/50's 
        so that I could write a database - solution - KLUDGE it in C!!

Cheers,
Ash.

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  Ashley Roll - aroll@gucis.cit.gu.edu.au   Griffith University, Australia
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
   Happiness: an aggreable sensation arising from contemplating the misery of
                                   another.
                                   - Ambrose Bierce's "Devil's Dictionary".

                        - - - - - - - - - - - - - -
  The thoughts, ideas and opinions expressed herein are my own and as such  
    are completly correct, I will however respect your right to be wrong. 
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Newsgroups: alt.hackers
From: kxs5829@ultb.isc.rit.edu (K.X. Saunders )
Subject: Re: NL->SQL
Originator: kxs5829@ultb
Organization: Rochester Institute of Technology
Date: Sun, 23 Aug 1992 15:45:18 GMT

In article <176t1tINN3u8@agate.berkeley.edu> Jym Dyer <jym@mica.berkeley.edu> writes:
>> Hack:	Writing most of a natural language to SQL front end in
>> a few hours, and have it compile and run correctly the very
>> first time!
>
>=o= Uh huh.  Of course, "correctly" can be a very subjective
>concept.  How well do you think it would fare against Natural
>Language Inc.'s regression test suite? :-)

	Well, I've never seen it.  Is there something similar available for
ftp?

>ObHack: Loading NLI-Lisp into Emacs, yielding Emacs-Lisp with
>an English SQL interface.

	Mine was in C.  Would would call the new system ENGLISH:

	Emacs
	Now
	Gobbling even
	Larger
	Increments of
	System
	Heap

	- Kyle

-- 
+-"Remember, [MS]DOS is sort of a UNIX deviant already" - dmoscny@piglet.-----+
|    // Only /\          kxs5829@ultb.isc.rit.edu                 cincinatti. |
| \ //      /--\MIGA     kyle@nick.csh.rit.edu                    oh.us       |
| \X/ SQLdb - $40 rdbms  Rochester Institute of Technology                    |
Newsgroups: alt.hackers
From: duck@nuustak.csir.co.za (Paul Ducklin)
Subject: Re: YAFP: TRS-80 Super Graphics
Organization: Infotek, CSIR
Date: Wed, 02 Sep 92 15:24:27 GMT

Self-modifying code was very useful in most micro-Basics for
things like dynamically sized arrays, where accessing a "new"
array simply created a default-sized (usually 10 element)
array without the need for a DIM statement.

I had an assembler I wrote once for the Oric ATMOS [..anyone
other than me ever *seen* one of these -- I even got grilled
at customs in Johannesburg for trying to import it {it was 80 quid
in London in '85} as a gift, but the customs official turned
out to be a Spectrum fan, which took all the "heat" off..]
which utilised this technique: insert a line such as

 100 AA(I MOD 10) = whatever
      ^
      | 
Then find out where the second 'A' sat in source mem, and adjust
it by poking in 65+I/10 to produce AA, AB, AC, AD etc. according
to the 10-element array you needed to access. Each of AA, AB, AC
etc. was then only created when first accessed -- a heapish type
thing.

I also found the 
   10 REM FN = XXXXXXXXXXXXXXXXXXXXXXXXXXX 
   20 RETURN
to be useful for implementing an infix expression evaluator within the
assembler -- just POKE the expression to be evaluated into the 
XXXX region and GOSUB 10! Lo - Basic does the work, and the error 
reporting. Of course, you needed to convert '+', '-', '/' etc. from
ASCII to TokenValue first...

This was not for want of memory [there was 48KB!!], but to reduce
code size due to a zany cassette interface. You could do 2400bps
with almost no reliability at all, or 300bps will almost no unreliability.
Or you could save, say, 4 times at 2400bps and cross your fingers.

Hey -- the ATMOS was a true portable. Transformer in the plug; whole 
base unit smaller than a Poqet; plug into your nearest TV set. The
display was Prestel only! Weird.

Paul Ducklin
CSIR - Pretoria - ZA
-- 

--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--
Paul Ducklin                                           duck@nuustak.csir.co.za

    CSIR Computer Virus Research Lab * Box 395 * Pretoria * 0001 S Africa

Newsgroups: alt.hackers,talk.bizarre
From: act@softserver.canberra.edu.au (Cyclops)
Subject: Re: Your very own Magic 8 Ball simulator
Organization: University of Canberra
Date: Wed, 2 Sep 92 03:51:06 GMT

In article <1992Sep1.232614.15386@wdl.loral.com> bard@cutter.ssd.loral.com writes:
>//
>// magic8  -- A magic 8 ball simulator
>//
>// Author:  James Woodyatt <bard@cutter.ssd.loral.com>
>//
>//
>
Take four deep voiced males, needle and nylon thread and a blunt knife.
Retune three males to soprano pitch using blunt knife and deepen voice
of remaining male by sewing on the left over bits. Its magic.
-- 
Renrut Werdna			Probable-Possible, my black hen,
				She lays eggs in the Relative When.
				She doesn't lay eggs in the Positive Now
act@ss.canberra.edu.au		Because she's unable to postulate how
Newsgroups: alt.hackers
From: peter@taronga.com (Peter da Silva)
Subject: Re: Hack: Job Control under 7th Edition Unix
Organization: Taronga Park BBS
Date: Mon, 31 Aug 1992 11:11:10 GMT

In article <1992Aug31.042739.29219@sserve.cc.adfa.oz.au> wkt@csadfa.cs.adfa.oz.au (Warren Toomey) writes:
>Two keys that do affect the execution of a foreground process are Int
>(usually ^C or DEL), which sends a SIGINT to the process, and
>Quit (usually ^\), which sends a SIGQUIT to the process. The
>latter cannot be caught or ignored by the process,

Sure it can. signal(3,-1) in 7th edition terms. It's just usually left
in default mode. Programs that ignore SIGQUIT won't be stoppable, no?
Plus setuid programs.

Neat hack, anyway. Have to try it on Xenix.
-- 
                                                                `-_-'
                         Have you hugged your wolf today?        'U`

Peter da Silva, Taronga Park BBS, Houston, TX  +1 713 568 0480/1032
Newsgroups: alt.hackers
From: flaps@dgp.toronto.edu (Alan J Rosenthal)
Subject: Re: Self Printing Program, revisited
Date: 4 Sep 92 21:16:25 GMT

imp@solbourne.com (Warner Losh) writes:
>There is a shorter version if you do it completely in shell:
>----------------------- cut here -------------------------------
>----------------------- cut here -------------------------------

This is true for some interpreted basics too.  So the modified problem is
usually to produce a non-empty self-printing program.

It is interesting to look at various kinds of "cheating" and see how hard it is
to modify the rules to eliminate the cheat.
Newsgroups: alt.hackers
From: shane@utdallas.edu (Shane Davis)
Subject: Re: YAFP: TRS-80 Super Graphics
Reply-To: shane@utdallas.edu
Organization: The Univ. of Texas at Dallas, ACC
Date: Tue, 1 Sep 1992 18:30:35 GMT

In article <1992Aug29.213737.19225@umbc3.umbc.edu>, paulr@umbc4.umbc.edu (Paul Riddle) writes:
|> 
|> This reminds me of a similar hack on the Color Computer (Coco) that
|> people used to use to "hide" lines of BASIC code...  Not quite as
|> elegant, but the same idea.  What you would do is follow your line of
|> code with a comment, and then a number of X's equal to the length of
|> the line.  To illustrate:
|> 
|> 10 PRINT "FOING BLASTERS":REM XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|> 
|> Then after that, you would go PEEKing through the area allocated to
|> your BASIC code (this value tended to change on the Coco, since you
|> could reserve low RAM for extra pages of hi-res graphics...  I think
|> the starting address was stored in low RAM somewhere) looking for the
|> sequence of X's.  Once you found them, you'd POKE the corresponding
|> locations with the value 8, which is an ASCII backspace.
|> 

On the Apple, I'm pretty sure you could POKE a begin- or end-of-BASIC-program
address somewhere in zero page which would result in abridged output from
LIST. You could also make "unmodifyable" code, even if LIST displayed it, by
replacing line numbers with numbers >63999. Applesoft called a line number
higher than 63999 a syntax error, so by POKEing 65535 or whatever into the
line number, it became immune to standard BASIC editing.

--Shane
From: worm@internet.net.edu (The Internet Worm)
Subject: Re: My First Post.
Organization: Blast from the Past
Date: Tue, 1 Sep 1992 23:47:22 GMT

In article <1992Aug27.012830.29259@newsserver.rrzn.uni-hannover.de> riepe@ifwm11.ifw.uni-hannover.de (Michael Riepe) writes:
>About 6 weeks ago I wrote a program that will display a full-screen,
>override-redirected Xlib window on any machine in the net that has
>display permission set for the originating host. The window catches all
>X events and overrides the window manager, therefore you can't remove it,
>unless you kill the program or restart the X server.
>
>I'm working on a version that copies itself across the net and compiles
>on the destination host. Does anyone have a good idea how to do that ?

   No, but I've got a friend named Richard Morris that might be able to
help you out.  Last I heard, he was working on something like that,
although he had been having some trouble with his code...
   His mail has been bouncing lately, though.  You could try contacting
his father's place of business....

   :-)
Newsgroups: alt.hackers
From: cleggp@aix.rpi.edu (Paul Jason Clegg)
Subject: Prime Number Generator
Organization: Rensselaer Polytechnic Institute, Troy, NY
Date: Mon, 31 Aug 1992 01:43:58 GMT

I'm interested in generating large prime numbers for use in some public key
code encryption schemes, and I'm looking for the fastest way to generate all
the primes from 2 up to as high as I can go on my 386/25 (Using BC++ 3.1, I
figured this is somewhere in the what, 4 billion range?)  Anyway, the first
method I was using was to just try every other (ie. odd) number from 3 to the
integer of the square root of the number being tested for prime-ness.  But
this takes quite a while.  Then in a discrete math class I found some Greek
dude's theorem about just using 2, 3, 5, and 7, and if the number isn't
divisible by any of those four numbers, it's prime.  But I got to thinking,
121 fits that description, but it's the square of 11, so something's amiss
here.  My new algorithm (as soon as I get the HD space for BC++ 3.1) is
going to keep a stack of prime numbers as it finds them; though it'll only
use those prime numbers up until it maxes out their usefullness (ie. reaches
the square of the highest prime number being used) at which point it will 
extend the list to the next prime number.  I figure this should be a pretty
good algorithm.

But.  Does anyone know of even more efficient algorithm for determining the
primeness of numbers?  Has anyone ever come up with a O(n) algorithm for it?

...Paul



Newsgroups: alt.hackers
From: act@softserver.canberra.edu.au (Cyclops)
Subject: This is not a test!!!!!!!
Organization: University of Canberra
Date: Wed, 2 Sep 92 03:58:06 GMT

Nah Nah Na Nah Na(secret code).


-- 
Renrut Werdna			Probable-Possible, my black hen,
				She lays eggs in the Relative When.
				She doesn't lay eggs in the Positive Now
act@ss.canberra.edu.au		Because she's unable to postulate how