HDTenEightyP/NetNews huggingface dataset:
Newsgroups: comp.sys.mac.programmer

>I ask is that I won
>their August Programmer's Challenge, and in the November/December issue
>they say they are going to send me the prize.  I haven't heard anything
>from them, and when I tried e-mailing their AppleLink address, my mail
>was returned.  Anybody know anything about this magazine?

That sounds like the MacTutor before they went to new management.
I submitted an article to them in March 1988.  I never heard anything
other than "thanks for the article, we'll keep it on file."  I forgot
all about it until I saw my article appear in the July 1991 magazine (almost
3 *years* later -- when a fair amount of the material in the article had become
incompatible with the current System/Finder).  I think that if I hadn't 
noticed it, they never would have sent me a check.  As it was, it took 
over three weeks of me calling them every few days before they finally 
mailed me a check ($400.).  They kept coming up with lame excuses, which 
included: "We don't mail out checks until a month after we publish someone's 
article", "The person who signs the checks is on vacation", "Oops, we forgot 
to mail it out", etc.

I hope you have better luck than I did.

-Ted
From: iscjcw@uccvma.ucop.edu (Jerry Wilcox)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Macintosh Doggles...
Followup-To: comp.sys.mac.programmer
Date: 22 Jan 1993 18:47:50 GMT
Organization: University of California, Office of the President
Distribution: world
NNTP-Posting-Host: ajax.ucop.edu

In article <pcw.727726325@digex>, pcw@access.digex.com (Peter Wayner)
wrote:
> 
> Does anyone know the location of a Macintosh Doggle 
> Manufacturer? (Doggles are the little do-hickeys that
> you connect to the computer to prevent piracy. The 
> software polls the do-hickeys every once and a bit
> to see if it is still there.) ADB bus doggles would
> be better.
> 
> -Peter

I believe they are "dongles". I hate them. We don't buy products that have
them. Despite all the claims to the contrary, our experience has been that
once you get past one, they end up conflicting in mysterious ways.

On the subject of ADB dongles, I believe there is a fairly low limit to the
number of ADB devices that can be attached (power requirements?). Perhaps
someone reading this can educate me further, but I remember reading
concerns that ADB dongles might cause problems with the ADB bus in some
way.
-----------
Jerry Wilcox - iscjcw@uccvma.ucop.edu
All opinions expressed are MINE -- I'd have a different job if the
University wanted me to speak for it.
Newsgroups: comp.sys.mac.programmer
From: d88-jwa@hemul.nada.kth.se (Jon Wtte)
Subject: Re: Copying bitmaps question
Organization: Royal Institute of Technology, Stockholm, Sweden
Date: Wed, 27 Jan 1993 16:34:30 GMT

In <garry-270193151707@archmac-167.arch.su.edu.au> garry@archsci.arch.su.edu.au (Garry Stevens) writes:

>I am using CopyBits to copy a large-ish bitmap (40K) for use in printing.
>IM says not to copy more than 3K at a time. How do I do this? If I make a

Tut tut. Get a newer IM.

It's OK to CopyBits to your hearts content, but you may have
to stand some memory being temporarily allocated in your heap.

Cheers,

					/ h+
-- 
 -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --

   What we need is a good GNU [...] licence manager implementation.
                     -- Raphael Manfredi
Newsgroups: comp.sys.mac.programmer
From: peter@cujo.curtin.edu.au (Peter N Lewis)
Subject: Re: Where to upload/distribute shareware to? - FAQ Answer
Followup-To: comp.sys.mac.programmer
Organization: NCRPDA, Curtin University
Date: Sat, 23 Jan 1993 09:29:35 GMT

In article <jbrowne.727678778@zaphod>, jbrowne@zaphod.ncsa.uiuc.edu (Jim
Browne) wrote:
> 
> peter@cujo.curtin.edu.au (Peter N Lewis) writes:
> 
> >The file will be forwarded to the umich, info-mac and other archives, as
> >well as comp.binaries.mac (but not comp.sources.mac, all sources and
> >binaries go to comp.binaries.mac)-:
> 
> Who's in charge of comp.sources.mac anyway?  Is it moderated?

Its moderated by Roger Long, the same fellow who moderated
comp.binaries.mac.  His opinion is that only "real" sources can go thru
comp.source.mac - that is, source in human readable form, not BinHex.  This
has been debated at length, there are lots of other source groups that post
sources in uuencoded or other ascii encoded forms, but Roger is firm in his
opinion, and the only way to change the situation would be to have a coupe
and replace him as moderator of both comp.binaries.mac and comp.source.mac
(it would be really insane to have two different moderators for the two
groups, since all submissions should go to exactly one of the groups, and
should come from the macgifts mailing list at umich).  But since he's done
such long standing service in moderating comp.binaries.mac, I'm not willing
to actively advocate his removal, so I'll leave it up to someone who thinks
they can do a better job at moderating the two groups to propose a
change...
   Peter.

_______________________________________________________________________
Peter N Lewis <peter@cujo.curtin.edu.au>             Ph: +61 9 368 2055
From: gk1@acpub.duke.edu (Gavin  Kistner)
Newsgroups: comp.sys.mac.programmer
Subject: Beginner Think C question
Summary: Crashes normally, not in debug
Date: 23 Jan 93 00:14:15 GMT
Followup-To: gk1@acpub.duke.edu
Organization: Duke University; Durham, N.C.

I'm trying to write my very first program on a Mac (except hello world)
using Think C 5.0.2  & Think Reference.
I'm fuddling along, and things are working alright if I'm stepping through
in the debugger, but if I try to run the program without it, it crashes
immediately.  Not even CMD-OPT-ESC saves.  I'd think I'm trashing system
mem, but it does work fine with the debugger.

Code follows.  Please understand that this is my very first program
attempting to use any procedures not my own.  The code is messy.  Bear with
me.

#include <Resources.h>
#include <Types.h>
#include <StandardFile.h>
#include <stdio.h>
#include <stdlib.h>

short GetFiles(void);

#define NIL 0
short fileRefs_g[255];

/*********************************************/

int
main()
{
	   short error;
	   
	   error = GetFiles();
	   
	   return 0;	    
} /*main*/

/*********************************************/

short
GetFiles()
{
	   short loopCounter=0;
	   SFReply openReply;
	   Point boxPoint;
	   SFTypeList fileKind;
	   
	   boxPoint.v = 20;
	   boxPoint.h = 20;
	   fileKind[0]='sfil';
	   openReply.good = 1;
	   
	   while (openReply.good && (loopCounter < 256))
	   		 {
	   		 SFGetFile(boxPoint,NIL,NIL,1,fileKind,NIL,&openReply);
	   		 if (openReply.good)
	   		 	    fileRefs_g[loopCounter++] =
OpenResFile(openReply.fName);
	   		 if (openReply.good && (fileRefs_g[loopCounter-1] == -1))
	   		 	    {
	   		 	    printf("An error occured opening the selected
resource file.\n");
	   		 	    printf("Sorry.\nExiting program...\n");
	   		 	    exit(1);
	   		 	    } /*if*/
	   		 } /*while*/

	   if (loopCounter < 3) return 1;
	   else return 0;
} /*GetFile*/

Anyone feeling like taking the time to look over this, and flame me if they
find out what's wrong, please do so.

Thanks, 

                   Gavin
Newsgroups: comp.sys.mac.programmer
Subject: Re: undefined: screenBits.   WHY???
From: seth@physc1.byu.edu
Date: 26 Jan 93 02:34:02 -0700
Distribution: world
Organization: Brigham Young University

In article <1993Jan26.021801.369@physc1.byu.edu>, seth@physc1.byu.edu writes:
> I hope that by the time you read this I will have found the answer myself,
> but I doubt it...
> Here goes. I have this code snippet in my C program:
> 
> *aRect = screenBits.bounds;
> 
> 
> WHen I compile there is no prblem, BUT when I link I get a link error that
> says "undefined: screenBits"
> Now why is that? what do I have to include to get screenbits to be known? The
> THINK Reference (1.0) and ObiWan both report my spelling as being fine. I am
> at my wits' end by now. In THINK Pascal this worked just fine. What in the
> heck can I do?
> 
> Thanks,
> Seth Leigh
> BYU Physics Dept.
> 


Well, I should have known... Nothing like posting your question to make you 
find it any quicker. I finally found that the library MacTraps must be added
for the QuickDraw globals to be defined. 
Seth
From: peterc@hal.gnu.ai.mit.edu (Peter Creath)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Think Reference 2.0 Review
Date: 21 Jan 1993 22:06:34 GMT
Organization: /etc/organization
NNTP-Posting-Host: hal.gnu.ai.mit.edu

[comments about Think Ref 2.0's astonishing 7.1MB disk footprint]

I'd still like to see them do on-the-fly decompression so we could get
that down to 3 to 5 MB (of course you don't compress indexes, or if you do,
you load them all at once into RAM)

Newsgroups: comp.sys.mac.programmer
From: steve.herman%express@freedom.msfc.nasa.gov (Steve Herman)
Subject: Disappearing Icons
Followup-To: comp.sys.mac.programmer
Organization: BCSS
Date: Tue, 26 Jan 1993 23:12:14 GMT

We have been having the following problem when running applications from a
Novell server. Actually we have a very large network with several Novell
servers and the problem occurs on most of them.

It seems that when the users run various commercial applications which
reside on a Novell file server (primarily the Microsoft Office suite) and
store their documents locally on their hard drive the documents
periodically, and fairly consistently lose their application specific
icons.

The documents on the users hard drive then begin displaying the generic
document icon (rather than the document icon associated with the
application).  Double-clicking the document gives the error which states
"the application which created the document could not be found".  The user
*IS* connected to the Novell file server when these errors occur.

The only fix we've found for the situation is to clear the initted bit on
the application and then double-click the application to cause it to be
re-read into the server's desktop database.  We've also tried completely
re-building the desktop on the servers.
Both of these fixes are only temporary and the problem seems to re-occur
after only a few days.

Does anyone know what could be causing this problem and if so is there a
more permanent fix?

----------------------------------------------------
- Steve Herman - BCSS
- Boeing Computer Support Services
- Huntsville, AL
----------------------------------------------------
Newsgroups: comp.sys.mac.programmer
From: d88-jwa@hemul.nada.kth.se (Jon Wtte)
Subject: Re: Hardware Protection Keys
Organization: Royal Institute of Technology, Stockholm, Sweden
Date: Mon, 25 Jan 1993 17:56:33 GMT

In <C1F3Ax.GGo@dartvax.dartmouth.edu> Mark.R.Valence@dartmouth.edu (Mark R. Valence) writes:

>I once played with a SCSI dongle that did not require a SCSI device ID.
> "How did it work" you ask?  Well, it simply watched for a special
>sequence of bits on the SCSI bus, like 2A83F93AA9C0823BC09234C or
>something.  When it saw this sequence, it woke up and interpreted the
>following bits as commands, then sent the results back to the Mac. 

>I think the manuafacturers said something like "oh, but the chances of
>that happening are very minimal."  Pah!  If there is a chance at all,


I was afraid of this. Please name the product so that I may
stay away from it. Also, did it keep up with fast SCSI data
rates possible, say between an intelligent SCSI unit and a
fast mac?

Cheers,

						/ h+
-- 
 -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --

   NetHack 3.1: Any Year Now.
Newsgroups: comp.sys.mac.programmer
From: nagle@netcom.com (John Nagle)
Subject: Re: Symantec's Address & Telephone #
Keywords: Symantec
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Sun, 24 Jan 1993 03:21:16 GMT

rudolph@unixg.ubc.ca (Christopher E Rudolph) writes:
>For those of you who don't have any Think Products:
>Symantec Corporation
>10201 Torre Avenue
>Cupertino, CA  95014-2132
>Tele: 408/253-9600

        Allow plenty of time for waiting on hold.

					John Nagle
From: sbill@informix.com (Bill Stackhouse)
Newsgroups: comp.sys.mac.programmer
Subject: large code resources with MPW
Date: 25 Jan 93 22:44:18 GMT
Followup-To: sbill@informix.com
Organization: Informix Software, Inc.


I am in the process of testing a library that needs to work in the A4 world
and amusing a DA seemed to be a simple way to do so. The library is > 32K
in size. In Think C, things worked fine because I can have multi segment
DA's.

In MPW, I used the memory.c sample program as a shell but used -model far
in all compiles. During the link, I get a message about not able to edit
32 bit address (error 29).

My questions are:

1) can cdev, da, init have multiple segments in MPW?

2) if not, how do I compile and link a code resource > 32k? What options?

Thanks
Bill Stackhouse
sbill@informix.com
From: udmorrow@mcs.drexel.edu (Daniel Morrow)
Newsgroups: comp.sys.mac.programmer
Subject: help with IPCListPorts (was IPCListPorts hell)
Date: 22 Jan 93 17:23:16 GMT
Distribution: usa
Organization: Drexel University

Recently I posted a question about IPCListPorts (saying that I was
in hell and was ready to pull my hair out).

Anyway, I've narrowed down the problem.

I've noticed that when a program launches, a port is created for it
(by what, I don't know.)

Anyway, I've noticed that the "portTypeStr" (of the PPCPortRec which you
are interested in) is _always_ a Pascal string.

This Pascal string always looks something like this:
	<length-byte><4-byte app creator type> 'ep01'.

What is this 'ep01' and why is it there?
Who puts it there?

Also, how can I change this portname from within the application it 
belongs to?

Thanks, I haven't been able to find any info about this in IM-6.

-Dan.
From: mwalker@novell.com (Mel Walker)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Why the Piracy? Here's why...
Followup-To: comp.sys.mac.programmer
Date: 25 Jan 1993 15:54:42 GMT
Organization: Novell, Inc.
Distribution: world
NNTP-Posting-Host: chezmoto.ai.mit.edu

In article <01050166.oevqi2@joebloe.maple-shade.nj.us>,
joseph@joebloe.maple-shade.nj.us (Joseph Nathan Hall) wrote:
[deleted]
> Frankly it seems to me that the only sensible and affordable policy
> for small businesses is piracy.  Mind you, I find that revolting.

Just like the only sensible policy for 30-minutes-or-less pizza delivery is
for the drivers to speed, so the business can cover more territory without
paying higher costs of hiring more drivers, etc. That's a money-saving
policy, until the cops catch you, and your insurance rates go through the
roof, and your business goes under.

I agree that high prices of software is a major problem. But piracy is a
short-term panacea that results in long-term widely distributed higher
costs.

----------------------------------------------------------------
Mel Walker                                    mwalker@novell.com
All opinions expressed are of the author.
Novell, Inc. is not responsible for the content of this article.
Newsgroups: comp.sys.mac.programmer,comp.sys.mac.system
From: leonardr@netcom.com (Leonard Rosenthol)
Subject: Re: Apple events/AppleScript/Toy Surprise - Applications Wanted
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
Date: Mon, 25 Jan 1993 06:47:32 GMT

In article <1993Jan21.224909.8236@news.media.mit.edu> dyoung@media.mit.edu (David Young) writes:
>can anyone tell me other graphic or
>page-layout applications that have devent Apple event support?
>
        Well, it is not page layout or graphic, but StuffIt Deluxe and
StuffIt Lite 3.0.x are FULLY scriptable and also FULLY recordable - in facdt
it is the ONLY shipping recordable application.

-- 
-----------------------------------------------------------------------------
Leonard Rosenthol			Internet: 	leonardr@netcom.com
Director of Advanced Technology		AppleLink:	MACgician
Aladdin Systems, Inc.			GEnie:		MACgician

Newsgroups: comp.sys.mac.programmer
From: proact@netcom.com (Proactive Software)
Newsgroups: comp.sys.mac.programmer
Subject: Windows to Mac conversions
Date: 25 Jan 93 23:00:32 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest)

I have some Microsoft Windows Cursor (.CUR) and Icon (.ICO) files.  Is
there an utility to convert these to Mac cursor or icon formats that
I can read with resedit?

Steve Brozosky
sjb@proactive.com
Newsgroups: comp.sys.mac.programmer
From: vkoser@niblick.ecn.purdue.edu (Vincent R Koser)
Subject: keyDown
Organization: Purdue University Engineering Computer Network
Date: Thu, 21 Jan 1993 16:16:45 GMT

I am writing a hangman program and need to check
if they hit a-z or A-Z but need to disregard number
keys and punctuation any suggestions, Ive never
used keyDown except in conjunction with autoKey
to get the menukeys.

thanks in advance
please respond to my personal account and here
so I know when it arrived but also so others can
see how to do this to

vincent
vkoser@ecn.purdue.edu
---------------------
From: tzs@carson.u.washington.edu (Tim Smith)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Why the Piracy? Here's why...
Date: 26 Jan 93 01:27:16 GMT
Article-I.D.: shelley.1k241kINNsjo
Organization: University of Washington School of Law, Class of '95
NNTP-Posting-Host: carson.u.washington.edu

joseph@joebloe.maple-shade.nj.us writes:
>On the other hand, I use them almost exclusively for duplicating my
>copyrighted, unpublished music.  Where do *I* sign up for $$$ from
>my helpful government?  I'm a productive, healthy, law-abiding taxpaying
>citizen, and ....

Welcome to one of the most annoying areas of law.  This problem does not
just happen in music piracy.  There are many other areas where this kind
of thing happens:

	Speed limits.  We apply these to everyone, regardless of their
	actual driving skill.  We don't let people with superior skill
	and reflexes drive faster on the freeway, even when traffic is
	light and there would be negligable risk.

	Age of consent.  We do not let 12 year old persons consent to
	sexual relationships with 30 year old people, for example, even
	if a particular 12 year old is very mature and is as able as
	an adult to understand the implications of consent.

	Voting.  A 17 year old genius might easily be better qualified to
	vote than a 30 year old moron, yet the 17 year old cannot vote, and
	the 30 year old can.

So, what would happen if the age of consent were dropped to 12?  Well, there
would be some people who would be able to then consent to sex who could not
otherwise who would benefit.  But there would be a lot of people between 12
and 18 who would be coerced into purporting to consent who would be harmed.
Legislatures tend to think that the harm of making the few who could benefit
wait until they are 18 is less than the harm to the other group, and so they
leave the age of consent at 18 in most places in the United States.  I believe
some places in Europe have chosen an age much lower.

The point is, they are going to have to pick some age, unless they are willing
to get rid of the concept of age of consent, and make each case be determined
individually by the courts.  That would be very difficult, so we get stuck with
an arbitrary line.

The same sort of thing happens with speeding and voting and home taping.
You get lumped into a group, and the limits are set based on the group,
rather than on individuals.

--Tim Smith
Newsgroups: comp.sys.mac.programmer
From: siegel@world.std.com (Rich Siegel)
Subject: Re: Think C & #pragma parameter (was: help calling assembly from C)
Organization: GCC Technologies
Distribution: usa
Date: Mon, 25 Jan 1993 03:32:23 GMT

In article <1jvlnrINNst4@crcnis1.unl.edu> mgleason@cse.unl.edu (Mike Gleason) writes:
>
>Well, I found out the hard way awhile back that this doesn't work like one
>would expect in Think C 5.  Think C's #pragma parameter only works on "sub-
>sequent inline function definitions" (p. 194 of the manual).  So in Think C,
>you can't really use this for your own functions unless you bother with crap
>like "void foo(void) = { 0x4e71, 0x4e71, etc... };"  I wouldn't mind if Think
>C required the whole function to be in gazzembly, but accepting only raw hex
>is unacceptable.

So big deal. What's assembly language without a little work? :-)

Here's a way to do it - it's not necessarily as nice as having a #pragma
to do it for you, but it does work, and you could probably cons up some
macros to help...

Declare your function as a void function, with no arguments, and at
the beginning, you can have a bit of code which copies the register
arguments into named local variables. You don't have to, though, if
you're writing the entire function in assembly language:

void func(void)
{
	char *str;
	short len;

	asm
	{
		move.w	d0, len
		move.l	a0, str
	}

	// ...and the rest of your function.

	// If you need to return a result to a C caller, return it in d0.
}

To call this function, just have a bit of inline assembly that moves the
arguments into registers and calls the function:

	asm
	{
		lea	char_buf, a0
		move.w	buf_len, d0
		jsr	func
	}

(I'm coming into this thread late, and so you may have already considered
this; however:)

You may wish to revisit your code and figure out whether it's worth
taking the time to optimize your parameter passing; if it's so
time-critical that you're worrying about the number of cycles it takes
to push and pop arguments, then you may well be better off moving the
function(s) you're going to call inline with the rest of your code.
Besides, for a normal routine, the passing of arguments really gets
lost in the noise; if it doesn't, then you -definitely- should move
the function inline.

#pragma parameter is really a hack (which originated with MPW C) to
provide a way to call register-based traps without requiring an
external glue library; trying to use it for anything else is extending
it somewhat beyond its limits...

R.
-- 
-----------------------------------------------------------------------
Rich Siegel                              Internet: siegel@world.std.com
Senior Software Engineer
GCC Technologies
Newsgroups: comp.sys.mac.programmer
From: peter@cujo.curtin.edu.au (Peter N Lewis)
Subject: Re: Calling external code resources - how?
Followup-To: comp.sys.mac.programmer
Organization: NCRPDA, Curtin University
Date: Tue, 26 Jan 1993 03:10:29 GMT

In article <1993Jan25.005216.12749@kth.se>, d88-jwa@dront.nada.kth.se (Jon
Wtte) wrote:
> 
> In <01050014.odph61@blanc.north.de> jochen@blanc.north.de (Jochen Meyer) writes:
> 
> >Where can I find information on how to do this? The Segment Manager
> >chapter of IM gives no clues on this. Anyone has got some sample code
> >on this?

> Define an interface for the extensions, consisting of ONE
> function that takes a lot of interesting parameters,
> like a handle to some data and a command, and a handle to
> put retusn data in, and returns an err code.
> 
> The just load in the resource, lock it, and call the dereferenced
> resource as a function pointers with the right arguments.

If you want other people to be able to write externals in Pascal, give the
function a Pascal interface.

Another good idea is to pass a single param block containg all the
parmaeters, with a version parameter at the front, so if you decide to add
more parameters later, you don't need to rewrite all the externals, you
just bump the version number, and add the new parameters to the end.  An
OSErr is often a good return result.

In Pascal:

type MyExternalParamBlock = record
    version:longInt;
    { other stuff }
  end;
function External(var pb:MyExternalParamBlock): OSErr;

[
In C, something like this I think
OSErr External(MyExternalParamBlock *pb)
]

Call it something like this:

function CallExternal(var pb:MyExternalParamBlock; proc:Ptr):OSErr;
inline $205F, $4E90;

var h:handle;

h:=GetResource('Xtns',128);
HLockHi(h);
oe:=CallExternal(pb,h^);
ReleaseResource(h)

I did something akin to this in the external tokens for Finger, the source
of which should be on sumex or umich, as well as
redback.cs.uwa.edu.au:/others/peterlewis.

Have fun,
   Peter.

_______________________________________________________________________
Peter N Lewis <peter@cujo.curtin.edu.au>             Ph: +61 9 368 2055
Newsgroups: comp.sys.mac.programmer,comp.sys.mac.system