ftp.nice.ch/peanuts/GeneralData/Usenet/news/1997/Prog-04

This is Prog-04.gz in view mode; [Up]


From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: SEL and all that (Re: Objective C?) Date: 01 Apr 1997 05:25:34 -0800 Organization: home Message-ID: <tz8zpvieuy9.fsf_-_@aimnet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <33190835.19824536@nntp.ix.netcom.com> <5fcngp$7dd@lal.interserv.com> <331f6ea2.1358032@nntp.ix.netcom.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nrcs.usda.gov> <5gdbq0$3p1@lal.interserv.com> <petrichE750Ms.32G@netcom.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> <EnC0xz600iWZE3EdEo@andrew.cmu.edu> <1997033120412571610@du86-96.ppp.algonet.se> In-reply-to: fahl@dataton.se's message of Mon, 31 Mar 1997 20:41:25 +0100 Fcc: /u6/users/tmb/mail/x-nout In article <1997033120412571610@du86-96.ppp.algonet.se> fahl@dataton.se (Mike Fahl) writes: 1. A "SEL" is used to identify a method name. 2. The "SEL" is typically a 32 bit pointer to a string, which is the method name. I don't think that the Objective-C language guarantees this. The GNU runtime, for example, allows for multiple values of SEL to represent the same method; in particular, in the GNU runtime, you must use "sel_eq", not "==", for comparing two selectors. I. Assume that the two classes A and B both have a function named f, but which takes different paremeters. How are the two distiguished? Or am I not allowed to use the same function name in different classes? Objective-C has no overloading or name mangling, so you should generally not use the same method name with different static argument types in different classes. The compiler will generally check interface definitions for consistency in this regard. If you manage to evade that check (unless you play unconventional tricks with trying to hide methods from interfaces, that's pretty difficult) you get undefined behavior. In principle, the runtime could also verify that such type errors are not present, since methods are registered with the runtime and type information is available, but AFAIK no runtime does (and some Objective-C programs might actually depend on this). Because methods are most frequently used with objects as arguments, the static argument types are usually "id", and satisfying this requirement is not that hard. II. How can objects living in different address spaces talk to each other? The "SEL" - being a pointer to to a string (ie, and address) is address-space specific, and wouldn't make sense outside the process. OTOH, passing the function name as a string and do a full string lookup seems rather expensive. Well, the method implementation itself is a function pointer and hence address space specific. FWIW, if anything, Objective-C is a little more flexible in this regard than C++, since unlike C++, method selectors do have a well-defined address-space independent representation. Thomas.
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.mac.advocacy Subject: Re: Objective C? Date: 1 Apr 1997 06:47:38 -0800 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.859905712@idiom.com> References: <330E54AC.167E@innosys.com> <SHESS.97Mar7101914@howard.one.net> <5g0sr9$sak@samoyed.ftc.nr <1997033120412571610@du86-96.ppp.algonet.se> <5hp8tb$ned@lynx.dac.neu.edu> <InE96Eq00iWp0J8740@andrew.cmu.edu> Charles William Swiger <cs4w+@andrew.cmu.edu> writes: >Excerpts from netnews.comp.sys.next.advocacy: 31-Mar-97 Re: Objective C? >by Michael Kagalenko@lynx.d >>]2. The "SEL" is typically a 32 bit pointer to a string, which is the >>]method name. >> >> I am not sure that SEL is really a pointer. NeXT manual says >> merely that it is the identifier of method name, and >> it's uniqueness is guaraneed by the run-time. I am sure that >> trying to get method's name by dereferencing selector is >> the recipe for disaster. >From the CalculatorLab demo: >[ ... ] >Breakpoint 1, -[SimpleCalc init] (self=0xbf488, _cmd=0x617f035) at >SimpleCalc.m:32 >(gdb) p _cmd >$1 = (struct objc_selector *) 0x617f035 >(gdb) p (char *) _cmd >$2 = 0x617f035 "init" >Of course, nothing about the runtime has ever stated or guaranteed that >you can deference a SEL as a (char *) to a string which is the method >name for that selector, but it does work. That works, *BUT*: according to "objc.h": typedef struct objc_selector *SEL; It's kind oflike getting to your superclass with **self. The first item in that struct is a pointer, but *boy* is that breaking rules. -jcr
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: SEL and all that (Re: Objective C?) Date: Tue, 1 Apr 1997 12:32:33 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <onEIOlW00iWVI5YIgZ@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> In-Reply-To: <tz8zpvieuy9.fsf_-_@aimnet.com> Excerpts from netnews.comp.sys.next.advocacy: 1-Apr-97 SEL and all that (Re: Objec.. by Thomas@nohost.nodomain > 2. The "SEL" is typically a 32 bit pointer to a string, which is the > method name. > > I don't think that the Objective-C language guarantees this. Not at all-- all you know is that a SEL is a (struct objc_selector *). But it is the case, at least for NeXT's implementation of the Obj-C runtime, that this happens to be equivalent to a (char *) to the method name. > The GNU runtime, for example, allows for multiple values of SEL to > represent the same method; in particular, in the GNU runtime, you must use > "sel_eq", not "==", for comparing two selectors. Right. I was simply trying to give an accurate description of how method invocations and selectors work by explaining what was really going on. When writing code, you'll use compiler constructs like @selector() or runtime functions like sel_getUid() or the sel_eq() function you'd mentioned above, and you'll never deal with selectors as anything but anonymous typed items. However, I'm of the opinion that having the mapping of method names to selectors be 1-to-1 is (at least, sometimes) a useful invariant, and I wonder why the GNU runtime didn't want to guarantee this. It's probably not a big deal either way, though. You _can_ use any of the multiple SEL values and the GNU runtime will find the same function implementation within objc_msgSend, right...? -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: dashlangan@hotmail.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: A Y2K Solution So Simple That Even a Child Can Do It Date: 1 Apr 1997 19:49:10 +0200 Organization: Posting Service Message-ID: <199704011749.TAA24541@basement.replay.com> The "Open and Shut Window Technique" is so simple a Y2K solution that even a child can do it. (Now, don't get me wrong. I do not endorse child labor. I fully support the enforcement of child labor laws in India, the Philippines, El Salvador, and elsewhere.) See url: http://www.geocities.com/ResearchTriangle/3462/ Dash Langan -- Keep India in mind - where super children grow up to be super programmers.
From: neuss@informatik.th-darmstadt.de.nospam (Christian Neuss) Newsgroups: comp.sys.next.programmer Subject: Re: Finding leaky memory... Date: 1 Apr 1997 17:13:14 GMT Organization: Technische Hochschule Darmstadt Message-ID: <5hrfna$bq8@rs18.hrz.th-darmstadt.de> References: <Pine.SUN.3.96.970322204843.18642A-100000@kira> Timothy Luoma (luomat@peak.org) wrote: > I say that because my swapfile will continue to grow even when nothing is > happening or has happened for quite some time. > What are some telltale signs of leaky apps, or how can I run apps under > some program that will report memory leaks? ps -axe | grep OmniWeb :-) sorry, couldn't resist.. (actually, it's not that bad once you change the cache settings) Chris -- // Christian Neuss "static typing? how quaint.." // http://www.nexttoyou.de/~neuss/ // fax: (+49) 6151 16 5472
From: "Michael Allen Latta" <mlatta@hologisys.com> Newsgroups: comp.sys.next.programmer Subject: Checking on an old issue in the newer releases Date: 1 Apr 1997 17:41:48 GMT Organization: SuperNet Inc. +1.303.296.8202 Denver Colorado Message-ID: <01bc3ec3$9e3eec80$1f6085cc@dialup.hologisys.com> I have been out of touch with NeXT since 3.2 developer days. Have they fixed the problems related to dynamically loading a NIB file and needing to release the objects tonained therein? I remember great contortions to have to release the objects in the NIB. There was some hope that the reference counting of OpenStep would resolve this when the NIB owner was released. Please reply by e-mail I am not reading this group on a regular basis. Mike Latta mlatta@hologisys.com
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 1 Apr 1997 20:04:16 GMT Message-ID: <5hrpo0$3ek$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> In-Reply-To: <859832225.8762@dejanews.com> On 03/31/97, curranj@mskcc.org wrote: >In article <5heg3q$a4a$1@nntp2.ba.best.com>, > kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: >> >> Sure it can be done. Don't make something as rediculously simple as >>a Point into a class, especially if there aren't going to be any >> virtual member functions in it. Objective C programmers tend not >> to try to turn every concept into a class. > > Which bring us back I point previously --- You seem to be arguing > that ObjC is a great language as long as you don't use it. Point > might be "ridiculously simple" but is a perfect concept to be made > into a class. Do me a favor and don't put words into my mouth. That is not what I said. >Every class library I've worked with (C++ or SmallTalk) had one. In C++, people do it because C++ is good at allowing you to define concrete data types such as points as a class. In SmallTalk everything is an object, so that's a pretty dumb argument. >Treating a point as one object instead of two separate coordinate >numbers makes handling it much easier. (for instance, how do you >return one from a function?) Gee James, like this? NSPoint doSomethingWithPoint(NSPoint point) { // Do something with point. return point; } >> >Shallow copy: >> >C++: pPt1 = pPt2; >> >ObjC: Pt1 = Pt2; >> >(draw) >> >> That's a pointer assignment, it's not making a copy of either object. > > But that's what a shallow copy is........ No, it's not. A shallow copy is defined in every book I've ever seen as copying all of the members of an object, but not all of the objects that it may point to, which is a deep copy. See page 218 in tha C++ Reference Manual, for example. >> >> >Deep Copy: >> >C++: Pt1 = Pt2; >> >ObJC: Pt1 = [[Point alloc] init:Pt2]; >> >(Again I prefer the C++ syntax, but, this time I think it's clear >> >enough to say advantage C++) >> >> Try: Pt1 = [Pt2 copy]; >> >> At least in the objective c case you know from looking at the code >> what is going on. In C++ you have to go and track down the >> declarations of the variables involved to figure out what's going on. >> > > Well, that depends on there being a "copy" method defined for that >class. I'm not sure how widespread that convention is. I assumed an >init method using an object of that type would be more common. It's generally defined in those places where it actually makes sense to have a copy operation on an object. The compiler won't try to be 'smart' and generate one for you automatically, and thus make assumptions about how the object works. That's a good thing, IMHO. > And how confusing can "Pt1=Pt2;" be? It treats Pt1 & Pt2 exactly the >same if they are ints, floats or Points. Except that ints, floats or points don't usually have pointers to other objects contained with them. They are basically just 'dumb' storage classes. >> >effecient deep copy: >> >C++: Pt1 = Pt2; // inlining handled by compiler >> > // encapsolation maintained >> >> Only if the assignment operator isn't virtual. > > No. Since Pt1 & Pt2 are actual object and not pointers to objects, >they can only be Points, and not some subclass of Point, hence they >could be inlined. True enough. Although amazingly enough I don't need C++ to do that. >> And once again you are totally hung up on the assumed poor performance >> of Objective C method dispatching, without taking a serious look at >> the benefits it has. > > I admit that it has benefits -- but only in rare circumstances ---- >Places where I could generally write a C++ code that allows it (prototype >version posted elsewhere in this thread). The point is I'd like to be >able to turn it off for the 99% of the time where I don't need it. It seems to me like you spend 99% of your time writing a lot of concrete data types, rather than high level objects, so this is probably true for you. A lot of the code I write could probably be done in C++, maybe even 90% of it. But getting that last 10% to work the way it does now, and as easy and simply as it does would be a major pain in the ass. And no one is complaining about the performance of the application I've written. In fact everyone is praising how fast it's been written and how well it works. To many people, THAT is the key issue at hand. All of the runtime 'efficiency' in the world isn't going to help you a damned bit if you can't write your code in a timely manner because you're spending most of your time trying to wrap your head and design around how C++ works. >> >very effecient method call when run-time polymorphism isn't needed >> >(ie, object actual type is known) >> >C++: Pt.print(); >> >Obj: can't be done. >> >> In cases where run-time polymorphism aren't needed, I don't use a >> class. I see almost no reason to do so in cases where the 'objects' >> involved are so simple as to not require OO features, other than >> for syntactical reasons. I've seen what happens when C++ programmers >> go apeshit and make EVERYHING a class right down to 'Points'. They >> wind up with massively complex code with poor performance. > > Nonsense --- You're just rationalizing. You language of choice isn't >good for trivial classes, so you've just declare that making trivia class >isn't good OOP, and throwing in an unsupported specter of complex code >and poor performance. Elsewhere, I countered an ObjC example of: >[alertArea text: "Danger" color:red blink:ON] with a C++ example of >alertArea << blinking << red << "Danger"; I have infact coded up an >example for that which works. It involves several trival class and some >very complex code --- ALL of which is hidden away in a header file, where >NO ONE has to be concerned with it-- leaving just the simple syntax >above.... I am not just rationalizing. I have seen bad C++ code, lots of it unfortunately. When you see game code that has abstracted EVERYTHING, all the way down to using point classes and such for 3D operations, and have seen how it actually performed, you wonder. It's easy to slap together a really simple point class that lets you encapsulate math for dealing with points and such. But I wonder how many people actually go and look at the code being generated to see if it's really as efficient as they think it is. Yeah, it makes your source code nice and pretty. You can add points, multiply them, etc. to your hearts content. But how many C++ programmers stop and take a look at the code being generated? A lot of them might be suprised by what they find. >> they work differently. Consider the following line of C++ code: >> >> x = y->foo(z); >> >> From reading just that code, you can not tell if y is a struct or a >> class, whether foo is virtual or not, or whether z could be modififed. > > True -- because NONE of that is supposed to matter! In fact, C++ >acknowledges no difference between a class & a struct (OK, one >difference: members of structs are public by default, while members of >classes are private by default; otherwise they can be used >interchangibly) But it ought to matter when there are semantic differences between different kinds of operations. If people looking at your code can't tell (unambiguously) what it's doing without looking up a lot of stuff elsewhere in the code, then you have a maintenance problem. Why are there 26 entries under the heading of "ambiguity" in the C++ ARM index? The C++ Reference manual has 15. The _vast_ majority of them are C++ and not C related (such as the if-else thing). -Ken
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 1 Apr 1997 20:45:45 GMT Message-ID: <5hrs5p$63i$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> In-Reply-To: <5hl994$2nm@lal.interserv.com> On 03/29/97, James M. Curran wrote: >In <<5hb805$fo6@news.ml.com>>, > necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: > >> Additionally, it is a >>real world example because when you subclass things in C++ where you don't >>have the source, you don't have the benefit of polymorphism in things done in >>the constructor. > > But in ObjC, "you don't have the benefit of polymorphism in things >done in the constructor" either because YOU DON'T HAVE A CONSTRUCTOR! Yes we do, it's called 'init', or whatever initXXX method the class designer designated for initializing that object. What we don't have is an unorthogonal language feature for doing object instantiation. And unlike C++, Objective C doesn't have this problem of how do deal with an instantiation that fails. We don't need to set special state in the object or throw exceptions to deal with it. > In ObjC, after an object is created (using alloc), you can >polymorphically initialize it (using init). Yep. Or you can just do... myObj = [MyClass new]; ... which does both. And by the way, +alloc is a message just like anything else. It just happens to be one used for allocating an object. Many Objective C kits provide other methods for creating objects that don't use the alloc/init or new convention. For example: myString = [NSString stringWithCString:"C++ ru|_|3z!"]; > In C++, after an object is created (using the ctor), you can >polymorphically initialize it (using a member function which you can >can init() if you like). Which may mean up to 3 steps are invovled. First the allocation (possibly on the stack), then the constructor, then the polymorphic init routine. Why should you need the extra step? -Ken
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 1 Apr 1997 21:04:49 GMT Message-ID: <5hrt9h$6s2$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> In-Reply-To: <859829717.6893@dejanews.com> On 03/31/97, curranj@mskcc.org wrote: >In article <5hniko$ao0@news.ml.com>, >  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) wrote: >> >> JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: >> >> > But in ObjC, "you don't have the benefit of polymorphism in things >> >done in the constructor" either because YOU DON'T HAVE A CONSTRUCTOR! >> >> And the down-side here is? > > The downside is that you don't have a constructor <duh!>. Right, because they aren't necessary in Objective C, at least not in the C++ sense where there is a special language feature required to support object instantiation. Hence, there is no downside. >Constructors are one of C++'s most useful and powerful features. To >suggest that we are better off without them just because of one >failing in a pathological example is foolish. Actually, C++ pretty much requires constructors, so of course they are useful. >> > In ObjC, after an object is created (using alloc), you can >> >polymorphically initialize it (using init). >> >> But I already do this by convention, >> >> > In C++, after an object is created (using the ctor), you can >> >polymorphically initialize it (using a member function which you can >> >can init() if you like). >> >> you don't. >> > >Actually, we do -- the derived class can (and should) have it's own >constructor, and with it's own constructor, the object is correctly >initially -- based on a feature that is actually part of the language, >not a convention dreamed up by users to get around a language's lack of a >specific feature (as ObjC's alloc/init convention is) Oh jeeze. So your best argument against the Objective C object instantian mechanism is that it's 'a convention dreamed up by users'? Give us a break, please. > The code you posted is a bad example for many reasons. Basically, it >requires the user of the class who wil be creating a subclass of it, to >KNOW that the describe() method will be called from the constructor. But >that is an implementation detail. The class users should NOT be required >(or even allowed) to know that. Hence you are showing that ObjC is a >better OO language, IF you plan on violating OO design. There is nothing about making method calls during object initialization that violates OO design in Objective C, and in fact it's quite common to do so. > Further, the whole idea of "polymorphism in things done in the >constructor" is illogically. Polymorphism means that a message send to >object Y might behavior differently depending on whether Y is of type X >or of type SonOfX. But, during the constructor, Y ain't neither yet. That may be true in C++ because the vptr changes as each constructor is called in sequence. Thus, the effictive class of the object can change during instantiation. This is why you can't really use any polymorphic init code in C++ until AFTER the constructor. In Objective C, an object's isa pointer is set up _once_ by the +alloc routine in NSObject. Thus, it is safe to call init routines that may be overridden by a subclass. There are examples of this sort of thing in the Objective C manual from NeXT. Maybe you should read it sometime. >You want to treat the constructor as if it were just another member >function (probably because ObjC's init methods are just like other >methods). But constructors are different, and that's where their >power lies. So what is this 'power' that C++ constructors have over Objective C? The way I see it, they are less general and more error prone than having a clean, orthogonal method of creating objects. -Ken
From: jin@merrimac.rutgers.edu Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 1 Apr 1997 16:07:59 -0500 Organization: Rutgers University Message-ID: <5hrtff$e65@merrimac.rutgers.edu> JamesCurran@CIS.CompuServe.com (James M. Curran) writes: > I think part of what you're missing, is you don't fully understand >C++'s operator overloading. In C++, I can define what = means for a >object. Hence, as the designer of a class, I can specify exactly what >members need to be copied and how they should be copied. But, as a >user of a class, all I need to know is that saying "x = y;" handles it >all. THAT'S the true essense of OOP, and ObjC can only approximate >that.... Apparently you are the one who don't understand the true essense of OOP. Here is why, by the words of Bertand Meyer in his book "Objected-oriented Software Construction": when he discusses overloading and genericity, he says: "Overloading appears to be an attact on issue 2 (accounting for variations in data structure and algorithms), and 4 (enabling clients to request an operation without knowing its implementation). One close look, however, the result is disappointing." "First, we have not made any progress towards solving issue 5: capturing fine grains of commonality among groups of implementations of the same general data structure. Overloading does not help..." "Overloading, on the other hand, is no more than a syntactic facility which relieves programmers from having to invent different names for different implementations of an operation and, in essence, places that burden on the compiler. But this does not solve issue 2 and 4. Each invocation of an overloaded operation name - say search (x,t) - refers to just one version of the operation: the client programmer who writes the invocation knows exactly ( as does the compiler which analyzes it) which version is being invoked. " "Note that the client programmers do not actually need to know how each version is implemented, since in most languages with generic packages ( such as Ada) modules may be used through an interface describing the available routines independent of their implementation. But they do need to decide explicitly in each case which version is used. In other words, if your modules use various kinds of tables, you do not need to know how to implement binaries trees, indexes sequential files and the like, but you must say which one of these representations you want each time you use a table operation". --------- end of quotes When you use operation overloading in C++ like the example you used: "x = y;", you don't achieve anything in OOP. The only thing it does is now the compiler has to pick the right version of the code. Gavin
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Openstep NT dev tools (bugs ?) Date: 1 Apr 1997 23:22:41 GMT Organization: Rockwell Collins Message-ID: <5hs5c1$ss4@castor.cca.rockwell.com> I am having trouble with the Windows NT Openstep 4.1 dev tools. First: (Symbols defined in subprojects do not get exported from DLLs) A NextAnswer provided a makefile-patch that supposedly fixed this. Unfortunately, the makefile patch is also broken. It is not even correct make syntax. Has anyone resolved this ? Could you help me fix it ? Second: (Debugging frameworks is very very hard) NextAnswers suggests specifying a fixed location for the framework DLL in order to facilitate debugging. This is not working for us. Has anyone resolved this. Third: (the second problem wouldn't be) The second problem wouldn't be a problem if Openstep 4.1 NT worked like Openstep 4.1 Mach. I have a large Openstep project converted from a 3.3 project. It compiles without warnings and works fine under Openstep 4.1 Mach. I have to re-arrange the code (no subprojects) under NT to compile at all, and then I get warnings (mostly about NSString) that I don't get under Mach. Finally, when I run the App under NT, I get segmentation violations. The faults always occur in the same places, but I can not debug them (See second) and there is no problem on Mach. Our "Platinum" NeXT support has been relatively helpful in the past. NeXT says they can not help further without our source code, and we can not give them that. Before pushing harder on NeXT, I was hoping someone here had the answers.
From:  necakov@mljsdi9.dev.japan.ml.com (Tony Necakov) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 2 Apr 1997 01:36:16 GMT Organization: Merrill Lynch Message-ID: <5hsd6g$gsh@news.ml.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> curranj@mskcc.org wrote: > The downside is that you don't have a constructor <duh!>. Constructors >are one of C++'s most useful and powerful features. To suggest that we >are better off without them just because of one failing in a pathological >example is foolish. Relax, take a tranquilizer, I was merely pointing out that they do have failings. >> > In ObjC, after an object is created (using alloc), you can >> >polymorphically initialize it (using init). >> >> But I already do this by convention, >> >> > In C++, after an object is created (using the ctor), you can >> >polymorphically initialize it (using a member function which you can >> >can init() if you like). >> >> you don't. > >Actually, we do -- the derived class can (and should) have it's own >constructor, and with it's own constructor, the object is correctly [snipped] I was refering to the invocation of a method that is not polymorphically challenged. I do see the advantages to constructors, by the way. At least they guarantee the state of the object at construction. Its not enough to make me enjoy coding C++. > The code you posted is a bad example for many reasons. Basically, it >requires the user of the class who wil be creating a subclass of it, to >KNOW that the describe() method will be called from the constructor. But >that is an implementation detail. The class users should NOT be required >(or even allowed) to know that. Hence you are showing that ObjC is a >better OO language, IF you plan on violating OO design. What? If, for example, I design a method that tells me something about the behaviour of an object such as - Boolean isResizable it becomes part of the interface to that object and I should be able to override that in subclasses that I wish never to be resizable such that it always returns No. Now I don't care if its called or not in my initialization method or any other method, all I care is that I've redefined the behaviour of my subclass and any methods that take this into account should be able to, including the initialization. How does that violate OO design? TN
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 01 Apr 1997 20:23:29 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000104972023290001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5hrt9h$6s2$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > That may be true in C++ because the vptr changes as each constructor is > called in sequence. Thus, the effictive class of the object can change > during instantiation. This is why you can't really use any polymorphic > init code in C++ until AFTER the constructor. > > In Objective C, an object's isa pointer is set up _once_ by the +alloc > routine in NSObject. Thus, it is safe to call init routines that may > be overridden by a subclass. There are examples of this sort of thing > in the Objective C manual from NeXT. Maybe you should read it > sometime. How can it be safe to call a virtual function in a init method? If the first thing the init method does is call it's parent's init method you'll wind up calling a function for an object that isn't fully inited. On the other hand, if the init method first initializes itself and then calls the parent classes init method the parent class can change your custom initializations which is certainly not the way subclassing is supposed to work. --Jesse
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Tue, 01 Apr 1997 21:14:40 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> <5hrpo0$3ek$1@nntp2.ba.best.com> In article <5hrpo0$3ek$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > I am not just rationalizing. I have seen bad C++ code, lots of it > unfortunately. When you see game code that has abstracted EVERYTHING, > all the way down to using point classes and such for 3D operations, and > have seen how it actually performed, you wonder. It's easy to slap > together a really simple point class that lets you encapsulate math for > dealing with points and such. But I wonder how many people actually go > and look at the code being generated to see if it's really as efficient > as they think it is. Yeah, it makes your source code nice and pretty. > You can add points, multiply them, etc. to your hearts content. But > how many C++ programmers stop and take a look at the code being > generated? A lot of them might be suprised by what they find. Not that I want to interrupt the Holy Jihad or anything, but in C++ it's perfectly valid to give structs methods, including constructors, and to use them as base classes: struct CPoint { int x, y; CPoint() { x=0; y=0; } CPoint& operator+( const CPoint& anotherPt ); }; class ComplexSubClass : public CPoint { ... }; no performance penalty or code bloat... A problem I've observed in this thread is that, while advocates of each language are passingly familiar with the other language, neither is intimately familiar with both. Indeed, I think that James "Truth" Curran is guilty of using ObjC examples which are purposefully mal-written, but then thats why he is in my killfile. Seriously, people, both languages are just tools. Both are usefull when wielded by an experienced engineer. But neither is the be all and end all of computer languages. Since both are already available to OpenStep programmers, and will probably be given even more access in Rhapsody, I'm not sure why this war can't move to lang.c++ or something... -mark ---> markeaton_@_mindspring_._com
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.next.programmer Subject: Re: Adorning? Date: 19 Mar 1997 14:41:37 -0800 Organization: Cygnus Solutions Message-ID: <qd209bcxni.fsf@blues.cygnus.com> References: <maury-1903971239120001@199.166.204.230> <5gpb6d$g4l@dfw-ixnews6.ix.netcom.com> <maury-1903971615070001@199.166.204.230> maury@softarc.com (Maury Markowitz) writes: > The issue is that you don't want to change a base class (ie, Window) > but would like to change _it's_ draw behaviour. For instance, let's > say you want the window's title bar to be drawn in purple (ignoring > resources for now), instead of having to subclass Window into > MyPuprleWindow, I just attach my Adorner object to it and it handles > the drawing. In Objective-C, you can either use a subclass of Window, define a category of Window which overrides the drawing method, or (probably most appropriate in this case) make a subclass of Window which does the right thing, and have the subclass pretend that it's a Window. This usually ends up looking something like: @implementation MyPurpleWindow: Window + load { [self poseAsClass: [Window class]]; return self; } - draw { [super draw]; /* new code to do purple titles */ } @end The end result is that any application which loads your MyPurpleWindow class will use MyPurpleWindow wherever it would normally use a Window. Ah, dynamic runtimes... -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: tiggr@es.ele.tue.nl (Pieter Schoenmakers) Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: SEL and all that (Re: Objective C?) Followup-To: comp.lang.objective-c Date: 02 Apr 1997 13:44:43 +0200 Organization: Eindhoven University of Technology Sender: tiggr@tom.ics.ele.tue.nl Message-ID: <x7lo71wswk.fsf@tom.ics.ele.tue.nl> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <onEIOlW00iWVI5YIgZ@andrew.cmu.edu> In-reply-to: Charles William Swiger's message of Tue, 1 Apr 1997 12:32:33 -0500 In article <onEIOlW00iWVI5YIgZ@andrew.cmu.edu> Charles William Swiger <cs4w+@andrew.cmu.edu> writes: However, I'm of the opinion that having the mapping of method names to selectors be 1-to-1 is (at least, sometimes) a useful invariant, and I wonder why the GNU runtime didn't want to guarantee this. When doing dynamic loading, with a possibly changing main program, the invariant breaks unless your dynamic linker (and object file format) can do some extra wizardry. This is _probably_ why NeXT's object file format has all these objective-c specific segments. You _can_ use any of the multiple SEL values and the GNU runtime will find the same function implementation within objc_msgSend, right...? Of course: It's not SEL that counts, but *SEL. (*SEL).sel_id to be precise. --Tiggr
From: Timothy Luoma <luomat@peak.org> Newsgroups: comp.sys.next.programmer Subject: Two Q: re 'HideOnAutoLaunch' Date: Wed, 2 Apr 1997 22:49:46 -0800 Organization: The PEAK FTP site for OpenStep & NeXTStep Message-ID: <Pine.SUN.3.96.970402224741.18566D-100000@kira> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII How do I fool an app into thinking it was autolaunched (ie so it will hide itself on startup)? I know there is a way but I can't remember/find it. Not all apps seem to respond to HideOnAutoLaunch dwrite, evne if they are autolaunched. If I have the source code, can I add this functionality easily? (if so, how??) Thanks again TjL -- TjL <luomat@peak.org> http://www.peak.org/~luomat/next/ "Give a man a piece of working code and you solve his problem. Teach a man to write code and you give him a lifetime of new problems" -- me
From: Håkan Jonsson <Hakan_Johnsson@vtc.volvo.se> Newsgroups: comp.sys.next.programmer Subject: Q: PS drawing performance (newbie question) Date: Thu, 03 Apr 1997 09:11:19 +0100 Organization: Volvo Truck Corporation Message-ID: <33436627.687E@vtc.volvo.se> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi! I am trying to set individual points in a subclass of View using the PS operator PSrectfill. However, this is extremely slow. Is it the rectfill operator that is slow or am I doing some conceptual error? I could not find any operator for setting individual points, so I am not sure how this is usually done. Perhaps PSmoveto(x,y),PSlineto(x,y)? Any other tips on improving drawing performance? Perhaps these pixelwise manipulations are better done using something else than PS? /Hakan
From: Steve <sshay@primenet.com> Newsgroups: comp.sys.amiga.programmer,comp.sys.apple2.programmer,comp.sys.be.programmer,comp.sys.mac.programmer.tools,comp.sys.next.programmer,comp.unix.programmer Subject: Re: Hex Calculator Date: 3 Apr 1997 01:58:01 -0700 Organization: Primenet Services for the Internet Message-ID: <33436F88.77AB@primenet.com> References: <jake-1903970058480001@bubble.schap.rhno.columbia.edu> <5hkuv9$3ls@news.bu.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii marcelor@acs.bu.edu wrote: > > In <jake-1903970058480001@bubble.schap.rhno.columbia.edu>, jake@timewarp.net (Jake Luck) writes: > >Hi, > > I am in search for a hex-dec-oct-bin conversion ONLY > >calculator(hardware). (the conversion features in the CASIOs > >are nice but are really cumbersome to use, and those nifty > >software version just dont quite cut it). If anyone outta there > >knows some company who sells such a thing, would you please > >email me? Thanks much in advance. > > > >-Jake <jake@timewarp.net> > If you dont' care to spend a lot of money, the TI-35 does conversions fairly easily. Also has some other nice features, and it is easy to find and less than $20
From: mshores@iastate.edu (Matt Shores) Newsgroups: comp.sys.next.programmer Subject: Driver Kit Question Date: 3 Apr 1997 08:02:52 GMT Organization: Iowa State University, Ames, Iowa USA Message-ID: <5hvo7c$1g6$1@news.iastate.edu> Summary: Question concerning driver kit and drivers... Keywords: drivers driver kit Hello all, I have a question for the experts: I am trying to write a device driver (using the Driver Kit) that will utilize the Connectix QuickCam. There is some nice code already out there for Linux. Porting the code is no problem, however, there are some functions that cause my entire system to crash. In fact, most of the time I do not even get the panic window. I read somewhere that power-management can get in the way of paralell port drivers, and I DO see my power light flashing when a crash happens (I don't know if that means the power saving is on or not), does anyone know if there is a strange problem with this particular device and NeXTSTEP? Also, when I DO get a panic window, it names some frames with "arguments" (I assume the functions that are on those addresses and their parameters) and then it says "Arithmetic Exception (3, 0, 0)". Is this a normal programming error? I have check all of the divisions. I believe the problem code comes down to this: ... qc_command(CMD_SetBrightness); qc_command(thisCam->brightness); val = thisCam->height; // or = thisCam->transfer_scale; qc_command(CMD_SetNumV); qc_command(thisCam->height); if ((thisCam->port_mode & QC_MODE_MASK) == QC_UNIDIR && thisCam->bpp == 6) { val = thisCam->width; val2 = thisCam->transfer_scale * 4; } else { val = thisCam->width * thisCam->bpp; val2 = (((thisCam->port_mode & QC_MODE_MASK) == QC_BIDIR) ? 24 : 8) * thisCam->transfer_scale; } // UPDATE: if (val2) val = (val + val2 - 1) / val2; else IOLog("QuickCam: db0 - val2\n"); // UPDATE: if (thisCam->transfer_scale) val = thisCam->width / thisCam->transfer_scale / 2; else IOLog("QuickCam: db0 - thisCam->transfer_scale\n"); //qc_command(CMD_SetNumH); qc_command(val); qc_command(CMD_SetNumH); qc_command(thisCam->width / 2); qc_command(CMD_SetTop); qc_command(thisCam->top); qc_command(CMD_SetLeft); qc_command(thisCam->left / 2); if (thisCam->cam_version == BW_QUICKCAM) { qc_command(CMD_BW_Contrast); qc_command(thisCam->contrast); qc_command(CMD_BW_SetOffset); qc_command(thisCam->whitebal); } else if (thisCam->cam_version == COLOR_QUICKCAM) { qc_command(CMD_COLOR_SetSpeed); qc_command(thisCam->speed); qc_command(CMD_COLOR_SetHue); qc_command(thisCam->hue); qc_command(CMD_COLOR_SetSaturation); qc_command(thisCam->saturation); qc_command(CMD_COLOR_SetContrast); qc_command(thisCam->contrast); qc_command(CMD_COLOR_SetWhite); qc_command(thisCam->whitebal); } else IOLog("QuickCam: (qc_set) Unknown QuickCam Version!\n"); ... You get the idea... it occurs somewhere in there. I have no way of really debugging the program (I cannot see any debug messages because the kernel version of printf will only print to the console, and IOLog goes to the file /adm/messages, which is no good when one crashes). Can anyone help me at all? I am tired of not being able to find out what the heck is wrong!! Matt
From: Malcolm Crawford <malcolm@plsys.co.uk> Newsgroups: comp.sys.next.programmer Subject: Re: Q: PS drawing performance (newbie question) Date: 3 Apr 1997 09:17:50 GMT Organization: P&L Systems Message-ID: <5hvsju$6on$1@ironhorse.plsys.co.uk> References: <33436627.687E@vtc.volvo.se> In-Reply-To: <33436627.687E@vtc.volvo.se> On 04/03/97, Håkan Jonsson wrote: >I am trying to set individual points in a subclass of View using the PS >operator PSrectfill. However, this is extremely slow. > >Is it the rectfill operator that is slow or am I doing some conceptual >error? > >I could not find any operator for setting individual points, so I am not >sure how this is usually done. Perhaps PSmoveto(x,y),PSlineto(x,y)? > I'm not quite sure what you mena by "setting individual points" -- could you elaborate? >Any other tips on improving drawing performance? > The best reference is probably the Adobe Purple Book "Programming Display PostScript with NeXTstep" (ISBN 0-201-58135-3); one of the recommended tips is to use user paths. If you are able to draw a large number of objects in one go then you can combine them into one big call to the windowserver, which is very eficient. I used this to draw around 17,000 rectangles in one app -- on a 25MHz NeXTstation it took a second or two. You should also consider using an offscreen buffer if you are not already. >Perhaps these pixelwise manipulations are better done using something >else than PS? > If *all* you are doing is manipulating pixels you could draw direct to an NXImage and blit that across. Best wishes, mmalc. Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk Tel: +44 (0)1494 432422 P & L Systems Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm -- Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk Tel: +44 (0)1494 432422 P & L Systems Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.mac.advocacy Subject: Re: SEL and all that (Re: Objective C?) Date: Thu, 3 Apr 1997 01:05:39 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <cnEoWnK00iWQ8JU_IF@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <onEIOlW00iWVI5YIgZ@andrew.cmu.edu> <x7lo71wswk.fsf@tom.ics.ele.tue.nl> In-Reply-To: <x7lo71wswk.fsf@tom.ics.ele.tue.nl> Excerpts from netnews.comp.sys.next.advocacy: 2-Apr-97 Re: SEL and all that (Re: O.. by Pieter Schoenmakers@es.e > However, I'm of the opinion that having the mapping of method names to > selectors be 1-to-1 is (at least, sometimes) a useful invariant, and I > wonder why the GNU runtime didn't want to guarantee this. > > When doing dynamic loading, with a possibly changing main program, the > invariant breaks unless your dynamic linker (and object file format) can > do some extra wizardry. This is _probably_ why NeXT's object file format > has all these objective-c specific segments. That makes a lot of since. However, while the multi-segement and -section aspects of the Mach-O executable format are convenient, you could always place additional info for the Obj-C runtime within the traditional "initialized data" segment and refer to it using a symbol name that the dynamic linker (and Obj-C runtime, etc) pays attention to. > You _can_ use any of the multiple SEL values and the GNU runtime will > find the same function implementation within objc_msgSend, right...? > > Of course: It's not SEL that counts, but *SEL. Okay, thanks-- just wanted to be sure. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: zander@conextions.com (Aleksey Sudakov) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Openstep NT dev tools (bugs ?) Date: 2 Apr 1997 16:01:50 GMT Organization: The Internet Access Company, Inc. Message-ID: <5htvte$hb6@news-central.tiac.net> References: <5hs5c1$ss4@castor.cca.rockwell.com> In-Reply-To: <5hs5c1$ss4@castor.cca.rockwell.com> On 04/01/97, Erik M. Buck wrote: >I am having trouble with the Windows NT Openstep 4.1 dev tools. > >First: (Symbols defined in subprojects do not get exported from DLLs) >A NextAnswer provided a makefile-patch that supposedly fixed this. >Unfortunately, the makefile patch is also broken. It is not even correct >make syntax. Has anyone resolved this ? Could you help me fix it ? > >Second: (Debugging frameworks is very very hard) >NextAnswers suggests specifying a fixed location for the framework DLL in >order to facilitate debugging. This is not working for us. Has anyone >resolved this. Well, if you'll have no reallocations due to collisions and put non-striped version of .dll debuging ain't a problem if one could say that using NT ain't a problem in the 1st place. As far as subproject problem we have our own script to generate exports, but it doesn't work 100%, so if you'll find a solution, please let me know. Regards, Aleksey
From: tiggr@es.ele.tue.nl (Pieter Schoenmakers) Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.mac.advocacy Subject: Re: SEL and all that (Re: Objective C?) Followup-To: comp.lang.objective-c Date: 03 Apr 1997 12:54:51 +0200 Organization: Eindhoven University of Technology Sender: tiggr@tom.ics.ele.tue.nl Message-ID: <x7afngidfo.fsf@tom.ics.ele.tue.nl> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <onEIOlW00iWVI5YIgZ@andrew.cmu.edu> <x7lo71wswk.fsf@tom.ics.ele.tue.nl> <cnEoWnK00iWQ8JU_IF@andrew.cmu.edu> In-reply-to: Charles William Swiger's message of Thu, 3 Apr 1997 01:05:39 -0500 In article <cnEoWnK00iWQ8JU_IF@andrew.cmu.edu> Charles William Swiger <cs4w+@andrew.cmu.edu> writes: That makes a lot of since. A lot of what? However, while the multi-segement and -section aspects of the Mach-O executable format are convenient, you could always place additional info for the Obj-C runtime within the traditional "initialized data" segment and refer to it using a symbol name that the dynamic linker (and Obj-C runtime, etc) pays attention to. Not if you want to maintain the invariant in the context of dynamic loading with independently changing main program and loaded code: The loaded code must provide a definition of every selector is uses, both in method definitions and method invocations, but a definition in the main program overrides a definition by the loaded code; every reference to the loaded code's version must be replaced by a reference to the definition by the main program. Thus: if you want to maintain the invariant you need wizardry in your dynamic linker and file format. --Tiggr
From: Timothy Luoma <luomat@peak.org> Newsgroups: comp.sys.next.programmer Subject: new Ping.app: hitting 'Return' doesn't work after 'choose host' Date: Wed, 2 Apr 1997 22:47:33 -0800 Organization: The PEAK FTP site for OpenStep & NeXTStep Message-ID: <Pine.SUN.3.96.970402224540.18566C-100000@kira> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII This may be a simple Q, but I don't have any idea. The 'choose host' panel now works in Ping.app, thanks to a member of this group. However, after you choose a host with the panel, you cannot hit 'Return' to have ping-ing start. It does work if you enter the host some other way. Anyone know of a fix? Thanks TjL -- TjL <luomat@peak.org> http://www.peak.org/~luomat/next/ "Give a man a piece of working code and you solve his problem. Teach a man to write code and you give him a lifetime of new problems" -- me
From: cb@guinan.mm.se (Christian Brunschen) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 3 Apr 1997 10:45:21 GMT Organization: I need to put my ORGANIZATION here. Message-ID: <5i01o1$7vt@mn5.swip.net> References: <330E54AC.167E@innosys.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5 <marke-ya02408000R0204971339250001@news.apple.com> In article <marke-ya02408000R0204971339250001@news.apple.com>, Mark Eaton <marke@apple.com> wrote: >In article <slrn5k4c0i.f56.cb@guinan.mm.se>, cb@guinan.mm.se (Christian >Brunschen) wrote: > > > In article <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net>, > > Mark Eaton wrote: > > > > >in C++ it's > > >perfectly valid to give structs methods, including constructors, and to > > >use them as base classes: > > > > > > > Um, that is because in C++, a 'struct' is in fact a _class_, with the > > default protection level of 'public' for its member. If you read a C++ > > reference, you will find that > > > > struct x { > > ... > > }; > > > > is identically equivalent, and in fact synonymous, to > > > > class x { > > public: > > ... > > }; > > > >...with the further restriction that no access levels other than public are >supported for structs, and that a struct cannot have virtual methods. Whats >your point? Um, false. The _only_ difference between 'class' and 'struct' is the default protection for members. Thus, my statement above is entirely correct, and the 'class x' and 'struct x' definitions are synonymous. My point is, that your statement which is quoted above and again here: > > >in C++ it's > > >perfectly valid to give structs methods, including constructors, and to > > >use them as base classes: could lead people without C++ experience to beleive that a 'struct' is in some way distinct from a 'class', offering some sort of more 'light-weight' objects, which have less overhead than a 'class' declaration. Thus my explanation that 'struct' and 'class' are in fact equivalent. > >-- >Mark Eaton >Apple Computer // Christian Brunschen -- -- Christian Brunschen cb@mm.se
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 2 Apr 1997 17:46:38 GMT Message-ID: <5hu61u$a42$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000104972023290001@news.halcyon.com> On 04/01/97, Jesse Jones wrote: >In article <5hrt9h$6s2$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com >(Kenneth C. Dyke) wrote: > >> That may be true in C++ because the vptr changes as each constructor >> is called in sequence. Thus, the effictive class of the object can >> change during instantiation. This is why you can't really use any >> polymorphic init code in C++ until AFTER the constructor. >> >> In Objective C, an object's isa pointer is set up _once_ by the >> +alloc routine in NSObject. Thus, it is safe to call init routines >> that may be overridden by a subclass. There are examples of this >> sort of thing in the Objective C manual from NeXT. Maybe you should >> read it sometime. > >How can it be safe to call a virtual function in a init method? If the >first thing the init method does is call it's parent's init method >you'll wind up calling a function for an object that isn't fully >inited. On the other hand, if the init method first initializes itself >and then calls the parent classes init method the parent class can >change your custom initializations which is certainly not the way >subclassing is supposed to work. The deal is that the init methods themselves are all virtual, hence you can add functionality to an existing init method. This is far more useful when you have class objects because you can pass a class object to some already existing library code (either to a function or more commonly to another class) that will then ask the class to instantiate a bunch of instances of the class you passed in. The library code will have some code in it like: newThing = [[thingClass alloc] initThingFromFile:file]; Now what you can do in your subclass of Thing is override initThingFromFile: to do something interesting above and beyond what the standard version does. For example, you could take the file argument, treat it as a URL, fetch some data off of a server, then write that data to a local file and then call the superclass initThingFromFile: with the local filename. Or, you could simply call the superclass method right away and then do something like spell check the object (if Thing is some kind of text object) before returning it to the library. For another (better?) explanation of this, read the NeXT Objective C documentation about initialization. The URL you should look at is: http://www.next.com/Pubs/Documents/OPENSTEP/ObjectiveC/runtime.htm#926 That section walks you through a relatively simple example that demonstrates that not only is it safe, but that it is also very useful. I do wish that their example was a bit more concrete, though. In any case, if I can think of a better concrete example I'll try to write something up. -Ken
From: Dave Coyle <dcoyle@ctp.com> Newsgroups: comp.sys.next.programmer Subject: projectServer.exe Date: Thu, 03 Apr 1997 17:57:52 +0200 Organization: CTP Message-ID: <3343D380.12A4@ctp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi all! Could someone please tell me what projectServer.exe does? And while you're at it, tell me why it consumes 97% of my CPU, even when ProjectBuilder is no longer running? (!!) thanks in advance! FYI I'm using OStep on NT...(if you haven't guessed that) Dave Dave_coyle@ctp.com
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.next.advocacy Subject: Re: Objective C? Date: Thu, 3 Apr 1997 09:51:49 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <wnEwE5600WBOE1PVdk@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5huf <jesjones-ya023580000204972102060001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000204972102060001@news.halcyon.com> Excerpts from netnews.comp.sys.next.advocacy: 2-Apr-97 Re: Objective C? by Jesse Jones@halcyon.com > Derived object = new Derived; > object->Init(); > > With C++ this will result in a crash because Base::Init is calling a > virtual function before the object is fully constructed. This, of course, > is the reason you can't call a virtual function in a constructor > polymorphicly. Obj-C does not have that limitation because all of the Obj-C method information (equivalent to C++ virtual functions) is stored with the class or "factory" object, and not with instantiations (or instances) of that class. > From what everyone has said this sort of thing will also > cause a crash in Objective-C. Is this really true? No, it's not true. Furthermore, I highly doubt anyone familiar with Obj-C would have said that. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.mac.advocacy,comp.lang.objective-c Subject: Re: SEL and all that (Re: Objective C?) Date: Thu, 3 Apr 1997 10:30:19 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <MnEwo=200WBOM1PXMy@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <onEIOlW00iWVI5YIgZ@andrew.cmu.edu> <x7lo71wswk.fsf@tom.ics.ele.tue.nl> <cnEoWnK00iWQ8JU_IF@andrew.cmu.edu> <x7afngidfo.fsf@tom.ics.ele.tue.nl> In-Reply-To: <x7afngidfo.fsf@tom.ics.ele.tue.nl> Excerpts from netnews.comp.sys.next.advocacy: 3-Apr-97 Re: SEL and all that (Re: O.. by Pieter Schoenmakers@es.e > That makes a lot of since. > > A lot of what? Sorry-- "sense". > However, while the multi-segement and -section aspects of the Mach-O > executable format are convenient, you could always place additional info > for the Obj-C runtime within the traditional "initialized data" segment > and refer to it using a symbol name that the dynamic linker (and Obj-C > runtime, etc) pays attention to. > > Not if you want to maintain the invariant in the context of dynamic > loading with independently changing main program and loaded code: The > loaded code must provide a definition of every selector is uses, both in > method definitions and method invocations, but a definition in the main > program overrides a definition by the loaded code; every reference to the > loaded code's version must be replaced by a reference to the definition by > the main program. I agree with you so far. > Thus: if you want to maintain the invariant you need > wizardry in your dynamic linker and file format. If by "wizardry" this means that you do the above, okay-- yes. It requires the dynamic linker to integrate the currently valid selectors with the ones being dynamicly loaded. If by "wizardry", you mean you need to extend the a.out format (or whatever executable format model you like) with additional sections, then I disagree. The file format is not especially relevant to whether you maintain the (proposed) invariant for selectors being unique. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 2 Apr 1997 20:30:20 GMT Organization: ace dot net internet technologies Message-ID: <5hufks$pip$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> In comp.sys.next.advocacy Richard Cave <richard_cave@claris.com> wrote: > I know it sounds sick, but that's how it works. The init method _is_ > the constructor. The alloc method gives you back essentially > uninitialized memory. The purpose of the init method is to give some > initial state to the object. This is correct. > Much of what the ObjectiveC proponents > claim is the language is actually a tradition of conventions handed down > by word of mouth from generation to generation. This is a rant. The alloc/init combination has been around since the beginnings of the language, long before NeXT or .next.advocacy. + alloc and - init are just methods. Like any other method in ObjC, you can forward it to super, which is how ObjC implements inheritance. Treating a constructor differently from other methods is ridiculous for a true object oriented language like ObjC. To get a new instance of an object, you send a message to a class - which is also an object. "alloc" means allocate and "init" means initialize. You give the instance user the option of initializing the object in different ways. Aren't more flexible objects a good thing? I think so. > I think the convention > in this case is to call super init first, then carry on with your > method. FWIW, Java has some of the same "conventions". You're right > that calling a virtual method in this environment is full of danger, > don't try an invariant in an init method. Full of danger, indeed, for those unwilling to grasp the most basic of programming concepts. I suppose the language should prevent you from using unmalloc'd pointers, too? Wait, let's add in array size checking while we're at it. The flexibility is there for those who want to use it. If you're afraid of it, stay away. Maybe you should all be Pascal advocates. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: e9226558@stud1.tuwien.ac.at (Johannes Friedrich Thoma) Newsgroups: comp.sys.next.programmer,comp.lang.objective-c Subject: Re: forwarding and "super" Followup-To: comp.sys.next.programmer,comp.lang.objective-c Date: 3 Apr 1997 17:25:35 GMT Organization: Vienna University of Technology, Austria Message-ID: <5i0p6f$bsd@news.tuwien.ac.at> References: <5h7g8p$6ic@chaos.dac.neu.edu> Michael (michael@lanczos.cer.neu.edu) wrote: : NeXT manual "Object - Oriented Programming and Objective C Language" is : very good. Kudos to NeXT for producing high-quality docs (why there : aren't author's name on in, BTW ?) I have a question, though. : Manual gives the following example of over-riding respondsToSelector method : to account for forwarding: : - (BOOL) respondsToSelector: (SEL)aSelector : { : if([super respondsToSelector:aSelector]) : return YES; : else { : /* test whether message can be forwarded */ : } : return NO; : } : It seems to me, that this method would return NO, if : aSelector specifies method that is not defined either in : superclass of a current class or in object it forwards to, but : which is defined in the current class. Manual says that : super starts searching for the method in the class 1 level : higher in the hierarchy. That seems to tell to me, that it won't find : methods of the current class. Right. But NSObjects - respondsToSelector method searches from the bottommost class again. So, even methods defined in any subclass will be found. joe.
From: Dave Anderson <dja3@lexis-nexis.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 03 Apr 1997 12:52:15 -0500 Organization: LEXIS-NEXIS, Dayton OH Message-ID: <3343EE4F.4D35@lexis-nexis.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <5huhkd$2jo$3@news.xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Don Yacktman wrote: > > David Young <dwy@ace.net> wrote: > > This is a rant. The alloc/init combination has been around since the > > beginnings of the language, long before NeXT or .next.advocacy. > > Ummm, actually NeXT, with NEXTSTEP 2.0, began the alloc/init thing. > Before then it was +new for everything. Wow. flashbacks. I think this even survives in a few places. > I personally prefer the alloc/init way of doing things, though. > It makes a *lot* more sense, once you truly understand it. I agree, Don. It's really useful when you have one workhorse init and a bunch of lesser inits that build some arguments first and then call it. It just makes sense to ask the class for an instance (alloc), and then initialize it in whatever way is appropriate. Ever put an init in a category contained in a file you ship separately? A great way to progressively release features... - Dave (by day, dja3@lexis-nexis.com -- by night, monkey@one.net)
From: Konstantin Wiesel <kwiesel@mailhost.jura.uni-bonn.de> Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Rejoice! BSD 4.4 is coming Date: Wed, 2 Apr 1997 22:39:09 +0000 Organization: RHRZ - University of Bonn (Germany) Message-ID: <Pine.NXT.3.95.970402223736.2852C-100000@ikarus> References: <jcr.858895952@idiom.com> <E7r2tI.1wt@icgned.nl> <5hgrjc$k8@news4.digex.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In-Reply-To: <5hgrjc$k8@news4.digex.net> On 28 Mar 1997, John Kheit wrote: > hans@icgned.nl wrote: > > In NeXTstep 4.x, the partition limit is 4 gig. > > Huh?!? Since when? Can anyone confirm this? OS4.1 Intel did split our 3GB drive into two partitions so i would say there still exists the 2GB limit. Regards Konstantin Wiesel Email:kwiesel@mailhost.jura.uni-bonn.de
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 3 Apr 1997 18:22:17 GMT Organization: ace dot net internet technologies Message-ID: <5i0sgp$10l$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > Evidently Richard and I haven't been clear enough in communicating the > problem. Perhaps an example will help. (I'll do this in C++ since I don't > know Objective-C well enough). [snip] I see what you're saying; you're saying if [self foo] is called from - init and I override - foo to make use of some variable that's initialized after [super init], and init calls foo, yes your program will crash. This is what I commonly refer to as a bug. This would be a problem in any language that's bound the same way ObjC (and Java) are bound. This hadn't even occured to me before, since I'd never even think of doing this. Oh well. There's nothing that stops you from doing mdata = malloc(sizeof(long)); [super init]; > No need for (attempted) slurs; we're just trying to further our > understanding of Objective-C. Referring to a language's concepts as "handed down by word of mouth" isn't trying to further one's understanding. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.next.advocacy Subject: Re: Objective C? Date: 3 Apr 1997 18:30:30 GMT Organization: ace dot net internet technologies Message-ID: <5i0t06$10l$2@darla.visi.com> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <wnEwE5600WBOE1PVdk@andrew.cmu.edu> In comp.sys.next.advocacy Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > Obj-C does not have that limitation because all of the Obj-C method > information (equivalent to C++ virtual functions) is stored with the > class or "factory" object, and not with instantiations (or instances) of > that class. Yeah, but isn't he writing to an unitialized pointer anyway? When init calls foo, and you've overridden foo, he deferences his pointer which isn't yet initialized and assigns a value to it. He's not going to trash the method table, but he'll trash something. Maybe I just misread that awful C++ syntax. Whatever. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 3 Apr 1997 18:44:42 GMT Message-ID: <5i0tqq$qcg$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000204972102060001@news.halcyon.com> On 04/02/97, Jesse Jones wrote: >In article <5hufks$pip$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > >> In comp.sys.next.advocacy Richard Cave <richard_cave@claris.com> wrote: >> > I know it sounds sick, but that's how it works. The init method _is_ >> > the constructor. The alloc method gives you back essentially >> > uninitialized memory. The purpose of the init method is to give some >> > initial state to the object. > >[snip] > >> + alloc and - init are just methods. Like any other method in ObjC, >> you can forward it to super, which is how ObjC implements inheritance. >> >> Treating a constructor differently from other methods is ridiculous >> for a true object oriented language like ObjC. To get a new instance >> of an object, you send a message to a class - which is also an object. >> "alloc" means allocate and "init" means initialize. You give the >> instance user the option of initializing the object in different ways. >> Aren't more flexible objects a good thing? I think so. > >Evidently Richard and I haven't been clear enough in communicating the >problem. Perhaps an example will help. (I'll do this in C++ since I don't >know Objective-C well enough). > >class Base { > >public: >// Base(); > // No ctor since we're using Obj-C style initialization. > > virtual void Init() {Foo();} > > virtual void Foo() {} >}; > >class Derived : public Base { > > typedef Base Inherited; > >public: > // Derived(); > // No ctor since we're using Obj-C style initialization. > > virtual void Init() {Inherited::Init(); mData = new long;} > > virtual void Foo() {*mData = 100;} > >protected: > long* mData; >}; > >Derived object = new Derived; >object->Init(); > >With C++ this will result in a crash because Base::Init is calling a >virtual function before the object is fully constructed. This, of course, >is the reason you can't call a virtual function in a constructor >polymorphicly. From what everyone has said this sort of thing will >also cause a crash in Objective-C. Is this really true? That exact code if directly translated to Objective C would cause a crash. That's because it has a bug in the derived Init() routine. Code it like this instead: virtual void Init() {mData = new long; Inherited::Init();} There is no reason why the first thing you do in your derived Init() function has to be a call to the base Init(). However, in C++ you do not have that kind of control with constructors, so it would be a problem if virtual member functions were allowed. This may explain the confusion as to why it's safe in Objective C and not in C++. However, must init code in Objective C (that I have seen, anyway), does't invoke any non-initialization code during init. If anything, the -init method will simply call the most general -initXX:XX: routine with default parameters. This still leaves you with the flexibility you need in order to override various stages of object initialization. -Ken
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 2 Apr 1997 21:04:13 GMT Organization: Global Objects Inc. Message-ID: <5huhkd$2jo$3@news.xmission.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> David Young <dwy@ace.net> wrote: > This is a rant. The alloc/init combination has been around since the > beginnings of the language, long before NeXT or .next.advocacy. Ummm, actually NeXT, with NEXTSTEP 2.0, began the alloc/init thing. Before then it was +new for everything. I personally prefer the alloc/init way of doing things, though. It makes a *lot* more sense, once you truly understand it. -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: zander@conextions.com (Aleksey Sudakov) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Openstep NT dev tools (bugs ?) Date: 3 Apr 1997 21:44:15 GMT Organization: The Internet Access Company, Inc. Message-ID: <5i18bf$s2k@news-central.tiac.net> References: <5hs5c1$ss4@castor.cca.rockwell.com> <5i16iq$85s@falcon.inetnebr.com> In-Reply-To: <5i16iq$85s@falcon.inetnebr.com> On 04/03/97, Mr. Jeremy Bettis wrote: >embuck@palmer.cca.rockwell.com (Erik M. Buck) writes: >Also you can't set break points until the library is loaded, but you >can break in main() and then set your break points or use the future-break >gdb command (in 4.2 prerelease only). Could someone confirm/deny that OpenStep Mach 4.1 gdb support future-break as well? I forgot when was the last time I was lucky enough for debuger to start under Mach and I bet I used future-breaks, but they are definitely doesn't recognised by gdb on OpenStep NT 4.1. Was it a dream or what? >That is life. I do all my development under Windows NT now, so that I >don't have any suprises like this. Mach is more tolerant of things. Not that I admire NT, rather the opposite, but sometimes OpenStep NT is better then OpenStep Mach. Take multithreaded app debuging for instance. Under NT you could actually collect more information then under Mach... Aleksey
From: Richard Cave <richard_cave@claris.com> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Wed, 02 Apr 1997 11:27:19 -0800 Organization: Claris Message-ID: <3342B315.1B07@claris.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Jesse Jones wrote: > > In article <5hrt9h$6s2$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com > (Kenneth C. Dyke) wrote: > > > That may be true in C++ because the vptr changes as each constructor is > > called in sequence. Thus, the effictive class of the object can change > > during instantiation. This is why you can't really use any polymorphic > > init code in C++ until AFTER the constructor. > > > > In Objective C, an object's isa pointer is set up _once_ by the +alloc > > routine in NSObject. Thus, it is safe to call init routines that may > > be overridden by a subclass. There are examples of this sort of thing > > in the Objective C manual from NeXT. Maybe you should read it > > sometime. > > How can it be safe to call a virtual function in a init method? If the > first thing the init method does is call it's parent's init method you'll > wind up calling a function for an object that isn't fully inited. On the > other hand, if the init method first initializes itself and then calls the > parent classes init method the parent class can change your custom > initializations which is certainly not the way subclassing is supposed to > work. > > --Jesse I know it sounds sick, but that's how it works. The init method _is_ the constructor. The alloc method gives you back essentially uninitialized memory. The purpose of the init method is to give some initial state to the object. Much of what the ObjectiveC proponents claim is the language is actually a tradition of conventions handed down by word of mouth from generation to generation. I think the convention in this case is to call super init first, then carry on with your method. FWIW, Java has some of the same "conventions". You're right that calling a virtual method in this environment is full of danger, don't try an invariant in an init method. Richard Cave
From: marke@apple.com (Mark Eaton) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Wed, 02 Apr 1997 13:39:25 -0800 Organization: Apple Computer Message-ID: <marke-ya02408000R0204971339250001@news.apple.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> <5hrpo0$3ek$1@nntp2.ba.best.com> <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net> <slrn5k4c0i.f56.cb@guinan.mm.se> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <slrn5k4c0i.f56.cb@guinan.mm.se>, cb@guinan.mm.se (Christian Brunschen) wrote: > In article <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net>, > Mark Eaton wrote: > > >in C++ it's > >perfectly valid to give structs methods, including constructors, and to > >use them as base classes: > > > > Um, that is because in C++, a 'struct' is in fact a _class_, with the > default protection level of 'public' for its member. If you read a C++ > reference, you will find that > > struct x { > ... > }; > > is identically equivalent, and in fact synonymous, to > > class x { > public: > ... > }; > ...with the further restriction that no access levels other than public are supported for structs, and that a struct cannot have virtual methods. Whats your point? -- Mark Eaton Apple Computer
From: zizi zhao <ziziz@worldnet.att.net> Newsgroups: comp.sys.next.programmer Subject: how to debug mouse-moving Date: Thu, 03 Apr 1997 17:30:16 -0500 Organization: AT&T WorldNet Services Message-ID: <33442F78.13E3@worldnet.att.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit the subject is my question. i want to run gdb to see what is going on with my mouse-moving event in a view frame step by step. but, the mouse has to leave the frame to click the <step> button on the [gdb panel]. is it possible to debug mouse-moving in NEXTSTEP 3.3? Thanks, ZiZi
From: wellman@students.uiuc.edu (Dan Wellman) Newsgroups: comp.sys.next.programmer Subject: Simple String/Text Question Date: 3 Apr 1997 23:21:23 GMT Organization: University of Illinois at Urbana Message-ID: <5i1e1j$o8c@vixen.cso.uiuc.edu> Hello folks, I'm just getting into working with OpenStep and Objective C and I have a question about text output. In my program I would like to have a "console" window which contains a Scrollable Text window, and I'd like my application to generate text strings to send to this window. These strings would be compromised of static text and a variable or two, i.e. "Cost: $32.98" This all is fairly straightforward in C -- printf would be one choice. However, now it looks like I need to create an NSString Object or some other messy process of allocation of an object, then pass that object to the TextField? (with message of some sort?) 1) What type of object am I looking to use here - right now I'm using the object from the Text Palette in IB with the scroll bar on the left. 2) What's a simple and quick way to simply pass a custom made string (i.e. includes static text and variables, i.e. floats, etc.) to be displayed by the text object from #1)? Many thanks for your help. It's funny how printing things out to a windowed environment becomes a much different task than using good old printf() to a text-based one. :) Thanks in advance, Dan -- Dan Wellman <> wellman@uiuc.edu <> http://www.cen.uiuc.edu/~wellman/ "A million thoughts in one night can't be wrong" - Cause & Effect
From: bettis@inetnebr.com (Mr. Jeremy Bettis) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Openstep NT dev tools (bugs ?) Date: 3 Apr 1997 15:14:02 -0600 Organization: Internet Nebraska Message-ID: <5i16iq$85s@falcon.inetnebr.com> References: <5hs5c1$ss4@castor.cca.rockwell.com> NNTP-Posting-User: bettis embuck@palmer.cca.rockwell.com (Erik M. Buck) writes: >Second: (Debugging frameworks is very very hard) >NextAnswers suggests specifying a fixed location for the framework DLL in >order to facilitate debugging. This is not working for us. Has anyone >resolved this. Works for me. add -base 0x1650000 or something to the link line and it debugs like a charm, you have to be sure that you are using an unstripped dll of course. Also you can't set break points until the library is loaded, but you can break in main() and then set your break points or use the future-break gdb command (in 4.2 prerelease only). >Third: (the second problem wouldn't be) >The second problem wouldn't be a problem if Openstep 4.1 NT worked like >Openstep 4.1 Mach. I have a large Openstep project converted from a 3.3 >project. It compiles without warnings and works fine under Openstep 4.1 >Mach. I have to re-arrange the code (no subprojects) under NT to compile at >all, and then I get warnings (mostly about NSString) that I don't get under >Mach. Finally, when I run the App under NT, I get segmentation violations. >The faults always occur in the same places, but I can not debug them (See >second) and there is no problem on Mach. That is life. I do all my development under Windows NT now, so that I don't have any suprises like this. Mach is more tolerant of things.
From: az736@freenet.uchsc.edu (Marvin L. Jones) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: A Y2K Solution So Simple That Even a Child Can Do It Followup-To: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Date: 2 Apr 1997 18:52:09 GMT Organization: Denver Free-Net, University of Colorado Health Sciences Center Message-ID: <5hu9sp$1me@tali.UCHSC.edu> References: <199704011749.TAA24541@basement.replay.com> Dash Langan (dashlangan@hotmail.com) wrote: ---snip--- : -- : Keep India in mind - where super children grow up to be super : programmers. Unless they are unfortunate enough to be girls -- where they risk being killed by their 'arranged' husbands for their dowry. -- Jonesy
From: andrew_abernathy@omnigroup.com Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Bugs in NeXTstep's SCSI support? (12 byte scsi reads failing with I/O error) Date: 3 Apr 1997 04:11:40 GMT Organization: Omni Development, Inc. Message-ID: <5hvals$rft$2@gaea.omnigroup.com> In my never-ending quest to improve OmniCD (ok, ok, you'll get an updated beta very soon), I'm running into a problem with 12-byte SCSI reads. Interestingly, it works on black hardware, but not on white. (I've been unable to test green or yellow due to certain circumstances.) The problem hits me when trying to read CDDA data from cdrom drives. Many drives, such as Sony & Plextor, use a 12-byte command to read the data - this works fine on black but fails with an I/O error on white. Other drives, such as Toshiba, use a 10-byte command to read CDDA data - this works fine on all platforms. Anyone know anything about this? Any workaround ideas? (It's not a byte-ordering issue - I've checked that meticulously and had someone sanity check my checks.) For what it's worth, this is a 3.3 app. I haven't had the opportunity to try on 4.x, though my immediate thought is that this stuff is the same, considering that we're talking about ioctls. -- andrew_abernathy@omnigroup.com - NeXTmail & MIME ok
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Wed, 02 Apr 1997 20:40:49 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000204972040490001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> <5hrpo0$3ek$1@nntp2.ba.best.com> <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net> <slrn5k4c0i.f56.cb@guinan.mm.se> <marke-ya02408000R0204971339250001@news.apple.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <marke-ya02408000R0204971339250001@news.apple.com>, marke@apple.com (Mark Eaton) wrote: > ...with the further restriction that no access levels other than public are > supported for structs, and that a struct cannot have virtual methods. Whats > your point? The original poster was correct: the only difference between a class and a struct is the default access level. --Jesse
From: marcel@sysyem.de Newsgroups: comp.sys.next.programmer Subject: Re: Bugs in NeXTstep's SCSI support? (12 byte scsi reads failing with I/O error) Date: 3 Apr 1997 06:57:21 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5hvkch$8lv$1@brachio.zrz.TU-Berlin.DE> References: <5hvals$rft$2@gaea.omnigroup.com> In article <5hvals$rft$2@gaea.omnigroup.com> andrew_abernathy@omnigroup.com writes: [problems with 12-byte CDBs on NS/White] > Anyone know anything about this? Any workaround ideas? (It's not a > byte-ordering issue - I've checked that meticulously and had someone > sanity check my checks.) For what it's worth, this is a 3.3 app. I > haven't had the opportunity to try on 4.x, though my immediate thought > is that this stuff is the same, considering that we're talking about > ioctls. What SCSI adapter are you using? Back when Intel came out, we had problems with 12 byte CDB support simply not being implemented properly (or at all) in some drivers. Adaptec was one of the offenders, DPT was fine. Next said that they'd fixed it, though. Marcel
From: rbraver@ohww.norman.ok.us Newsgroups: comp.sys.mac.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.games,comp.sys.next.programmer Subject: cmsg cancel <startup-ya076080000304970209110001@news.mint.net> Date: 4 Apr 1997 04:35:52 GMT Control: cancel <startup-ya076080000304970209110001@news.mint.net> Message-ID: <cancel.startup-ya076080000304970209110001@news.mint.net> Sender: chill@async11.ts-b-caps1.caps.maine.edu Spam cancelled. Notice ID: 19970404.28. See news.admin.net-abuse.announce or http://spam.ohww.norman.ok.us/spam_notices/19970404.28.html for complete report. Original Subject: Wanna' Start a Gaming or Web Design Company?
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Thu, 03 Apr 1997 21:25:54 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5 <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> In article <5i01o1$7vt@mn5.swip.net>, cb@guinan.mm.se (Christian Brunschen) wrote: > >...with the further restriction that no access levels other than public are > >supported for structs, and that a struct cannot have virtual methods. Whats > >your point? > > Um, false. The _only_ difference between 'class' and 'struct' is the default > protection for members. Thus, my statement above is entirely correct, and > the 'class x' and 'struct x' definitions are synonymous. yeah, I was wrong. The ANSI C++ standard treats them exactly the same. I've used compilers in the past that _didn't_ treat them the same, but that was awhile ago. > My point is, that your statement which is quoted above and again here: > > > > >in C++ it's > > > >perfectly valid to give structs methods, including constructors, and to > > > >use them as base classes: > > could lead people without C++ experience to beleive that a 'struct' is in > some way distinct from a 'class', offering some sort of more 'light-weight' > objects, which have less overhead than a 'class' declaration. Thus my > explanation that 'struct' and 'class' are in fact equivalent. My intent was quite the opposite. Some people are claiming that making trivial data types like Point or Rect classes was somehow inefficient. In fact, making them a class is no less efficient than making them a struct, in C++. In other languages, like ObjC, they may be right. -Mark ---> markeaton_@_mindspring_._com
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 03 Apr 1997 21:23:56 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000304972123560001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5i0sgp$10l$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > > Evidently Richard and I haven't been clear enough in communicating the > > problem. Perhaps an example will help. (I'll do this in C++ since I don't > > know Objective-C well enough). > > [snip] > > I see what you're saying; you're saying if [self foo] is called from > - init and I override - foo to make use of some variable that's initialized > after [super init], and init calls foo, yes your program will crash. > > This is what I commonly refer to as a bug. This would be a problem in > any language that's bound the same way ObjC (and Java) are bound. > > This hadn't even occured to me before, since I'd never even think > of doing this. Seems more like a nasty pitfall in the language to me: I shouldn't have to dig around in a classes internals to figure out if it's safe to override a method. The way C++ handles ctors and virtual functions may not be palatable to some people, but at least the language makes it impossible to call a method on an object that hasn't been initialized. --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 03 Apr 1997 21:46:30 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000304972146300001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0tqq$qcg$1@nntp2.ba.best.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5i0tqq$qcg$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > On 04/02/97, Jesse Jones wrote: > >With C++ this will result in a crash because Base::Init is calling a > >virtual function before the object is fully constructed. This, of > course, > >is the reason you can't call a virtual function in a constructor > >polymorphicly. From what everyone has said this sort of thing will > >also cause a crash in Objective-C. Is this really true? > > That exact code if directly translated to Objective C would cause a > crash. That's because it has a bug in the derived Init() routine. > Code it like this instead: > > virtual void Init() {mData = new long; Inherited::Init();} So now we're back to writing our Init methods in two different ways: the way recommended by the NeXT Objective-C manual where you initialize the base class first and the second where you initialize the base class after doing your own initialization. Of course the only reason you'd use the second option would be if you knew the internals of the base class and realized there could be a problem. However as we all know relying on the internals of a class is dangerous. For example, what if the base classes init method changes and now starts calling methods that are overriden in a derived class? All of a sudden we're calling methods on an uninitialized object. *This* is the opposite of OOP: you should be able to change the internals of a base class without knowing anything about derived classes. > There is no reason why the first thing you do in your derived Init() > function has to be a call to the base Init(). However, in C++ you do > not have that kind of control with constructors, so it would be a > problem if virtual member functions were allowed. This may explain the > confusion as to why it's safe in Objective C and not in C++. It is safe in C++ (provided you use ctors to initialize objects). It is *not* safe in Objective-C unless you have initimate knowledge of the classes hierachy now and in the future. --Jesse
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 03 Apr 1997 22:15:41 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0304972215420001@ip237.santa-clara6.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> In article <jesjones-ya023580000304972123560001@news.halcyon.com>, jesjones@halcyon.com (Jesse Jones) wrote: > In article <5i0sgp$10l$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > > > I see what you're saying; you're saying if [self foo] is called from > > - init and I override - foo to make use of some variable that's initialized > > after [super init], and init calls foo, yes your program will crash. > > > > This is what I commonly refer to as a bug. This would be a problem in > > any language that's bound the same way ObjC (and Java) are bound. > > > > This hadn't even occured to me before, since I'd never even think > > of doing this. > > Seems more like a nasty pitfall in the language to me: I shouldn't have to > dig around in a classes internals to figure out if it's safe to override a > method. The way C++ handles ctors and virtual functions may not be > palatable to some people, but at least the language makes it impossible to > call a method on an object that hasn't been initialized. I don't think that that is exactly fair. If you override a virtual method, you have to deal with the fact that it may get called at times when you don't expect it. If you write a class which has member pointers, its your responsibility to properly manage them. If you dereference member pointers from an overriden virt method, its *your* responsibility to safeguard against an invalid pointer. This is true in any language, at any time during the object's lifecycle, not just at init/constructor time. -Mark ---> markeaton_@_mindspring_._com
From: theisen@akaMail.com (Dirk Theisen) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Rejoice! BSD 4.4 is coming Date: Thu, 3 Apr 1997 11:47:07 +0200 Organization: University of Bonn, Germany Message-ID: <19970403114707136312@rhrz-ts2-p5.rhrz.uni-bonn.de> References: <jcr.858895952@idiom.com> John C. Randolph <jcr@idiom.com>: > Well, I just heard it from the fourth source inside NeXT's engineering > groups, and what I'm hearing is that the BSD code in Rhapsody is > *finally* getting upgraded to BSD 4.4! > > This means we get: append-only files and filesystems, the LFS, 64-bit > filesystems (i.e, no more 2 gig partition limit!) I really hope this is true... Dirk -- Site of the Day: http://www.microsnot.com/ Student of computer science, University of Bonn, Germany http://titan.informatik.uni-bonn.de/~theisen/
From: mtrombin@ix.netcom.com (Mark Trombino) Newsgroups: comp.sys.next.programmer Subject: Buttons... Date: 4 Apr 1997 06:56:40 GMT Organization: Egghead Billy, Inc. Message-ID: <5i28n8$d72@dfw-ixnews5.ix.netcom.com> Q: If you mouse down on a button, but move the mouse off of it (while still holding the mouse button down) so that the button raises, and then let go, shouldn't the button NOT send a performClick: message? Isn't this standard button behavior? I have some buttons that don't perform this way and its bugging me. When you let go of the mouse after moving off of the button, the button sends its target its action message anyway. Visually the button doesn't get pressed (its up when you let go of the mouse). Anyone have any ideas why my buttons behave the way they do? BTW, the method that gets called when you press of of my buttons starts up a timed entry. Could this have something to do with it? (Its a NS 3.3 app). Thanks in advance! -- Mark Trombino mtrombin@ix.netcom.com (NEXTMail, MIME Mail okay)
Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? Message-ID: <petrichE83q7p.5LA@netcom.com> Organization: Netcom References: <330E54AC.167E@innosys.com> <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> Date: Fri, 4 Apr 1997 07:02:13 GMT Sender: petrich@netcom10.netcom.com In article <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net>, Mark Eaton <markeaton_@_mindspring_._com> wrote: >My intent was quite the opposite. Some people are claiming that making >trivial data types like Point or Rect classes was somehow inefficient. In >fact, making them a class is no less efficient than making them a struct, >in C++. In other languages, like ObjC, they may be right. And the nice thing about classes like that is that if you put the implementation of their methods inside the class definition, you get automatic inlining. Thus here is an implementation of complex numbers as a C++ class -- with automatic inlining, there ought to be *no* function calls in the compiled version of it, making possible superspeed. class Complex { // Nothing needs to be hidden public: double Re, Im; // Real and Imaginary Parts Complex() {Re = Im = 0;} // Blank complex number Complex(double r) {Re = r; Im = 0;} // Real to complex Complex(double r, double i) {Re = r; Im = i;} // Two reals to complex // The default copy constructor and implementation of operator = // are presumably OK here, as is the default destructor // Set to real void operator = (double r) {Re = r; Im = 0;} Complex &operator +(Complex &z) { Complex zres; zres.Re = Re + z.Re; zres.Im = Im + z.Im; return zres; } Complex &operator -(Complex &z) { Complex zres; zres.Re = Re - z.Re; zres.Im = Im - z.Im; return zres; } Complex &operator -() { Complex zres; zres.Re = - Re; zres.Im = - Im; return zres; } Complex &operator +=(Complex &z) { Re += z.Re; Im += z.Im; return *this; } Complex &operator -=(Complex &z) { Re -= z.Re; Im -= z.Im; return *this; } Complex &operator *(Complex &z) { Complex zres; zres.Re = Re*z.Re - Im*z.Im; zres.Im = Im*z.Re + Re*z.Im; return zres; } Complex &operator /(Complex &z) { Complex zres; // Trick to avoid possible overflows double denom; if (fabs(z.Re) >= fabs(z.Im)) { denom = z.Re + (z.Im*z.Im)/z.Re; zres.Re = (Re + Im*z.Im/z.Re)/denom; zres.Im = (Im - Re*z.Im/z.Re)/denom; } else { denom = z.Im + (z.Re*z.Re)/z.Im; zres.Re = (Im + Re*z.Re/z.Im)/denom; zres.Im = (-Re + Im*z.Re/z.Im)/denom; } return zres; } }; I'm not adding anything on complex versions of various functions, but that ought to be easy: Complex &sin(Complex &z) { Complex zres; zres.Re = sin(z.Re)*cosh(z.Im); zres.Im = cos(z.Re)*sinh(z.Im); return zres; } Complex &exp(Complex &z) { Complex zres; zres.Re = exp(z.Re)*cos(z.Im); zres.Im = exp(z.Re)*sin(z.Im); return zres; } etc. (be careful to avoid cancellations, however; square roots can be tricky) -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 4 Apr 1997 08:09:53 GMT Organization: ace dot net internet technologies Message-ID: <5i2d0h$nvb$2@darla.visi.com> References: <330E54AC.167E@innosys.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > Seems more like a nasty pitfall in the language to me: I shouldn't have to > dig around in a classes internals to figure out if it's safe to override a > method. The way C++ handles ctors and virtual functions may not be > palatable to some people, but at least the language makes it impossible to > call a method on an object that hasn't been initialized. As someone else posted, you can allocate space before calling [super init]. Of course, you don't know that [super init] calls -foo, right? Well, it might not be a bad idea to initialize *all* your variables before calling [super init], especially if you're overriding a method to make use of one of them. Or, you could break it up if you needed to call some methods during the initialization. Either way, this is a hypothetical example with little bearing on actual practice; - init generally does not call methods other than setSomeValue type methods, which one wouldn't override for functionality anyway. Personally, I'd prefer not to have special rules governing special methods, and have every method behave in a standard way, rather than have the language try to isolate me from myself. Bugs I can fix; the language I cannot. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 4 Apr 1997 08:20:34 GMT Organization: ace dot net internet technologies Message-ID: <5i2dki$nvb$3@darla.visi.com> References: <330E54AC.167E@innosys.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0tqq$qcg$1@nntp2.ba.best.com> <jesjones-ya023580000304972146300001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > So now we're back to writing our Init methods in two different ways: the > way recommended by the NeXT Objective-C manual where you initialize the > base class first and the second where you initialize the base class after > doing your own initialization. - init methods are just methods. You're free to write the any way you please. Not all of them would neccesarily be good code, but this is true of any language. > Of course the only reason you'd use the > second option would be if you knew the internals of the base class and > realized there could be a problem. Dereferencing and assigning pointers without some kind of sanity checking is poor practice for any code you ever intend to re-use. > However as we all know relying on the internals of a class is dangerous. > For example, what if the base classes init method changes and now starts > calling methods that are overriden in a derived class? All of a sudden > we're calling methods on an uninitialized object. Again, the meaning of - init is "initialize your object", not "call a shitload of methods in your class". While you can, you're supposed to be assigning default values. > *This* is the opposite of > OOP: you should be able to change the internals of a base class without > knowing anything about derived classes. ... says the advocate of the language with the biggest base class problem of all time... -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: Laurent.Champciaux@emn.fr Newsgroups: comp.sys.next.programmer Subject: Re: Buttons... Date: 4 Apr 1997 08:18:01 GMT Organization: Ecole des Mines de Nantes Distribution: world Message-ID: <5i2dfp$54i$1@wfn.emn.fr> References: <5i28n8$d72@dfw-ixnews5.ix.netcom.com> In article <5i28n8$d72@dfw-ixnews5.ix.netcom.com> mtrombin@ix.netcom.com (Mark Trombino) writes: > Q: If you mouse down on a button, but move the mouse off of it (while still > holding the mouse button down) so that the button raises, and then let go, > shouldn't the button NOT send a performClick: message? Isn't this standard > button behavior? > > I have some buttons that don't perform this way and its bugging me. When you > let go of the mouse after moving off of the button, the button sends its > target its action message anyway. Visually the button doesn't get pressed > (its up when you let go of the mouse). > Thanks in advance! > > -- > Mark Trombino > mtrombin@ix.netcom.com (NEXTMail, MIME Mail okay) Hi, Well, maybe the non-wysiwyg buttons have their continuous attribute set to YES ? From doc : setContinuous: - setContinuous:(BOOL)flag Sets whether the Control will continuously send its action message to its target as the mouse is tracked. Returns self. See also: - setContinuous: (ButtonCell, SliderCell), - sendActionOn: Laurent. -- ======================================================= Laurent Champciaux Departement Informatique - Ecole des Mines de Nantes 4, rue A.Kastler - BP 20722 - 44307 Nantes Cedex 03 Tel: 33 2 51 85 82 18 (B220) email: Laurent.Champciaux@emn.fr Fax : 33 2 51 85 82 49
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: Wed, 2 Apr 1997 18:51:23 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <MnEj3vK00iWp0EUnU0@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal. <3342B315.1B07@claris.com> In-Reply-To: <3342B315.1B07@claris.com> Excerpts from netnews.comp.sys.next.programmer: 2-Apr-97 Re: Objective C? by Richard Cave@claris.com > I know it sounds sick, but that's how it works. The init method _is_ > the constructor. The alloc method gives you back essentially > uninitialized memory. Except that the object's isa pointer is initialized to refer to the class of this particular instantiation. The rest of the ivars are not set to any particular state until init is called. > The purpose of the init method is to give some initial state to the object. Correct. > Much of what the ObjectiveC proponents claim is the language is actually a > tradition of conventions handed down by word of mouth from generation to > generation. False. Obj-C's alloc/init paradigm is quite thoroughly documented in the documentation provided with the system. Those methods, along with the default root object (Object or NSObject), are as much a part of the Obj-C language as malloc() and free() are a part of ANSI-C language. > I think the convention in this case is to call super init first, then carry > on with your method. Right-- you generally let each superclass up the hierarchy call its [super init] until you get to the root class; as you return, each level usually initalizes whatever instance variables were added for that particular subclass. > FWIW, Java has some of the same "conventions". You're right > that calling a virtual method in this environment is full of danger, Pure nonsense. > don't try an invariant in an init method. What are you talking about? After [super init] returns, you can depend on any invariants created in your superclasses to hold true. After you've initialized the current classes' state, you can depend on any invariants set up at the current level, as well. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Objective C? Date: Thu, 3 Apr 1997 11:56:42 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <YnEy5_W00WBOA1Pb9U@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <0nDgJCG00iWWM1rU50@andrew.cmu.edu> <5hve3a$jc0@lal.interserv.com> In-Reply-To: <5hve3a$jc0@lal.interserv.com> Excerpts from netnews.comp.sys.next.advocacy: 2-Apr-97 Re: Objective C? by James M. Curran@CIS.Comp >> Wrong. What happens if I put interesting information into the other >> ivars that aren't copied by the class designer's implementation of '='? >> It's not going to be copied, and I'm not going to get the results I'd >> expected when calling the sort. > > The ivars that are not copied are implementation details of the base > class. Therefore, you, as someone who is not the base class > implementor, have no knowledge of the existence of those variables. > Then *HOW* are you going to put something interesting in them? James, rather than continue a repetition of this same exchange, let's consider the original problem. We were talking about sorting an array or list of objects. You defined an object which had a key named "realval" and other ivar. That was something like char foo[100] or some such, but it could be anything-- the details don't matter. The code you've provided does _not_ sort the objects. It only sorts the keys-- the realval ivar in each object. From the context of the original problem of "sorting an array of objects", we aren't talking about simply sorting the realvals-- we have to be talking about sorting objects as a whole, including the other ivars besides realval. (See the discussion of "state" and "essential state" below.) Within the context of this comparision of C++ and Obj-C, I'm not interested in discussing anything but the original problem because I refuse to deal with the shifting goalpost syndrome. > Again you are arguing the point that ObjC is a better OOP language -- > if you plan on violating the rules of OOP. That is neither what I've said nor true. This whole exchange, you have tried explicitly to come up with circumstances where C++ outperforms Obj-C by relying on static binding which allows inlining of code such as "x = y" being transformed into "x.realval = y.realval". My whole point has been that such static binding and inlining violates true OO programming because it inherently involves a dependancy on the specific implementation details-- and such code fails to work when someone who does not verify the implementation of the '=' operator for your class who tries to sort a bunch of these objects discovers that the objects themselves have not been sorted-- just the realval ivars. Not only does your code fail to solve the original problem you yourself specified, but sorting just the realval ivars and not the entire objects breaks the encapsulation of the realval ivar (which is the key value used in the comparisions of the sorting algorithm) with the other ivars in the objects being sorted. [ ... ] >>The user of the class has to be aware (or beware) that this class >>implements '=' in a way that does not mean "the entire state of this >>object is assigned". > > But the entire state of the object *IS* assigned. As I've said, (over > & over) in that example, the part not copied IS NOT RELEVANT to the > state of the class. James, the "state" of an object is the contents of every ivar. The "essential state" is the minimal subset of the total state of an object (ie, a subset of the ivars) which allows the object to recreate the state of the rest of the ivars through the use of invariant relationships between the ivars. If realval was truly the only essential state (what you call relevant above), you would still have to recompute the state of the rest of the ivars in our class after you were finished with the sort, but it would be a perfectly valid way of solving the original problem. In which case, I'd invite you to compare the real-world performance of sorting the objects using such a mechanism to a real-world Obj-C implementation (which would probably exchanges pointers to the objects instead of copying their state or recomputing anything). Perhaps you'll argue: suppose the other ivars really don't matter ever, and thus you don't have to recompute them, ever-- they were just padding. I claim that such an argument explicitly changes the context and _meaning_ of what the code is doing from "sorting objects" to "sorting realvals which referenced by pointers". That's the shifting goalpost syndrome. [ ... ] >> "integrated" == ships with the standard class libraries and can >> reasonably be expected to be available with the same interface >> regardless of which platform and C++ compiler you have. >> >> Reference counting is part of the OpenStep spec, and every OpenStep app >> is free to use reference counting on their objects with garbage >> collection instead of having to explicitly worry about disposing of the >> memory used by objects no longer in use. > > whew! Had me worried there a minute. That's not how I'd define > "integrated". Problem here is that it ships with ONE vendor's class > library. Admittedly that one vendor has close to 100% of the market, > but it's still a technically a proprietary solution. Completely false. Reference counting is part of the NeXT/Apple OpenStep implementation. It's also a part of Sun's OpenStep implementation. It's also a part of the GNUStep implementation which is in the process being written under the terms of the GPL by yet a third group of people. OpenStep is not proprietary, and reference counting is available within several OpenStep implementations (not just one vendor's). > Truth, > James I wish you would avoid the hypocracy of associating your name with that virtue. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: "Dale Madill" <dmadill@cyberspc.mb.ca> Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: A Y2K Solution So Simple That Even a Child Can Do It Date: 3 Apr 1997 03:24:48 GMT Organization: MBnet - Manitoba's Connection To The Internet Message-ID: <01bc3fdd$50e77680$72f0a3c6@taggart> References: <199704011749.TAA24541@basement.replay.com> Dash Langan <dashlangan@hotmail.com> wrote in article <199704011749.TAA24541@basement.replay.com>... > The "Open and Shut Window Technique" is so simple a Y2K solution > that even a child can do it. (Now, don't get me wrong. I do not Dash, You have got to be the dumbest person I've seen in a long time. Not only do you get the crap beat out of you by almost everybody in the NG but you keep coming back for more. Please stop your ridiculous claims that 98% of programmers do nothing, and that CIO should fire 50% of their staff so productivity will go up, etc and attempt to contribute something of value. Your windowing technique is not a be all end all solution but simply a patch that may work in some situations. It is not a complete solution, nor will it ever be. Stop beating the dead horse! By the way, what do you pay YOUR 10 year old programmers in India Dash?
From: rsrodger@wam.umd.edu (Rob Rodgers) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 3 Apr 1997 13:06:57 -0500 Organization: University of Maryland, College Park Message-ID: <5i0rk1$ajd@rac9.wam.umd.edu> References: <330E54AC.167E@innosys.com> <5gddvj$4f5 <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> In article <5i01o1$7vt@mn5.swip.net>, Christian Brunschen <cb@guinan.mm.se> wrote: >could lead people without C++ experience to beleive that a 'struct' is in >some way distinct from a 'class', offering some sort of more 'light-weight' >objects, which have less overhead than a 'class' declaration. Thus my >explanation that 'struct' and 'class' are in fact equivalent. Actually, this is a benefit of Oc (and in fact, just about any language). Not classes, but the quality of available documentation and the degree to which widely held beliefs actually match reality (in C/C++, the correspondence is actually pretty low). Never has a language been taught and written about as badly as C++, and this struct vs. class "distinction" which you are trying to dispell is a perfect example. I mean, the "difference" between struct and class (default protection *only*) is only on the FIRST PARAGRAPH of the FIRST PAGE of the section on classes in the draft standard. Yet teachers in CS programs don't know this, books write that "structs" are "lighter weight" than classes and treat them as distinct, &c. Makes you wonder if the people who teach and write about C++ have ever even browsed the standard (if so, they'd have noticed that most of the class examples use the struct keyword, or at least they used to..) Oh well, I suppose if the "masses" moved to Oc or Lisp we'd see the same thing..
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 04 Apr 1997 06:11:46 -0800 Organization: home Message-ID: <tz8lo6y27z1.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5 <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> In-reply-to: markeaton_@_mindspring_._com's message of Thu, 03 Apr 1997 21:25:54 -0800 Fcc: /u6/users/tmb/mail/x-nout In article <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> markeaton_@_mindspring_._com (Mark Eaton) writes: My intent was quite the opposite. Some people are claiming that making trivial data types like Point or Rect classes was somehow inefficient. In fact, making them a class is no less efficient than making them a struct, in C++. Method resolution for C++ is not much more efficient than in other object oriented languages, and as soon as you define a single virtual function, C++ classes also add a virtual function table pointer to each instance of the class. The only reason why it doesn't cost you anything to make a trivial data type like Point a "class" in C++ is because C++ changes the meaning of the word "class". Data types without virtual functions also exist in ANSI C and Objective-C; they simply aren't called "classes". Thomas.
From: ploeger@pedcard.uni-kiel.de (Andreas Ploeger) Newsgroups: comp.sys.next.programmer Subject: Compatibility NXWriteTypes and decodeValuesOfObjCTypes Date: 4 Apr 1997 14:29:06 GMT Organization: Rechenzentrum der Universitaet Kiel, Germany Message-ID: <5i337i$fc8$1@infosrv.rz.uni-kiel.de> Hi, I've got hundreds of files that were written using NXWriteTypes within the 'write:' method of each class. Can I change these classes to be subclasses of NsObject instead of Object and read the old files using decodeValuesOfObjCTypes? -- Dr. Andreas Ploeger E-Mail: ploeger@toppoint.de Kiel University Phone: +49 431 597 1757 Clinic for Pediatric Cardiology FAX: +49 431 597 1745 or 1831 Schwanenweg 20, 24105 Kiel, Germany *** NeXT & MIME Mail welcome ***
From: "Michael Allen Latta" <mlatta@hologisys.com> Newsgroups: comp.sys.next.programmer Subject: Compatability Question Date: 4 Apr 1997 14:52:26 GMT Organization: SuperNet Inc. +1.303.296.8202 Denver Colorado Message-ID: <01bc4107$761b2c00$0b6085cc@dialup.hologisys.com> Please answer by e-mail. Do NeXTStep 3.2 binarys run under NT Enterprise? I expect not but had to ask. Are the Lighthouse Design apps being ported to NT? Their web site no longer advertises their NS apps after being bought by Sun. Thanks, Michael Latta mlatta@hologisys.com
From: Alex Blakemore <alex@genoa.com> Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Openstep NT dev tools (bugs ?) Date: 4 Apr 1997 04:06:09 GMT Organization: Genoa Software Systems Message-ID: <5i1unh$1ss@saturn.genoa.com> References: <5hs5c1$ss4@castor.cca.rockwell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: embuck@palmer.cca.rockwell.com In <5hs5c1$ss4@castor.cca.rockwell.com> Erik M. Buck wrote: > I am having trouble with the Windows NT Openstep 4.1 dev tools. > First: (Symbols defined in subprojects do not get exported from DLLs) > A NextAnswer provided a makefile-patch that supposedly fixed this. We avoided the problem by creating class methods that exported any symbols from frameworks. (classes and methods are exported, just not other symbols like functions, and global variables) In our case, the work around made the design a little more OO anyway. > I have to re-arrange the code (no subprojects) under NT to compile That seems strange, I haven't had any problems with subprojects (bundles perhaps, but not other kinds of subprojects) - and we even got bundles to work on NT. -- Alex Blakemore alex@genoa.com NeXT, MIME and ASCII mail accepted
From: rraman@site.gmu.edu (Ravishankar Ramanathan (CSI)) Newsgroups: comp.sys.next.programmer Subject: Compiling gcc (version 2.7.2) under NS3.3/ Dev3.2 Date: 3 Apr 1997 19:58:05 GMT Organization: George Mason University, Fairfax, Virginia, USA Message-ID: <5i124d$eh1@portal.gmu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit [ Article crossposted from comp.sys.next.software ] [ Author was Ravishankar Ramanathan (CSI) ] [ Posted on 3 Apr 1997 19:47:17 GMT ] Hello all: I was trying to get gcc compile under NS 3.3User/ 3.2Dev and am running into trouble with move-if-change. There is a warning in the makefile about move-if-change and how it could cause problems in Sun. I looked into the compiled version of gcc2.7.2.1 available from the next archives - frankly I have no idea where the directories go :-( I believe some should go into /usr/bin but I have no way of knowing where all the files should go. (It would be nice if the author of the precompiled version included a map of where the binaries should be!) Anyways, could some one please tell me if there is a way to compile the gcc and if I need any additional piece of software to do it. Here is what I have: NeXT Turbo 32MB RAM 3.3 User w/ 3.2 Developer Installed 1.1 EOF User/ Developer with all patches installed gnu package (from NextCD/gnu in 3.2 developer) installed bison 1.25 installed (that went through without a problem!) Additionally, anyone succeded in compiling mSQL 2.0.B5 on the above machine? (It quits saying mmap and uint/ uint_32 not present - is there a place where they can be found?) Thanks for all the patience... -Ravi -- -Ravi
From: JamesCurran@CIS.CompuServe.com (James M. Curran) Newsgroups: comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Objective C? Date: Wed, 02 Apr 1997 18:47:59 GMT Organization: InterServ News Service Message-ID: <5hve3a$jc0@lal.interserv.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <0nDgJCG00iWWM1rU50@andrew.cmu.edu> In <<0nDgJCG00iWWM1rU50@andrew.cmu.edu>>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: >Wrong. What happens if I put interesting information into the other >ivars that aren't copied by the class designer's implementation of '='? >It's not going to be copied, and I'm not going to get the results I'd >expected when calling the sort. The ivars that are not copied are implementation details of the base class. Therefore, you, as someone who is not the base class implementor, have no knowledge of the existence of those variables. Then *HOW* are you going to put something interesting in them? Again you are arguing the point that ObjC is a better OOP language -- if you plan on violating the rules of OOP. >No, it doesn't. The precise example you've provided relies explicitly on >the class designer making assumptions about what parts of a class (which >ivars) matter and hence will be copied. >The user of the class has to be aware (or beware) that this class >implements '=' in a way that does not mean "the entire state of this >object is assigned". But the entire state of the object *IS* assigned. As I've said, (over & over) in that example, the part not copied IS NOT RELEVANT to the state of the class. Now let us look at you're argument. You're saying, that if you take an existing class. After studying it's implementation to discover an exist member variable which isn't being fully used, and hijack that ivar to perform a completely new task --- you are worry that you might have to also change the assignment operator. >>> By the way, what does C++ have in terms of integrated reference counting? >> >> Define "integrated". C++ keeps C minimalistic approach, and lets you >> build whatever you need. Defining a RefCount base class, and >> inheriting for that is a trivial matter. >"integrated" == ships with the standard class libraries and can >reasonably be expected to be available with the same interface >regardless of which platform and C++ compiler you have. >Reference counting is part of the OpenStep spec, and every OpenStep app >is free to use reference counting on their objects with garbage >collection instead of having to explicitly worry about disposing of the >memory used by objects no longer in use. whew! Had me worried there a minute. That's not how I'd define "integrated". Problem here is that it ships with ONE vendor's class library. Admittedly that one vendor has close to 100% of the market, but it's still a technically a proprietary solution. The draft of the ANSI/ISO C++ standard library included a refernce counted string class. I'm not sure if a reference count base class is defined in it though... Truth, James
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: Checking on an old issue in the newer releases Date: 2 Apr 1997 15:25:42 GMT Organization: Rockwell Collins Message-ID: <5httpm$2fu2@castor.cca.rockwell.com> References: <01bc3ec3$9e3eec80$1f6085cc@dialup.hologisys.com> Cc: mlatta@hologisys.com In <01bc3ec3$9e3eec80$1f6085cc@dialup.hologisys.com> "Michael Allen Latta" wrote: > I have been out of touch with NeXT since 3.2 developer days. Have they > fixed the problems related to dynamically loading a NIB file and needing to > release the objects tonained therein? I remember great contortions to have > to release the objects in the NIB. There was some hope that the reference > counting of OpenStep would resolve this when the NIB owner was released. > > Please reply by e-mail I am not reading this group on a regular basis. > > Mike Latta > mlatta@hologisys.com > SAutoreleasePool that leaks 4 bytes. It may be fixed in 4.2.
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 4 Apr 1997 10:37:48 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5i378c$lhc@lynx.dac.neu.edu> References: <330E54AC.167E@innosys.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <petrichE83q7p.5LA@netcom.com> Content-Type: text/html Loren Petrich (petrich@netcom.com) wrote in article <petrichE83q7p.5LA@netcom.com> <pre><blink> ]In article <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net>, ]Mark Eaton <markeaton_@_mindspring_._com> wrote: ] ]>My intent was quite the opposite. Some people are claiming that making ]>trivial data types like Point or Rect classes was somehow inefficient. In ]>fact, making them a class is no less efficient than making them a struct, ]>in C++. In other languages, like ObjC, they may be right. ] ] And the nice thing about classes like that is that if you put the ]implementation of their methods inside the class definition, you get ]automatic inlining. Thus here is an implementation of complex numbers as ]a C++ class -- with automatic inlining, there ought to be *no* function ]calls in the compiled version of it, making possible superspeed. ] ] ]class Complex { ]// Nothing needs to be hidden ]public: ] ]double Re, Im; // Real and Imaginary Parts ] ]Complex() {Re = Im = 0;} // Blank complex number ]Complex(double r) {Re = r; Im = 0;} // Real to complex ]Complex(double r, double i) {Re = r; Im = i;} // Two reals to complex ]// The default copy constructor and implementation of operator = ]// are presumably OK here, as is the default destructor ] ]// Set to real ]void operator = (double r) {Re = r; Im = 0;} ] ]Complex &operator +(Complex &z) { ]... snip Umm, just to keep things in perspective - C++ is NOT good language for numerical work (well, ObjC may be no better, but you brought numerical stuff up, so...). See: S.W.Haney "Is C++ Fast Enough for Scientific Computing ?" Computers in Physics, vol.8, no.6, nov/dec 1994 On complex and matrix operations C++ code is horribly slow compared with Fortran and C. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: pete@ohm.york.ac.uk (-bat.) Newsgroups: comp.sys.next.programmer Subject: Posix support post 4.0 Date: 4 Apr 1997 16:58:13 GMT Organization: The University of York, UK Sender: pcf1@nicecuppa.ohm.york.ac.uk Message-ID: <5i3bv5$csh$1@netty.york.ac.uk> Hmmm, having noticed that things were starting to get removed with the last few releases of NS - notably the posix support between 3.3 and 4.0 I was wondering if they have started to creep back in in 4.1 or 4.2. With the advent of Rhapsody surely the OS should be made more up-to-date and not less ? I know the posix support was a bit grim - but it was better than nothing and I find it frustrating to have to still compile new code under 3.3 rather than 4.0 due to this. any comments ? -bat.
From: jobs@globalobjects.com (Jobs) Newsgroups: atl.jobs,comp.lang.java.misc,comp.lang.java.programmer,comp.lang.objective-c,comp.sys.next.marketplace,comp.sys.next.programmer,fl.jobs,misc.jobs.contract,misc.jobs.misc,misc.jobs.offered Subject: US GA - OO Developer for WWW project Date: 4 Apr 1997 19:13:50 GMT Organization: Global Objects Inc. Message-ID: <5i3jte$clr$2@news.xmission.com> Global Objects Inc. specializes in providing quality business solutions to clients through web and object technologies. We are currently looking for an OO developer to work onsite on a web project. This project is currently being done in WebObjects and will then migrate to Java in a month. Responsibilities: * Determine the needs of the new project * Implement the new project using Java and other web technologies. All work is done on the server side (no cute pages!) * The work may also involve CORBA as well Requirements: * 2 to 3 years of C++ (preferrably under Unix) * 6 months to 1 year of Java building business applications (web pages don't count!) * Exposure to other web development environment such as ColdFusion, etc * All work MUST be done ONSITE (pls don't ask us about telecommuting) The work starts immediately and will last until the end of the year. For immediate consideration, pls email your resume to jobs@globalobjects.com. Pls specify your rate and availability. If you must, you can fax your resume to 770.457.7333. We process email almost immediately, and we can take up to a week to process faxes. All candiates are requested to take our OO quiz at www.globalobjects.com.
Date: Fri, 04 Apr 1997 12:51:15 -0600 From: curranj@mskcc.org Subject: Re: Objective C? Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Message-ID: <860179413.22852@dejanews.com> Organization: Deja News Usenet Posting Service References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> In article <5hrt9h$6s2$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > > On 03/31/97, > JamesCurran@CIS.CompuServe.com (James M. Curran) wrote: > > The downside is that you don't have a constructor <duh!>. > > Right, because they aren't necessary in Objective C, at least not in > the C++ sense where there is a special language feature required to > support object instantiation. Hence, there is no downside. > > Actually, C++ pretty much requires constructors, so of course they are > useful. This is nonsense. C++ does not "require" constructors many more that ObjC does. Objects require initialization before that can be used. C++ builds recognition of this fact into the language, while ObjC does not. > There is nothing about making method calls during object initialization > that violates OO design in Objective C, and in fact it's quite common > to do so. I didn't say it did. I said having a method of a base class depend upon the actions of a method in a derived class does. > > That may be true in C++ because the vptr changes as each constructor is > called in sequence. Thus, the effictive class of the object can change > during instantiation. This is why you can't really use any polymorphic > init code in C++ until AFTER the constructor. No, this is why each class in C++ can have it's own constructor, allowing each object to be constructed as to it's needs (ie, polymorphic init code). > > In Objective C, an object's isa pointer is set up _once_ by the +alloc > routine in NSObject. Thus, it is safe to call init routines that may > be overridden by a subclass. There are examples of this sort of thing > in the Objective C manual from NeXT. Maybe you should read it > sometime. You seem to be ignoring the point here. In C++, I can safely call any method of an object after it is constructed. In ObjC, you can safely call any method of an object after it is alloc'ed. What the hell's the difference?? How is one any better than the other? (Other than the fact, that if I'm careful to avoid a few obscure procedures, I can also safely call almost any method of an object during it's construction). > Oh jeeze. So your best argument against the Objective C object > instantian mechanism is that it's 'a convention dreamed up by users'? > Give us a break, please. No, my best argument against the Objective C object instantiation mechanism is that it's error-prone and not orthogonal. > > >You want to treat the constructor as if it were just another member > >function (probably because ObjC's init methods are just like other > >methods). But constructors are different, and that's where their > >power lies. > > So what is this 'power' that C++ constructors have over Objective C? > The way I see it, they are less general and more error prone than > having a clean, orthogonal method of creating objects. You must be joking, right? Let's say we have a class called "BigNum": int x = 5; // same C++, ObjC and C long y = 5; BigNum z = 5; // C++ BigNum w = [BigNum alloc] init:5]; // ObjC BigNum v = [BigNum init:5]; // ObjC runtime error. This shows off one of the tenents of C++, that all objects whether they are built-in types or user defined classes, should be treated the same. ObjC likes making a big deal out of this artifical separation. Also, ObjC separates that acts of allocation and initialization, which should be inseparable. (C++ does allow you to separate them, if you really want to, but it doesn't make it easy, because separating them shouldn't be easy). ObjC makes the user define a new method to keep them together. And if you do one without the other, disaster will result. Hence, C++ constructors are the actual clean orthogonal method of creating objects, while Objective C's alloc/init method is the one that's less general and more error prone. To continue on the "orthogonal" angle -- How do you "de-initialization" something in ObjC? You have garabage collection, but that assumes that the only resource any object will ever use is memory. If you need any other form of shutdown procedure (closing a file, releasing a semphore), the user must explictly call a method, and for this, we don't even have a standard name. For this, C++ has destructors, which allow us to easily perform some powerful tasks, like closing a file or releasing a semiphore. In fact, if you were to also put the accessing of the semiphore into the ctor, the whole process of serializing access on a multitasking system can be reduced to defining a variable. For another example, I've written a class called "FuncTrace" which is used like this: main() { FuncTrace m("Main"); // some stuff SomeFunc(); // some more stuff } SomeFunc() { FuncTrace sf("SomeFunc"); // yet more stuff } This will print out in my trace log: --Main started 4-Apr-1997 3:02:25PM -- SomeFunc started 4-Apr-1997 3:02:45PM -- SomeFunc ended 4-Apr-1997 3:03:10PM - elapsed 00:00:25 -- Main ended 4-Apr-1997 3:03:20PM - elapsed 00:00:55 with all the worked handled by the ctor & dtor. All I have to do use it is to declare a variable (and I never have to even refer to it again) -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: brucecra@mindspring.com (Bruce) Newsgroups: comp.sys.next.programmer Subject: Openstep Developer needed in New York City Date: 4 Apr 1997 20:25:44 GMT Organization: CRA Message-ID: <brucecra-0404971531290001@user-37kbte6.dialup.mindspring.com> We are the Premier search and recruiting firm for NeXT Professionals in the USA. We have a number of exclusive clients who have retained our services to search for the best permanent NeXTSTEP, Openstep, Objective-C and strong OO Architects on the market.We are now recruiting for positions from coast to coast from Developers to Senior Developers.Particularly in the New York City area. If you have experience developing within the NeXT environment and are considering looking to leverage your career, now is the time and we are the firm to talk to. Please call us at: Corporate Resource Associates Bruce Rennert 800-662-9797 Fax 800-814-3100 brucecra@mindspring.com
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 4 Apr 1997 19:14:24 -0000 Organization: Virginia Polytechnic Institute and State University Message-ID: <5i3jug$k58@sps1.phys.vt.edu> References: <330E54AC.167E@innosys.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.co <860179413.22852@dejanews.com> In article <860179413.22852@dejanews.com>, curranj@mskcc.org wrote: > No, my best argument against the Objective C object instantiation > mechanism is that it's error-prone Funny, I've never made any errors with it. > and not orthogonal. How's that? I think that doing object allocation and instantiation using the same mechanism as telling any other object to do something, namely message passing via class and instance methods, is rather orthogonal.. +alloc and -init are methods just like any other operations on objects. C++ introduces a new mechanism and syntax for this specific purpose. Though it does have the advantage of looking the same as a primitive data type assignment. Obj-C's philosophy is to have only messages act on objects, and to have only one syntax for message passing. I call that orthogonal. > You must be joking, right? Let's say we have a class called "BigNum": > int x = 5; // same C++, ObjC and C > long y = 5; > BigNum z = 5; // C++ > BigNum w = [BigNum alloc] init:5]; // ObjC > BigNum v = [BigNum init:5]; // ObjC runtime error. Slight syntax correction on the last two lines: // w and v are dynamically allocated this way, need to be BigNum * BigNum* w = [[BigNum alloc] init:5]; // forgot a bracket BigNum* v = [BigNum init:5]; You apparently have never actually written a line of working Obj-C code before. [BigNum init:5] doesn't generate a runtime error, it generates a _compile-time_ error.. that code fragment will refuse to compile. -init: is an instance method, not a class method. It makes no sense to try to send it to the BigNum class object. There is no +init: class method. +alloc hands back an instance upon which -init: may act. Without an instance as the receiver, sending -init: is meaningless and will be rejected by the compiler. > This shows off one of the tenents of C++, that all objects whether they > are built-in types or user defined classes, should be treated the same. > ObjC likes making a big deal out of this artifical separation. I wouldn't call it a "big deal". You treat primitive C types like primitive C types, and objects like objects. I don't see how this is an artificial separation, since C types are not objects. > Also, ObjC separates that acts of allocation and initialization, which should > be inseparable. I disagree. > (C++ does allow you to separate them, if you really want > to, but it doesn't make it easy, because separating them shouldn't be > easy). ObjC makes the user define a new method to keep them together. > And if you do one without the other, disaster will result. You may not want to initialize an object immediately after it is allocated. I think someone else on this thread posted an example of when you might want to do that. > Hence, C++ constructors are the actual clean orthogonal method of > creating objects, while Objective C's alloc/init method is the one that's > less general and more error prone. Yeah, whatever. > To continue on the "orthogonal" angle -- How do you "de-initialization" > something in ObjC? You have garabage collection, Actually, Obj-C traditionally hasn't used garbage collection. OpenStep's NSObject currently uses reference counting. > but that assumes that > the only resource any object will ever use is memory. If you need any > other form of shutdown procedure (closing a file, releasing a semphore), > the user must explictly call a method, and for this, we don't even have a > standard name. In OpenStep, you override -dealloc to include all that custom stuff. -dealloc is automatically called called by -release when the reference count goes to zero. If you had GC, then -release would get called automatically too. Otherwise, you call -release when you're done using the object. It will then call -dealloc to perform a shutdown procedure. <sigh>. Really, can't you have a discussion of the tradeoffs between C++ and Objective-C without posting disinformation about the latter?
Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy From: howlett@netcom.com (Scott Howlett) Subject: Re: Objective C? Message-ID: <howlett-0404971616230001@192.0.2.3> Sender: howlett@netcom11.netcom.com Organization: Netcom On-Line Services References: <330E54AC.167E@innosys.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <petrichE83q7p.5LA@netcom.com> <5i378c$lhc@lynx.dac.neu.edu> Date: Sat, 5 Apr 1997 00:16:23 GMT mkagalen@lynx.dac.neu.edu (Michael Kagalenko) wrote: > On complex and matrix operations C++ code is horribly slow compared > with Fortran and C. Actually, the Blitz++ numerical environment http://monet.uwaterloo.ca/blitz/ compares quite favorably to FORTRAN and achieves an elegance that C could not hope to match. Do not make the mistake of generalizing the results obtained from one or two particular implementations to say something about the language itself. And there is no reason why C++ should ever need to be slower than C. Period. Statically bound member functions are no different than C function calls, and if you choose to use virtual functions in speed-critical code, you should just be smart and only use them in places where you would be using function pointers in C. Of course, Evil programmers can cook up a horribly slow implementation of something in any language. - Scott -- Scott Howlett, howlett@netcom.com "If trees could scream, would we be so cavalier about cutting them down? We might, if they screamed all the time, for no good reason."
From: Chuck_Esterbrook@orcacomputer.com Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Openstep NT dev tools (bugs ?) Date: 4 Apr 1997 15:32:57 GMT Organization: Virginia Tech, Blacksburg, Virginia Message-ID: <5i36v9$oh8$1@solaris.cc.vt.edu> References: <5hs5c1$ss4@castor.cca.rockwell.com> <5i16iq$85s@falcon.inetnebr.com> <5i18bf$s2k@news-central.tiac.net> zander@conextions.com (Aleksey Sudakov) wrote: > On 04/03/97, Mr. Jeremy Bettis wrote: > >embuck@palmer.cca.rockwell.com (Erik M. Buck) writes: > >Also you can't set break points until the library is loaded, but you > >can break in main() and then set your break points or use the > future-break > >gdb command (in 4.2 prerelease only). > > Could someone confirm/deny that OpenStep Mach 4.1 gdb support > future-break as well? I forgot when was the last time I was lucky > enough for debuger to start under Mach and I bet I used future-breaks, > but they are definitely doesn't recognised by gdb on OpenStep NT 4.1. > Was it a dream or what? > > >That is life. I do all my development under Windows NT now, so that > I > >don't have any suprises like this. Mach is more tolerant of things. > > Not that I admire NT, rather the opposite, but sometimes OpenStep NT > is better then OpenStep Mach. Take multithreaded app debuging for > instance. Under NT you could actually collect more information then > under Mach... > > Aleksey > Speaking of NT vs. Mach do you notice that "gcc -precomp" on NT causes the compiler to crash or exit with an error? I also couldn't find a Foundation.p or AppKit.p. Via timing tests I have found that building my projects under NT is twice as slow as under Mach. 17.5 minutes on Mach vs. 39 minutes for NT for a complete build. ProjectBuilder also crashes more often under NT than Mach. I also have problems in NT with window sizes, positions and resizing acting strangely. I also have problems with the fonts. I installed OPENSTEP Enterprise, then switch my NT system from "Small Fonts" to "Large Fonts". Now there are certain portions of text in my OPENSTEP apps where the kerning is all messed up. But it's not consistent with the font name and size. I think some of NeXT's programmers are aware of the NSFont-screenFont method and others are not. Overall I have found OPENSTEP for NT to be an immature and overly buggy product. I do as much development under Mach as possible and then periodically take my code to NT to wrinkle out NT specific bugs in my app. Let's pray that they do the right thing with Rhapsody and that it takes over the world... -Chuck
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 4 Apr 1997 21:26:36 -0500 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5i4d8s$2ej@lynx.dac.neu.edu> References: <330E54AC.167E@innosys.com> <petrichE83q7p.5LA@netcom.com> <5i378c$lhc@lynx.dac.neu.edu> <howlett-0404971616230001@192.0.2.3> Content-Type: text/html Scott Howlett (howlett@netcom.com) wrote in article <howlett-0404971616230001@192.0.2.3> <pre><blink> ]mkagalen@lynx.dac.neu.edu (Michael Kagalenko) wrote: ] ]> On complex and matrix operations C++ code is horribly slow compared ]> with Fortran and C. ] ]Actually, the Blitz++ numerical environment ] ]http://monet.uwaterloo.ca/blitz/ ] ]compares quite favorably to FORTRAN and achieves an elegance that C ]could not hope to match. Alas, it relies on features of the language implemented, so far, by 1(one) compiler from particular vendor. I would love to check those claims on my code, but don't have $$$ for KAI compiler. ]Do not make the mistake of generalizing the results obtained from ]one or two particular implementations to say something about the ]language itself. Even compiler from reknown KAI Associates requires special carefully designed class library to achieve performance comparable to FORTRAN (as readily revealed by the page you suggest). If you know of compiler that would beat ones tested in the article without special class library, please, by all means, name it. ]And there is no reason why C++ should ever need to be slower than C. Period. Somehow, this claim rings hollow, given drastic speed differences in C and C++ code. ]Statically bound member functions are no different than C function calls, ]and if you choose to use virtual functions in speed-critical code, you ]should just be smart and only use them in places where you would be using ]function pointers in C. ] ]Of course, Evil programmers can cook up a horribly slow implementation ]of something in any language. The fact is that straightforward coding of very simple matrix operations in C++ produces dreadful performance penalties. One has to jump hoops in order to alleviate that, getting rid of whatever little OO functionality C++ has along the way. -- ABILITY,n. The natural equipment to accomplish some small part of the meaner ambitions distinguishing able men from dead ones. -- Ambrose Bierce, "The Devil's Dictionary"
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 04 Apr 1997 22:05:30 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000404972205300001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> <markeaton_-0304972215420001@ip237.santa-clara6.ca.pub-ip.psi.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <markeaton_-0304972215420001@ip237.santa-clara6.ca.pub-ip.psi.net>, markeaton_@_mindspring_._com (Mark Eaton) wrote: > In article <jesjones-ya023580000304972123560001@news.halcyon.com>, > jesjones@halcyon.com (Jesse Jones) wrote: > > > In article <5i0sgp$10l$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > > > > > I see what you're saying; you're saying if [self foo] is called from > > > - init and I override - foo to make use of some variable that's initialized > > > after [super init], and init calls foo, yes your program will crash. > > > > > > This is what I commonly refer to as a bug. This would be a problem in > > > any language that's bound the same way ObjC (and Java) are bound. > > > > > > This hadn't even occured to me before, since I'd never even think > > > of doing this. > > > > Seems more like a nasty pitfall in the language to me: I shouldn't have to > > dig around in a classes internals to figure out if it's safe to override a > > method. The way C++ handles ctors and virtual functions may not be > > palatable to some people, but at least the language makes it impossible to > > call a method on an object that hasn't been initialized. > > I don't think that that is exactly fair. > > If you override a virtual method, you have to deal with the fact that it > may get called at times when you don't expect it. Getting called when you don't expect it is one thing. Getting called when none of the subclasses member data is initialized is altogether different. This *is* a pitfall in the language and it is a nasty one (especially considering that all Objective-C methods are virtual). > If you write a class which has member pointers, its your responsibility to > properly manage them. Which you can do in C++ because ctors allow you to establish an objects invariants before any other methods are called. Because Objective-C does not have ctors it is impossible to "properly manage" member data in a subclass: give me an absolutely correct non-trivial subclass and I can break it by calling one of the overriden methods in the base classes init method. --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 04 Apr 1997 22:19:59 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000404972219590001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> <5i2d0h$nvb$2@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5i2d0h$nvb$2@darla.visi.com>, David Young <dwy@ace.net> wrote: > In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > > Seems more like a nasty pitfall in the language to me: I shouldn't have to > > dig around in a classes internals to figure out if it's safe to override a > > method. The way C++ handles ctors and virtual functions may not be > > palatable to some people, but at least the language makes it impossible to > > call a method on an object that hasn't been initialized. > > As someone else posted, you can allocate space before calling [super init]. > Of course, you don't know that [super init] calls -foo, right? Well, it > might not be a bad idea to initialize *all* your variables before calling > [super init], especially if you're overriding a method to make use of one > of them. Or, you could break it up if you needed to call some methods > during the initialization. The NeXT Objective-C manual recommends calling [super init] before doing your own initialization. Am I wrong in assuming that pretty much everyone does this? > Either way, this is a hypothetical example with little bearing on > actual practice; - init generally does not call methods other than > setSomeValue type methods, which one wouldn't override for functionality > anyway. Personally, I'd prefer not to have special rules governing > special methods, and have every method behave in a standard way, rather > than have the language try to isolate me from myself. Bugs I can fix; > the language I cannot. So you object to C++ because it has a special rule outlawing polymorphism in ctors, but you like Objective-C where you can call an overriden method of a derived class that hasn't been inited? How can *anyone* prefer this? Even if this happens to work you're leaving yourself open for a real maintenance headache. --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Fri, 04 Apr 1997 22:42:26 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000404972242260001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0tqq$qcg$1@nntp2.ba.best.com> <jesjones-ya023580000304972146300001@news.halcyon.com> <5i2dki$nvb$3@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5i2dki$nvb$3@darla.visi.com>, David Young <dwy@ace.net> wrote: > In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > > So now we're back to writing our Init methods in two different ways: the > > way recommended by the NeXT Objective-C manual where you initialize the > > base class first and the second where you initialize the base class after > > doing your own initialization. > > - init methods are just methods. You're free to write the any way you > please. Not all of them would neccesarily be good code, but this is > true of any language. Init methods are not like any other method and you cannot write them however you please if you care about the quality of your code. So, what is the canonical way to write an init method? Something like this maybe? void Foo::Init() { // init my member data, but don't call any methods! // call [super init] // object is now constructed so can call methods } It seems like this might be safe iff all the derived classes follow the same protocol (which I'd guess pretty much no one does). > > However as we all know relying on the internals of a class is dangerous. > > For example, what if the base classes init method changes and now starts > > calling methods that are overriden in a derived class? All of a sudden > > we're calling methods on an uninitialized object. > > Again, the meaning of - init is "initialize your object", not > "call a shitload of methods in your class". While you can, you're > supposed to be assigning default values. > > > *This* is the opposite of > > OOP: you should be able to change the internals of a base class without > > knowing anything about derived classes. > > ... says the advocate of the language with the biggest base class problem > of all time... And why do you think I'm an advocate of C++? Because it does some things better than Objective-C? In fact I think C++ sucks, it just sucks less than any other language I've used. --Jesse
Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? Message-ID: <petrichE85MHL.nx@netcom.com> Organization: Netcom References: <330E54AC.167E@innosys.com> <5i0sgp$10l$1@darla.visi.com> <j <jesjones-ya023580000404972205300001@news.halcyon.com> Date: Sat, 5 Apr 1997 07:36:57 GMT Sender: petrich@netcom23.netcom.com "ctor"? Is that short for "constructor"? -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: cppc@objex.com (Christopher Caserio) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 05 Apr 1997 20:20:04 GMT Organization: Objex Consulting Message-ID: <3346b0b9.698848521@snews.zippo.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <5huhkd$2jo$3@news.xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit don@globalobjects.com (Don Yacktman) wrote: >David Young <dwy@ace.net> wrote: >> This is a rant. The alloc/init combination has been around since the >> beginnings of the language, long before NeXT or .next.advocacy. > >Ummm, actually NeXT, with NEXTSTEP 2.0, began the alloc/init thing. Before >then it was +new for everything. > Actually, init/alloc came from a rewrite of the Stepstone Foundation class library, coincident with the release of Stepstone's ObjC 4.0 compiler. Prior to this, the Object class in the Foundation class library provided only a "new" method. Object::new called the allocator, and subclasses first did [super new] then did local initialization. The addition of "static binding" (actually early binding, which allowed declarations like "String myString"), made it possible for objects to be allocated globally or on the stack. Because of this, and because the "+new" model was clunky and less reusable, allocation and initialization needed to be separated. Which brings me to another point. These conventions are adopted in the context of a class library, not the languge, not tradtiion or word of mouth. Objective-C does not care how you allocate, initialize, or otherwise diddle your objects. In fact, it would be possible (since classes are objects) to implement a C++ style allocation and initialization model in an ObjC class library. I doubt that the converse would be a very enjoyable exercise, even if it may be possible (I'm not sure). >I personally prefer the alloc/init way of doing things, though. It makes a >*lot* more sense, once you truly understand it. > Of course I agree. Seemed completely obvious to me... cppc
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: Simple String/Text Question Date: 6 Apr 1997 18:39:03 GMT Organization: Rockwell Collins Message-ID: <5i8qk8$ho1@castor.cca.rockwell.com> References: <5i1e1j$o8c@vixen.cso.uiuc.edu> Cc: wellman@students.uiuc.edu In <5i1e1j$o8c@vixen.cso.uiuc.edu> Dan Wellman wrote: > Many thanks for your help. It's funny how printing things out to a windowed > environment becomes a much different task than using good old printf() to a > text-based one. :) > > Thanks in advance, > > Dan > NSString's -stringWithFormat: method works just like printf with the added advantage of avoiding memory allocation issues. For pre-openstep Text objects, the following code appends printf sytle output: @implementation Text(Printf) - appendText:(const char *)aString { int e; if ((e=[self textLength])<=0) [self setText:aString]; else [[self setSel:e:e] replaceSel:aString]; [self scrollSelToVisible]; return self; } - printf:(const char *)format,... { NXStream *s; char *streambuf; int len, maxlen; va_list ap; va_start(ap, format); s=NXOpenMemory(NULL, 0, NX_WRITEONLY); NXVPrintf(s, format, ap); (void)NXPutc(s, '\0'); NXFlush(s); NXGetMemoryBuffer(s, &streambuf, &len, &maxlen); [self appendText:streambuf]; NXCloseMemory(s, NX_FREEBUFFER); va_end(ap); return 0; } - (char *)stringValue; { char *buf; buf = NXZoneMalloc([NXApp zone], [self textLength]+1); [self getSubstring:buf start:0 length:[self textLength]+1]; return buf; } - (void)setStringValue:(char *)string; { [self setText:string]; return; } @end Something similar is built into NSText.
From: Constantin Szallies <szallies@energotec.de> Newsgroups: comp.sys.next.programmer Subject: Re: Compatibility NXWriteTypes and decodeValuesOfObjCTypes Date: 6 Apr 1997 19:03:29 GMT Organization: Technet GmbH Message-ID: <5i8s21$egb3@ddfo3.technet.net> References: <5i337i$fc8$1@infosrv.rz.uni-kiel.de> ploeger@pedcard.uni-kiel.de (Andreas Ploeger) wrote: >Hi, > >I've got hundreds of files that were written using NXWriteTypes within the >'write:' method of each class. > >Can I change these classes to be subclasses of NsObject instead of Object and >read the old files using decodeValuesOfObjCTypes? As far as I know, there's no automatic solution to convert old typed streams to new "typed streams", you have to write converion methods to do this. Greetings -- # Constantin Szallies, Energotec GmbH # szallies@energotec.de # 49211-9144018
From: Juergen Albertsen <juergen.albertsen@flensburg.netsurf.de> Newsgroups: comp.sys.next.programmer Subject: Re: projectServer.exe Date: Sun, 06 Apr 1997 18:43:06 +0100 Organization: Private Message-ID: <3347E0AA.F09@flensburg.netsurf.de> References: <3343D380.12A4@ctp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: dave_coyle@ctp.com Dave Coyle wrote: > > Hi all! > > Could someone please tell me what projectServer.exe does? > > And while you're at it, tell me why it consumes 97% of my CPU, even when > ProjectBuilder is no longer running? (!!) > > thanks in advance! > > FYI I'm using OStep on NT...(if you haven't guessed that) > > Dave > > Dave_coyle@ctp.com Hi, as far as I know (and guess) the project server is responsible for such features like adding an EOModel from within the EOModeler. You certainly experienced this: When you save vour eomodeld to a directory where you project resides it asks you whether you want to add teh eomodeld to that project. In general, the project server is the coordinator between the several development tools. Jürgen
From: duboisj@gondolin.is.com (Josh DuBois) Newsgroups: comp.sys.next.programmer Subject: DPSAddFD() in OpenStep 4.x???? Date: 6 Apr 1997 22:59:01 GMT Organization: Integrity Solutions, Inc. Message-ID: <5i99rl$79d@medusa.is.com> Hey, All - I found an old post in an archive of this list posing the following question : how do you port code that uses the DPSAddFD() function from 3.3 to 4.x? The conversion documentation is insonsistant, claiming at one point that a NSPosixFileDescriptor object must be created and sent a 'monitorActivity' message, then passed to NSRunLoop's addPosixFileDescriptor: method. Elsewhere in the docs, however, it is claimed that NSPosixFileDescriptor has been replaced by NSFileHandle. Unfortunately, NSFileHandle does not seem to have an API for doing anything like 'monitorActivity' - but I can't find docs on this method so I'm not sure what it does/did anyhow. Anyone know how to handle this - where to read to find out more? Anyone from NeXT listening? Thanks a lot, Josh. (p.s.) the archived post hadn't recieved any responses.
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <jim@ergotech.com> Message-ID: <199704032009.AA05166@ergotech.com> Mime-Version: 1.0 (NeXT Mail 3.3 v118.2) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable From: Jim Redman <jim@ergotech.com> Date: Thu, 3 Apr 97 13:13:15 -0700 Subject: worryAboutPortInvalidation Has anyone seen the problem where NS 3.3's NXPort method = +worryAboutPortInvalidation consumes a huge amount of CPU time? = It seems that the thread that is created by this method runs = constantly and will consume as much CPU time as available.=20 Jim
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? (Long) Date: 5 Apr 1997 08:42:52 GMT Message-ID: <5i53ac$jb6$1@nntp2.ba.best.com> References: <330E54AC.167E@innosys.com> <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <petrichE83q7p.5LA@netcom.com> In-Reply-To: <petrichE83q7p.5LA@netcom.com> On 04/03/97, Loren Petrich wrote: > And the nice thing about classes like that is that if you put >the implementation of their methods inside the class definition, you >get automatic inlining. Thus here is an implementation of complex >numbes as a C++ class -- with automatic inlining, there ought to be >*no* function calls in the compiled version of it, making possible >superspeed. > >class Complex { >// Nothing needs to be hidden >public: > >double Re, Im; // Real and Imaginary Parts > >Complex() {Re = Im = 0;} // Blank complex number >Complex(double r) {Re = r; Im = 0;} // Real to complex >Complex(double r, double i) {Re = r; Im = i;} // Two reals to complex >// The default copy constructor and implementation of operator = >// are presumably OK here, as is the default destructor > >// Set to real >void operator = (double r) {Re = r; Im = 0;} > >Complex &operator +(Complex &z) { > Complex zres; > zres.Re = Re + z.Re; > zres.Im = Im + z.Im; > return zres; >} > >Complex &operator -(Complex &z) { > Complex zres; > zres.Re = Re - z.Re; > zres.Im = Im - z.Im; > return zres; >} > >Complex &operator -() { > Complex zres; > zres.Re = - Re; > zres.Im = - Im; > return zres; >} Correct me if I'm wrong, but won't the above 3 routines return references to things on the stack which will be invalid after the function returns? Gcc gives a warning for the above code. >Complex &operator +=(Complex &z) { > Re += z.Re; > Im += z.Im; > return *this; >} > >Complex &operator -=(Complex &z) { > Re -= z.Re; > Im -= z.Im; > return *this; >} > >Complex &operator *(Complex &z) { > Complex zres; > zres.Re = Re*z.Re - Im*z.Im; > zres.Im = Im*z.Re + Re*z.Im; > return zres; >} And again.... >Complex &operator /(Complex &z) { > Complex zres; > // Trick to avoid possible overflows > double denom; > if (fabs(z.Re) >= fabs(z.Im)) { > denom = z.Re + (z.Im*z.Im)/z.Re; > zres.Re = (Re + Im*z.Im/z.Re)/denom; > zres.Im = (Im - Re*z.Im/z.Re)/denom; > } else { > denom = z.Im + (z.Re*z.Re)/z.Im; > zres.Re = (Im + Re*z.Re/z.Im)/denom; > zres.Im = (-Re + Im*z.Re/z.Im)/denom; > } > return zres; >} One more time.... >}; > >I'm not adding anything on complex versions of various functions, but >that ought to be easy: > >Complex &sin(Complex &z) { > Complex zres; > zres.Re = sin(z.Re)*cosh(z.Im); > zres.Im = cos(z.Re)*sinh(z.Im); > return zres; >} > >Complex &exp(Complex &z) { > Complex zres; > zres.Re = exp(z.Re)*cos(z.Im); > zres.Im = exp(z.Re)*sin(z.Im); > return zres; >} > Twice more even. To fix that code, you could easily just remove the & on the result types. That will of course imply extra copies for any simple operations that most compilers won't optimize away because they can't make assumptions about the semantics of the operations or how they are going to be used. I've been spending the past week messing around with operator overloading, trying various different ways of declaring operators, etc. Frankly, I'm not that impressed with the code I've seen generated. It seems like no matter what I do, I can't eliminate extra code. Here's my current test-bed code: --------- #include <stdio.h> typedef struct { int x; int y; int z; } Vec; inline Vec *vec3muladd(Vec *a, Vec *b, Vec *c, Vec *result) { result->x = a->x * b->x + c->x; result->y = a->y * b->y + c->y; result->z = a->z * b->z + c->z; return result; } class Vector { int x; int y; int z; public: Vector() { x = y = z = 0; } Vector(int a, int b, int c) { x = a; y = b; z = c; } Vector(Vector &vec) { x = vec.x; y = vec.y; z = vec.z; } Vector operator+(const Vector &a) { Vector res; res.x = x + a.x; res.y = y + a.y; res.z = z + a.z; return res; } Vector operator*(const Vector &a) { Vector res; res.x = x * a.x; res.y = y * a.y; res.z = z * a.z; return res; } Vector &operator+=(const Vector &a) { x += a.x; y += a.y; z += a.z; return *this; } Vector operator=(const Vector &vec) { x = vec.x; y = vec.y; z = vec.z; return *this; } friend Vector operator*(const Vector &a, const Vector &b) { return Vector(a.x * b.x, a.y * b.y, a.z * b.z); } friend Vector operator+(const Vector &a, const Vector &b) { return Vector(a.x + b.x, a.y + b.y, a.z + b.z); } }; void doit(const Vector &a, const Vector &b, const Vector &c, Vector &d); void doit2(Vec *a, Vec *b, Vec *c, Vec *d); int main(int argc, char *argv) { Vector a(1,2,3), b(4,5,6), c(7,8,9), d; Vec av = {1, 2, 3}, bv = {4, 5, 6}, cv = {7, 8, 9}, dv; doit(a,b,c,d); doit2(&av,&bv,&cv,&dv); return 0; } void doit(const Vector &a, const Vector &b, const Vector &c, Vector &d) { d = a + b * c; } void doit2(Vec *a, Vec *b, Vec *c, Vec *d) { vec3muladd(b,c,a,d); } -------------- It is interesting to compare the assembly output of the compiler for the two test functions. This code was generated using gcc 2.5.8, with -O2 and -fomit-frame pointer. The code was generated for m68k, mainly because the code is easy to follow: First, doit: addw #-40,sp // allocate some stack space moveml #0x3030,sp@- // save registers movel sp@(60),a3 // a3 = &a movel sp@(64),a1 // a1 = &b movel sp@(68),a0 // a0 = &c movel sp@(72),a2 // a2 = &d movel a1@(4),d0 // d0 = b.y mulsl a0@(4),d0 // d0 = b.y * c.y movel a1@(8),d1 // d1 = b.z mulsl a0@(8),d1 // d1 = b.z * c.z movel a1@,d3 // d3 = b.x mulsl a0@,d3 // d3 = b.x * c.x movel d3,sp@(16) // temp.x = b.x movel d0,sp@(20) // temp.y = b.y movel d1,sp@(24) // temp.z = b.z movel a3@,d2 // d2 = a.x addl sp@(16),d2 // d2 = a.x + temp.x movel a3@(4),d0 // d0 = a.y addl sp@(20),d0 // d0 = a.y + temp.y movel a3@(8),d1 // d1 = a.z addl sp@(24),d1 // d1 = a.z + temp.z movel d2,sp@(28) // temp2.x = d2 movel d0,sp@(32) // temp2.y = d0 movel d1,sp@(36) // temp2.z = d1 movel d2,a2@ // temp3.x = d2 (temp2.x) movel sp@(32),a2@(4) // temp3.y = temp2.y movel sp@(36),a2@(8) // temp3.z = temp3.z movel a2@,sp@(40) // d.x = temp3.x movel a2@(4),sp@(44) // d.y = temp3.y movel a2@(8),sp@(48) // d.z = temp3.z moveml sp@+,#0xc0c // restore registers addw #40,sp // restore stack rts // return Next, doit2: .globl _doit2__FP3VecN30 _doit2__FP3VecN30: movel a3,sp@- // Save a3 movel a2,sp@- // Save a2 movel sp@(12),a3 // a3 = pointer to a movel sp@(16),a2 // a2 = pointer to b movel sp@(20),a0 // a0 = pointer to c movel sp@(24),a1 // a1 = pointer to d movel a2@,d0 // d0 = b->x mulsl a0@,d0 // d0 = b->x * c->x addl a3@,d0 // d0 = a->x + b->x * c->x movel d0,a1@ // d->x = d0 movel a2@(4),d0 // d0 = b->y mulsl a0@(4),d0 // d0 = b->y * c->y addl a3@(4),d0 // d0 = a->y + b->y * c->y movel d0,a1@(4) // d->y = d0 movel a2@(8),d0 // d0 = b->y mulsl a0@(8),d0 // d0 = b->y * c-y addl a3@(8),d0 // d0 = a->y + b->y * c->y movel d0,a1@(8) // d->z = d0 movel sp@+,a2 // restore a2 movel sp@+,a3 // restore a3 rts In my opinion, the "C" code generated the most efficient and desired result, with no extra copying. The C++ code had many more copies than necessary to complete the operation. It seems (at least with this example) that in order to get "C" performance, you have to resort to "C" code, because doing things the 'efficient' way in C++ isn't quite so effecient. Is the C++ code really THAT much slower on modern CPUS? Maybe not. But it will add up. Now, I will be happy to eat my words if someone can show me a) how to write the C++ vector routines that use operator overloading to generate the 'efficient' code, or b) someone can show me a compiler that is smart enough to 'figure it out' on it's own somehow. I don't have the time to try it right now, but I wonder or not whether it's possible to achieve the full potential of FPUs like those in a PowerPC 604e using C++, such as what could be done with the multiply-accumulate instructions that it has. Could a C++ compiler optimize the combination of the multiply and add operations above (assuming I used floats instead of ints). Somehow I doubt it, which means you will have to resort back to writing a C funnction that a compiler can optimize easily. Actually, I was curious, so I changed the code to use floats and compiled it with gcc 2.6.3 for PowerPC. The generated assembly code was: doit2: lfs 0,0(4) lfs 12,0(5) lfs 13,0(3) fmadds 0,0,12,13 stfs 0,0(6) lfs 0,4(4) lfs 12,4(5) lfs 13,4(3) fmadds 0,0,12,13 stfs 0,4(6) lfs 0,8(4) lfs 12,8(5) lfs 13,8(3) fmadds 0,0,12,13 stfs 0,8(6) blr Are there any C++ compilers that will generate code like that using operator overloading? If not, what's the damned point? I don't think pretty syntax is a worthy tradeoff for inefficient code. -Ken
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? (Long) Date: 7 Apr 1997 00:43:35 GMT Message-ID: <5i9fvn$bvb$1@nntp2.ba.best.com> References: <5eo65r$53l@lal.interserv.com> <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu. <19970405150443877417@dialup100-3-16.swipnet.se> <petrichE87Ew6.Du@netcom.com> In-Reply-To: <petrichE87Ew6.Du@netcom.com> On 04/05/97, Loren Petrich wrote: >In article <19970405150443877417@dialup100-3-16.swipnet.se>, >Lars Farm <lars.farm@ite.mh.se> wrote: > >>> Now, I will be happy to eat my words if someone can show me a) how to >>> write the C++ vector routines that use operator overloading to generate >>> the 'efficient' code, or b) someone can show me a compiler that is >>> smart enough to 'figure it out' on it's own somehow. > >>You satisfied case (a) yourself and Apple's MrC[pp] deals with case (b). >>See below. > > I wonder if it is possible to extract assembly-language >listings from Metrowerks CodeWarrior; it may be some option somewhere. Lars was kind enough to send me the output of the floating point code, which is really the interesting case. It was less inspiring, and pretty much the same as every other C++ compiler I have tried in the past few days. I've tried the code on SGI's C++ compiler (CC), GCC 2.7.2.2, Watcom 10.5 C++ and MSVC++ 4.2. They all generated similarly inefficient code. Thus far only one compiler (MrC) has generated C++ code that was equal to the C code in performance. That's one out of six. So while it seems that it's _possible_ to achive high performance with operator overloading and inlining, it doesn't seem to happen that often. :( Perhaps if C++ wasn't so complicated from a compiler standpoint, compiler vendors could spend more time actually working on code optimization instead of implementing the latest C++ feature of the month. >>> Are there any C++ compilers that will generate code like that using >>> operator overloading? If not, what's the damned point? I don't think >>> pretty syntax is a worthy tradeoff for inefficient code. > > Actually, "pretty syntax" helps in making a program readable, >because code that is write-only is also difficult to debug. Perhaps, but I have seen plenty of write-only C++ code, and operator overloading would not have helped any. -Ken
From: jkeenan@next.com (Joe Keenan) Newsgroups: comp.sys.next.programmer Subject: Re: DPSAddFD() in OpenStep 4.x???? Date: 7 Apr 1997 00:52:34 GMT Organization: NeXT Software, Inc. Message-ID: <5i9ggi$of6@news.next.com> References: <5i99rl$79d@medusa.is.com> In article <5i99rl$79d@medusa.is.com> duboisj@gondolin.is.com (Josh DuBois) writes: > Unfortunately, NSFileHandle does not seem to have an API for doing > anything like 'monitorActivity' - but I can't find docs on this method so > I'm not sure what it does/did anyhow. I think you want to open a file handle for your data source, then send the NSFileHandle object a readInBackgroundAndNotify (or variant) message. The object that's interested in "monitoring" the file handle registers to get NSFileHandleReadCompletionNotification messages from the default NotificationCenter. Or something like that. I've never actually done this. joe
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 5 Apr 1997 09:19:29 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5i55f1$4at@concorde.ctp.com> References: <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> In article <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> markeaton_@_mindspring_._com (Mark Eaton) writes: > My intent was quite the opposite. Some people are claiming that making > trivial data types like Point or Rect classes was somehow inefficient. In > fact, making them a class is no less efficient than making them a struct, > in C++. In other languages, like ObjC, they may be right. Here a comment that has nothing to do with the C-- vs. ObjC flame war. Making trivial data types classes is a wrong thing (tm) because leads to a Object lasagne, and also someone (the developer) has to learn them. To learn more on this subject refer back to the glorious history of Taligent. It's one of my best lessons when I'm teaching OO ;-) Flame and enjoy -- georg -- -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 5 Apr 1997 09:37:13 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5i56g9$52u@concorde.ctp.com> References: <860182383.24911@dejanews.com> In article <860182383.24911@dejanews.com> curranj@mskcc.org writes: > In article > The point of all this, is the common (but wrong) belief here that ObjC > is some quantuum leap over C++ (helping Apple/Next leap to the forefront > on computers). It's isn't and won't. This is a religion, not an argument. All the ObjC supporters and some of the C-- ones are just arguing that one can write good and bad source in both languages. Taking into consideration the strong relationship between ObjC and Smalltalk (a pure OO language) and the horrible complexity of C--, its is just easier to write good source in ObjC. But of course there are good C-- examples .... my favorite one is ET++ - the framework that initiated the design patterns issue. BTW, the first C-- book I read a decade earlier was claiming that C-- is a better C and not that it is an OO language, but some people obviously tend to forget this minor fact. Continue flaming -- georg -- -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 5 Apr 1997 09:53:10 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5i57e6$596@concorde.ctp.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> In article <jesjones-ya023580000404972242260001@news.halcyon.com> jesjones@halcyon.com (Jesse Jones) writes: > In article <5i2dki$nvb$3@darla.visi.com>, David Young <dwy@ace.net> wrote: > void Foo::Init() > { > // init my member data, but don't call any methods! > // call [super init] > // object is now constructed so can call methods > } > > It seems like this might be safe iff all the derived classes follow the > same protocol (which I'd guess pretty much no one does). Obviously you should at least read the manuals .... - init { [super init]; // Do what you like return self; } Everyone does it, and there is no way to make mistakes. Basta! -- georg -- -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 5 Apr 1997 09:47:55 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5i574b$592@concorde.ctp.com> References: <jesjones-ya023580000404972205300001@news.halcyon.com> In article <jesjones-ya023580000404972205300001@news.halcyon.com> jesjones@halcyon.com (Jesse Jones) writes: > Getting called when you don't expect it is one thing. Getting called when > none of the subclasses member data is initialized is altogether different. > This *is* a pitfall in the language and it is a nasty one (especially > considering that all Objective-C methods are virtual). During the last 7 years I produced about half a million lines of ObjC code, and I reviewed at least another 2 million lines. During this time I've seen not a single mistake of calling alloc and init (or in a very early days - new). But I've seen 1000s of mistakes of using/implementing all these horrible constructors and destructors in C--. We obviously have very different definitions on what a pitfall means.... -- georg -- -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <jim@ergotech.com> Message-ID: <1.5.4.32.19970406040626.008f4b44@swcp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Sat, 05 Apr 1997 20:06:26 -0700 From: Jim Redman <jim@ergotech.com> Subject: Re: Objective C? From: petrich@netcom.com >class Complex { > .... rest of class delete Finally an example worthy of a C++ implementation, and a fine piece of code to include in any Objective-C program. Why does this discussion continue? If one or other language was superior in all situations then the choice would be clear. By arbitrarily discounting one or the other you deny the advantages of it. The GNU (and therefore NeXT's) implemention of Objective-C does a fairly good job of compiling C++ and the two can be intermixed fairly easily. Now if the discussion were to include Visual Basic ..... Jim
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <luomat@peak.org> Message-ID: <199704051545.KAA07765@kira.peak.org> Content-Type: text/plain Mime-Version: 1.0 (NeXT Mail 3.3 v118.2) From: "Timothy J. Luoma" <luomat@peak.org> Date: Sat, 5 Apr 97 10:45:22 -0500 Subject: Help needed to add functionality to 'PPPMeter' Organization: Princeton Theological Seminary Greetings one and all! PPPMeter is a simple app that controls bringing the PPP link up and down. It also has a nice little timer that I would like to enhance, but have no idea how to do so. Right now the timer is controlled by a mach-o executable called "pppstatus" (not to be confused with "pppstats"). pppstatus takes 1 of 2 arguments: 1 = start the timer from 0:0:0 (hours/minutes/seconds) 0 = stop the timer (but do not reset the clock) I would like very much to have another argument such as "2" which would start the timer from the time that it stopped. As it stands now, 'pppstatus' only keeps track of the time for the current session. I would like for it to keep track of multiple sessions (note: there is a way to do this with the 'meter' but there is no way to reset that from the commandline, and I am trying to make this process automatic with the ip-up/ip-down scripts. If there are any programmer-types out there would would be willing to take a look at the app, it can be found here: ftp://ftp.next.peak.org/pub/next/apps/internet/ppp/PPPMeter.v1.5.NIHS.bs.tar.gz and here ftp://peanuts.leo.org/pub/next/Unix/communication/PPPMeter.1.5.s.tar.gz Thanks for your time TjL -- TjL <luomat@peak.org> http://www.peak.org/~luomat/next/ "Give a man a piece of working code and you solve his problem. Teach a man to write code and you give him a lifetime of new problems" -- me
From: nouser@nohost.nodomain (Thomas) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 06 Apr 1997 20:27:35 -0700 Organization: home Message-ID: <tz867xzecm0.fsf@aimnet.com> References: <330E54AC.167E@innosys.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <petrichE83q7p.5LA@netcom.com> <5i378c$lhc@lynx.dac.neu.edu> In-reply-to: mkagalen@lynx.dac.neu.edu's message of 4 Apr 1997 10:37:48 -0500 Fcc: /u6/users/tmb/mail/x-nout In article <5i378c$lhc@lynx.dac.neu.edu> mkagalen@lynx.dac.neu.edu (Michael Kagalenko) writes: Umm, just to keep things in perspective - C++ is NOT good language for numerical work (well, ObjC may be no better, but you brought numerical stuff up, so...). See: S.W.Haney "Is C++ Fast Enough for Scientific Computing ?" Computers in Physics, vol.8, no.6, nov/dec 1994 On complex and matrix operations C++ code is horribly slow compared with Fortran and C. That's nonsense. C++ imposes no additional overhead on existing C code, so whatever you implement in C, you can implement in C++ in exactly the same way, and you can still take advantage of many syntactic conveniences C++ offers for numerical code. Fortran 77 and 90 give you a little more performance by making unsafe assumptions; you can enable similar optimizations in many C/C++ compilers if you want to; however, you are probably better off using optimized standardized inner loops like BLAS anyway. Thomas.
From: croehrig@cs.ubc.ca (Chris Roehrig) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Remote kernel debugging broken under 3.3? Date: 3 Apr 1997 00:54:56 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <5huv50$1mr$1@nnrp.cs.ubc.ca> Is remote kernel debugging broken under NS3.3? I've read all the docs, called NeXT tech. support, and they claim it *should* work, but it doesn't. I'm doing: 1. make sure master can do a "ping slave", and that arp -a lists slave's ethernet address. 2. On master: cd /; gdb mach 3. On slave: bring up NEXTSTEP minimonitor (L-alt, R-alt, numlock) 4. On master: kattach slave I end up getting console messages: KDB: Can't connect to target. I isolated slave and master from my LAN, made sure all network operations worked, and tried it again. This time I got a gdb error message: Couldn't find kernel kdb port, gdb_slave which from the gdb source code fails earlier (during netname lookups) instead of during execution of /usr/lib/kdb itself. Other info: No other gdb sessions are running. The machines are identical ASUS 430VX P133 boxes with Matrox Milleniums, and 3Com EtherLinkIII in ISA mode. The latest NeXTanswers drivers are used for all devices. I've installed the 3.3Developer and User patches (which contain an updated gdb). Any suggestions? -- Chris Roehrig croehrig@House.ORG Neuroscience and Computer Science at University of British Columbia, Vancouver http://www.House.ORG/chris http://www.sns.cs.ubc.ca/chris
From: jq@papoose.quick.com (James E. Quick) Newsgroups: comp.sys.next.programmer Subject: Re: Posix support post 4.0 Date: 5 Apr 1997 08:20:43 -0500 Organization: Quick and Associates Message-ID: <5i5jjb$bhp@papoose.quick.com> References: <5i3bv5$csh$1@netty.york.ac.uk> In article <5i3bv5$csh$1@netty.york.ac.uk>, -bat. <pete@ohm.york.ac.uk> wrote: >Hmmm, having noticed that things were starting to get removed with the last >few releases of NS - notably the posix support between 3.3 and 4.0 I was >wondering if they have started to creep back in in 4.1 or 4.2. With the >advent of Rhapsody surely the OS should be made more up-to-date and not less ? >I know the posix support was a bit grim - but it was better than nothing >and I find it frustrating to have to still compile new code under 3.3 >rather than 4.0 due to this. #ifdef RUMOR_MODE I have not heard this confirmed from any official source so take it for what its worth. I've heard that Rhapsody is likely to be a fully 4.4 BSD compliant implementation. If that is true, then we won't need any separate posix support. The 4.4 terminal handling is already POSIX compliant as are most other libraries and utilities. #endif RUMOR_MODE As far as the 4.x compatibility in 4.0 and 4.1 goes, no. They have not improved POSIX support. Since 4.2 is primarily a bug fix release 4.2 will not focus much on that either. I would expect that by year end, the OpenStep Mach code base will be using the Yellow Box code tree from Rhapsody anyway, the kernel and base OS environment will thus be better. -- ___ ___ | James E. Quick jq@quick.com / / / | Quick & Associates NeXTMail O.K. \_/ (_\/ | Apple, we know the song's not written yet, ) | but could you at least hum a few more bars?
From: pete@ohm.york.ac.uk (-bat.) Newsgroups: comp.sys.next.programmer Subject: Re: Posix support post 4.0 Date: 5 Apr 1997 14:10:48 GMT Organization: The University of York, UK Sender: pcf1@nicecuppa.ohm.york.ac.uk Message-ID: <5i5mh8$33m$1@netty.york.ac.uk> References: <5i5jjb$bhp@papoose.quick.com> jq@papoose.quick.com (James E. Quick) writes: > I've heard that Rhapsody is likely to be a fully 4.4 BSD compliant > implementation. If that is true, then we won't need any separate > posix support. The 4.4 terminal handling is already POSIX compliant > as are most other libraries and utilities. Now that would be nice... assuming we get Rhapsody on Intel. > release 4.2 will not focus much on that either. I would expect > that by year end, the OpenStep Mach code base will be using the > Yellow Box code tree from Rhapsody anyway, the kernel and base OS > environment will thus be better. Well, I shall look forward to it - assuming that I'm still using OpenStep by the end of the year ! It's getting harder to hang onto - theres only 2 of us left here and my colleague would much rather move to inferno development. sigh... -bat.
From: Alex Blakemore <alex@genoa.com> Newsgroups: comp.sys.next.programmer Subject: Re: Compatibility NXWriteTypes and decodeValuesOfObjCTypes Date: 6 Apr 1997 22:25:58 GMT Organization: Genoa Software Systems Message-ID: <5i97tm$eo@saturn.genoa.com> References: <5i337i$fc8$1@infosrv.rz.uni-kiel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: ploeger@pedcard.uni-kiel.de In <5i337i$fc8$1@infosrv.rz.uni-kiel.de> Andreas Ploeger wrote: > I've got hundreds of files that were written using NXWriteTypes within the > 'write:' method of each class. > Can I change these classes to be subclasses of NsObject instead of Object and > read the old files using decodeValuesOfObjCTypes? Yes -- Alex Blakemore alex@genoa.com NeXT, MIME and ASCII mail accepted
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 5 Apr 1997 18:07:47 GMT Organization: ace dot net internet technologies Message-ID: <5i64dj$ii4$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> <5i2d0h$nvb$2@darla.visi.com> <jesjones-ya023580000404972219590001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > The NeXT Objective-C manual recommends calling [super init] before doing > your own initialization. Am I wrong in assuming that pretty much everyone > does this? You're not wrong. Pretty much everyone does this. However, if you're planning on carelessly using your pointers throughout the object and in methods you override, maybe you'd want to allocate space first and call [super init] second. Technically, you can call [super init] pretty much anywhere. It's up to the programmer to decide when it's appropriate. Most of the time, the appropriate time is the first step in - init, since the rest of your init code might need to call some accessor metthods. > So you object to C++ because it has a special rule outlawing polymorphism > in ctors, but you like Objective-C where you can call an overriden method > of a derived class that hasn't been inited? How can *anyone* prefer this? > Even if this happens to work you're leaving yourself open for a real > maintenance headache. If the difference were that simple, I probably wouldn't mind. I can't stand constructors, but I can tolerate Java. It's the lack of dynamic binding that really makes me vomit. It's the virtual/nonvirtual method concept that makes me ill. It's the half-assed dynamic typing and introspection support that makes me run for the toilet. The reason you're going insane about this is because you're trying to program in Objective-C using C++ concepts. It doesn't model well for the same reasons that I can't program in C++ and use concepts of dynamic binding. To make assumptions about pointers in an overridden method is poor programming practice, plain and simple. I suppose you're arguing that the language a programmer programs in should be more restrictive in order to keep the programmer from making mistakes. This is the same issue as the static vs. dynamic typing argument, and somehow I think neither side will ever be swayed to the other. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 5 Apr 1997 18:25:26 GMT Organization: ace dot net internet technologies Message-ID: <5i65em$ii4$2@darla.visi.com> References: <330E54AC.167E@innosys.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0tqq$qcg$1@nntp2.ba.best.com> <jesjones-ya023580000304972146300001@news.halcyon.com> <5i2dki$nvb$3@darla.visi.com> <jesjones-ya023580000404972242260001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > Init methods are not like any other method and you cannot write them > however you please if you care about the quality of your code. So, what is > the canonical way to write an init method? Something like this maybe? [snip] This argument is stale. To write your example is a bug. Objective-C doesn't try to artificially protect you from them. C++ makes a stab at it with a sacrifice in flexibility. > And why do you think I'm an advocate of C++? Because it does some things > better than Objective-C? In fact I think C++ sucks, it just sucks less than > any other language I've used. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: dashlangan@geocities.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: This Y2K Solution w/o Testing is Better Than Nothing Date: 7 Apr 1997 12:50:37 +0200 Organization: Posting Service Message-ID: <199704071050.MAA09633@basement.replay.com> The "Open and Shut Window Technique" Y2K solution is so simple that if you are really pressed for time, you can just insert this windowing technique correction code where needed, do a batch compilation, and then move all your load modules right into production. After all, with time constraints and considering the state of affairs in most installations, you better not waste your time with testing. The "Open and Shut Window Technique" without testing is very much recommended over no modifications at all. (Yeah, I know that I am reversing my prior stance, but hey, whadda ya gonna do?) See url: http://www.geocities.com/ResearchTriangle/3462/ for the "Open and Shut Window Technique." Dash Langan -- Please note my new email address, dashlangan@geocities.com
From: apuleius@ix.netcom.com (William Grosso) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Sat, 05 Apr 1997 18:50:32 GMT Organization: Netcom Message-ID: <33469e14.4329205@nntp.ix.netcom.com> References: <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <5i55f1$4at@concorde.ctp.com> On 5 Apr 1997 09:19:29 GMT, "Georg Tuparev" <gtupar@ctp.com> wrote: > >Making trivial data types classes is a wrong thing (tm) because leads to a Object >lasagne, and also someone (the developer) has to learn them. To learn more on this >subject refer back to the glorious history of Taligent. It's one of my best lessons >when I'm teaching OO ;-) > Depends. I've worked on projects where we had a whole "variable" class hierachy (e.g. FloatVariable and IntegerVariable inherited from NumberVariable). Why ? To enable publish subscribe on key data values (the variables had behavior), to make persistence simpler, to provide easy hooks for validation, and to allow for "undefined" to be a value (can't do that with an ordinary float-- every value is a number). Maybe we were wrong to do what we did. But somehow, Taligent doesn't seem like all that potent a refutation. Cheers, Andy
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Sat, 5 Apr 1997 10:42:57 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <gnFbA1q00iV941otl=@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darl <jesjones-ya023580000404972205300001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000404972205300001@news.halcyon.com> Excerpts from netnews.comp.sys.next.programmer: 4-Apr-97 Re: Objective C? by Jesse Jones@halcyon.com >> If you override a virtual method, you have to deal with the fact that it >> may get called at times when you don't expect it. > > Getting called when you don't expect it is one thing. Getting called when > none of the subclasses member data is initialized is altogether different. > This *is* a pitfall in the language and it is a nasty one (especially > considering that all Objective-C methods are virtual). It's pretty simple. If you override method -foo, you are taking responsibility that your new implementation still works whenever one of your superclasses calls foo. I agree that you should not have to change any of your superclasses; I agree that you should not especially have to deal with anything except the data "at your level" when writing -foo (unless you want to), before calling [super foo] to invoke the superclasses implementation. Therefore, if the superclass -init calls foo, you have the responsibility to ensure that the "at your level" data and invariants your classes -foo method depends on are set up before you call [super init] in your -init implementation. >> If you write a class which has member pointers, its your responsibility to >> properly manage them. > > Which you can do in C++ because ctors allow you to establish an objects > invariants before any other methods are called. Because Objective-C does > not have ctors it is impossible to "properly manage" member data in a > subclass: give me an absolutely correct non-trivial subclass and I can > break it by calling one of the overriden methods in the base classes init > method. So what? Any fool can write code which breaks. Trying to demonstrate that Obj-C is flawed from the standpoint of a OO language requires substantially more than that. The way that objects are allocated and initialized is implemented within Obj-C uses normal method invocation rather than being explicitly mandated by the language the way it is in C++. This means that you have more flexibility to work with if you want to take advantage of it. Normally, people don't call other methods in the implementation of -init, but Obj-C lets you do so if you wish. You also can write subclasses where you override the implementation of a method called from your superclasses -init. This means your class can break if you fail to write your overridden method correctly. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy Subject: Re: Objective C? Date: Sat, 5 Apr 1997 11:15:38 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <EnFbeem00iV9M1oucF@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> In-Reply-To: <jesjones-ya023580000404972219590001@news.halcyon.com> Excerpts from netnews.comp.sys.next.programmer: 4-Apr-97 Re: Objective C? by Jesse Jones@halcyon.com > The NeXT Objective-C manual recommends calling [super init] before doing > your own initialization. Am I wrong in assuming that pretty much everyone > does this? Nope. That's what pretty much everyone does. However, in the hypothetical situation where you override a method called from a super's -init, you will need to initialize whatever local variables are used in the overridden implementation before calling [super init] within the local -init. > > Either way, this is a hypothetical example with little bearing on > > actual practice; - init generally does not call methods other than > > setSomeValue type methods, which one wouldn't override for functionality > > anyway. Personally, I'd prefer not to have special rules governing > > special methods, and have every method behave in a standard way, rather > > than have the language try to isolate me from myself. Bugs I can fix; > > the language I cannot. > > So you object to C++ because it has a special rule outlawing polymorphism > in ctors, but you like Objective-C where you can call an overriden method > of a derived class that hasn't been inited? That's right. > How can *anyone* prefer this? Because the hypothetical situation that you're making such a big deal about (almost) never happens in real-world code. People don't call methods which might be overridden within the implementation of -init-- see below about "hidden" methods. And if it did happen, it would probably be very obvious what was going on-- doing a 'bt' in gdb and seeing -foo crashed after being called from a super's -init. It's possible to fix very easily within your class without changing the implementation of any of the superclasses. > Even if this happens to work you're leaving yourself open for a real > maintenance headache. This is complete and unadulterated nonsense. This issue has had _zero_ impact upon any real-world project that I'm familiar with. And I've been developing products using Obj-C for about 5 years now, including a software debugging and error handling tool called CrashCatcher which many Obj-C developers have used-- I'm thoroughly familiar with the types of errors that developers make with Obj-C. Off-hand, I can't recall even a single instance where this problem occurred. You are aware that you can not publish the interface for a particular method? One convention I'm familiar with is to give such a "hidden" method a name which starts with "_" to move it out of the standard method namespace. That's what I do if I want to call a method within -init. Anyone who overrides my private and "hidden" method is taking it upon themselves to figure out how to do so without breaking anything. (*) -Chuck -------------- (*) As can be seen by anyone who plays around with class-dump and CC 2.x-- they'd discover a couple of unpublished methods which begin with "_".... Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 5 Apr 1997 01:16:55 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5i4967$b4b@usenet.rpi.edu> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> <5hrpo0$3ek$1@nntp2.ba.best.com> <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net> <860182383.24911@dejanews.com> curranj@mskcc.org wrote: > The point of all this, is the common (but wrong) belief here that > ObjC is some quantuum leap over C++ (helping Apple/Next leap to > the forefront on computers). It's isn't and won't. I would not say that ObjC is a quantum leap over C++. I would just say ObjC sucks less. Any step forward is worth taking, even if it isn't some giant leap. And, just out of curiousity, has anyone gotten anything useful out of this (yet another) thread on C++ vs <Other> comparisons? Does anyone think that posting 15-line examples of anything in either language is going to prove anything to anyone? Anyone advocating one of these languages has probably written a few thousand lines in the language of their choice. It's pretty much irrelevent how well the language works for 15-line programs, it's how it works in the real-world of large projects. Unfortunately it's painful enough to write one large project, few people get around to writing the same kind of large project in two different languages. And if they do, no one will believe the results they come up with anyway. What a pathetic industry we're in, where we can't even figure out what a good language is. --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? (Long) Date: 5 Apr 1997 20:10:24 GMT Message-ID: <5i6bjg$kb1$1@nntp2.ba.best.com> In-Reply-To: <19970405150443877417@dialup100-3-16.swipnet.se> On 04/04/97, Lars Farm wrote: >Kenneth C. Dyke <kcd@babylon5.jumpgate.com> wrote: > >> Here's my current test-bed code: > > [ ... ] > >> It is interesting to compare the assembly output of the compiler for >> the two test functions. > >Indeed! > >> Now, I will be happy to eat my words if someone can show me a) how >> to write the C++ vector routines that use operator overloading to >> generate the 'efficient' code, or b) someone can show me a compiler >> that is smart enough to 'figure it out' on it's own somehow. > >You satisfied case (a) yourself and Apple's MrC[pp] deals with case >(b). See below. [optimal PPC code snipped] Well I'll be damned. Impressive. All the more reason to get a PowerPC box later this year. Now if only Apple or Motorola will add Objective C to that compiler too... (ducks) I'm grabbing the latest gcc (2.7.2.2) to see if it does any better. You wouldn't happen to have Codewarrior for PPC and could send me the code it generates would you? It seems as if that's a fairly reasonable test case for code generation, at least on PowerPC systems. On systems without multiply-accumulate instructions it may not matter quite as much. -Ken
From: mgiammarco@racine.ra.it Newsgroups: comp.sys.next.programmer Subject: interrupts in a display driver Date: 5 Apr 1997 21:30:35 GMT Organization: Cineca Message-ID: <5i6g9r$md@sirio.cineca.it> Hello, in a display driver how can I call the bios of an svga vesa compliant? Can I use the int instruction to call a software interrupt? Please reply to giammarc@cs.unibo.it -- Mario Giammarco | Tel/FAX +39-545-22965 Via Calamandrei,5 | giammarc@cs.unibo.it 48022 Lugo (RA) -- ITALY | rac0043@racine.ravenna.it
From: ians@cam-ani.co.uk (Ian Stephenson) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Mon, 7 Apr 1997 15:27:26 GMT Organization: Cambridge Animation Systems Ltd Sender: news@cam-ani.co.uk Message-ID: <E89xLr.F6K@cam-ani.co.uk> References: <5i4967$b4b@usenet.rpi.edu> In article <5i4967$b4b@usenet.rpi.edu> Garance A Drosehn <gad@eclipse.its.rpi.edu> writes: > I would not say that ObjC is a quantum leap over C++. I'd sugguest that a quantum leap is EXACTLY the right term to use for ObjC, at least in relation to C if not C++. This is unusual because the term is rarely used correctly. A quantum leap is an almost infinitesimally small movement - the smallest possible move infact. A move so small that it cannot be broken down any further. What makes this special is that because it cannot be broken down the effect is a qualatitive change rather than a quantative one. > I would just say ObjC sucks less. Any step forward is > worth taking, even if it isn't some giant leap. You clearly imply that a quantum leap is a giant one, which is not true. Objective C changes C by an almost trivial ammount - a change so small that it is triflingly simple to explain, and for programmers to adopt. That change however fundamentally changes the nature of the language. Quantativly the change is small, Qualativly the change is large. In comparson C++ changes much and achives little. Quantativly the change is large, Qualativly the change is small. $an P.S. I do not want to get into a flame war about the exact behaviour of sub-atomic particles. There are generalities in the above I do not want to discuss in detail! $
From: "Georg Tuparev" <gtupar@ctp.com> Newsgroups: comp.sys.next.programmer Subject: Converting ObjC headers to C++ headers Date: 7 Apr 1997 16:38:38 GMT Organization: Cambridge Technology Partners, Inc. Message-ID: <5ib7ue$34g@concorde.ctp.com> Hey Folks! For all who know me -- I'm not getting crazy and I'm still with ObjC ;-) I'm using Select OMT as an OO design / Documentation tool. To include the Foundation and AppKit classes, I need to convert the headers to C++ headers (the only language that currently is properly supported by Select). Does anyone know a tool that does this job? (I will promise to delete them as far as I port them to Select ;-) Thanks -- georg -- -- ------- /\/\ Georg Tuparev <georg_tuparev@ctp.com> / /_ \ Cambridge Technology Partners \ / / Apollo House, Apollolaan 15 \/\/ 1077 AB Amsterdam, The Netherlands Tel: +31(20)575-0492 Fax: +31(20)575-0500 WWW: http://www.ctp.com
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.misc From: jurgen@oic.de (Juergen Moellenhoff) Subject: Q:Hang while looking up connection after fork (PDO 4.1/Solaris and EOF 2.0) Message-ID: <E8A1Dx.on@oic.de> Sender: news@oic.de Organization: OIC, Bochum, Germany Date: Mon, 7 Apr 1997 16:49:09 GMT Hi, I found this in the release notes of PDO 4.1/Solaris: ----- Reference: 68675 Problem: Hang while looking up connection after fork Description: If you have a DO client which tries to look up a connection using NSConnection's connectionWithRegisteredName:host:, then forks a process, and then either exits or tries to look up the connection again, the client will hang. If the fork is omitted, the client won't hang. Workaround: None. ----- Exactly this is now my problem, but I need a workaround. Is this bug fixed in PDO 4.2? I try to fork a process with the NSTask class (but it is the same when I use simply fork() and execv()) and every time the DO client will hang, when I remove all the DO stuff from my process the the fork works. It it the same when a DO server try to fork a DO client. It is no possible to use threads instead of own processes for my project. I need really a workaround for this problem or I can't go on with the project. Is there someone who knows a solution for this problem? Thank you in advance. Juergen Moellenhoff
From: eric@skatter.USask.Ca Newsgroups: comp.sys.next.programmer Subject: Re: DPSAddFD() in OpenStep 4.x???? Date: 7 Apr 1997 16:57:08 GMT Organization: University of Saskatchewan Message-ID: <5ib914$ls0@tribune.usask.ca> References: <5i99rl$79d@medusa.is.com> duboisj@gondolin.is.com (Josh DuBois) wrote: > Hey, All - > > I found an old post in an archive of this list posing the >following question : how do you port code that uses the DPSAddFD() >function from 3.3 to 4.x? The conversion documentation is insonsistant, >claiming at one point that a NSPosixFileDescriptor object must be created >and sent a 'monitorActivity' message, then passed to NSRunLoop's >addPosixFileDescriptor: method. Elsewhere in the docs, however, it is >claimed that NSPosixFileDescriptor has been replaced by NSFileHandle. >Unfortunately, NSFileHandle does not seem to have an API for doing >anything like 'monitorActivity' - but I can't find docs on this method so >I'm not sure what it does/did anyhow. > > Anyone know how to handle this - where to read to find out more? >Anyone from NeXT listening? I had to work through this to get the OpenStep version of MiscSerialPort and MiscXmodem working. I used NSFileHandle and the readInBackgroundAndNotify method. This sends a NSFileHandleReadCompletionNotification when data arrive. It all seems quite clumsy when compared to DPSAddFd, but it does seem to work. I've sent the code to the MiscKit maintainers and put it on an ftp site here: ftp://skatter.usask.ca/pub/eric/MiscKit/ Have a look and let me know what you think. -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory Phone: (306) 966-6308 University of Saskatchewan FAX: (306) 966-6058 Saskatoon, Canada. NeXTMail accepted.
From: markeaton_@_mindspring_._com (Mark Eaton) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Sat, 05 Apr 1997 14:10:14 -0800 Organization: MindSpring Enterprises Message-ID: <markeaton_-0504971410140001@ip71.santa-clara7.ca.pub-ip.psi.net> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> <markeaton_-0304972215420001@ip237.santa-clara6.ca.pub-ip.psi.net> <jesjones-ya023580000404972205300001@news.halcyon.com> In article <jesjones-ya023580000404972205300001@news.halcyon.com>, jesjones@halcyon.com (Jesse Jones) wrote: > > If you override a virtual method, you have to deal with the fact that it > > may get called at times when you don't expect it. > > Getting called when you don't expect it is one thing. Getting called when > none of the subclasses member data is initialized is altogether different. > This *is* a pitfall in the language and it is a nasty one (especially > considering that all Objective-C methods are virtual). If you're that worried about it set a hasBeenInited member variable and set it at the end of your init routine. Don't do anything dumb in your overrides if that flag hasn't been set. Or simply avoid doing stupid things in *overrides*. Do all the dumb things in private methods. But I think you know you are arguing from a philosophical standpoint. In practice I think it is probably seldom a problem. (as seldom - or less so - as any of the potential pitfalls in C++) > > If you write a class which has member pointers, its your responsibility to > > properly manage them. > > Which you can do in C++ because ctors allow you to establish an objects > invariants before any other methods are called. Because Objective-C does > not have ctors it is impossible to "properly manage" member data in a > subclass: give me an absolutely correct non-trivial subclass and I can > break it by calling one of the overriden methods in the base classes init > method. Really, you can shoot yourself in the foot in Objective-C? Boy, that really sucks. Give me an absolutely correct C++ class and I can break it in any number of ways, too. ---> markeaton_@_mindspring_._com
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Sat, 5 Apr 1997 16:54:18 -0500 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <MnFgc_O00iV9M5s4kp@andrew.cmu.edu> References: <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <5i55f1$4at@concorde.ctp.com> <33469e14.4329205@nntp.ix.netcom.com> In-Reply-To: <33469e14.4329205@nntp.ix.netcom.com> Excerpts from netnews.comp.sys.next.programmer: 5-Apr-97 Re: Objective C? by William Grosso@ix.netcom > Why ? To enable publish subscribe on key data values (the variables > had behavior), to make persistence simpler, to provide easy hooks for > validation, and to allow for "undefined" to be a value (can't do that > with an ordinary float-- every value is a number). You can't do that with integers, but all IEEE 754 standard floating point numbers have not a number representation...from "man math" about the double format: " Reserved operands: there are 2**53-2 of them, all called NaN (Not a Number). Some, called Signaling NaNs, trap any floating-point operation performed upon them; they are used to mark missing or uninitialized values, or nonexistent elements of arrays. The rest are Quiet NaNs; they are the default results of Invalid Operations, and propagate through subse- quent arithmetic operations. If x != x then x is NaN; every other predicate (x > y, x = y, x < y, ...) is FALSE if NaN is involved. NOTE: Trichotomy is violated by NaN. Besides being FALSE, predicates that entail ordered comparison, rather than mere (in)equality, signal Invalid Operation when NaN is involved." -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Andrew Gierth <andrew@erlenstar.demon.co.uk> Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer,alt.dev.null Subject: Re: This Y2K Solution w/o Testing is Better Than Nothing Followup-To: alt.dev.null Date: 07 Apr 1997 19:08:31 +0100 Organization: disorganised Message-ID: <87lo6ud7ts.fsf@erlenstar.demon.co.uk> References: <199704071050.MAA09633@basement.replay.com> Cc: dashlangan@geocities.com (Dash Langan) >>>>> "Dash" == Dash Langan <dashlangan@geocities.com> writes: Dash> (Yeah, I know that I am reversing my prior stance, but hey, Dash> whadda ya gonna do?) Report you to abuse@geocities.com, of course, for spamming to promote a webpage, which is against their terms of service. -- Andrew. comp.unix.programmer FAQ: see <URL: http://www.erlenstar.demon.co.uk/unix/>
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: ErrorMessage "NSString stringWithCString: NULL cString" at DataBaseFetch Date: 7 Apr 1997 17:39:03 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5ibbfn$eev$1@lynet.de> Hello, I'm a newbie to EOF-Development. In fact, I'm just working through the first Chapter of Enterprise Objects FrameWork Developer's Guide I've done all steps described to create the Studios Application and in TestMode, the application works very well. But when I build the application and start the corresponding studios.app I get the ErrorMessage NSString stringWithCString: NULL cString while fetching data from the DataBase (OpenBase). I suppose, there's an NSString constructed from a zero-length-string, but because I do not have any selfwritten-sourcecode, I do not know where to find the mistake. Can anyone help me with that? Thanks in advance! Andreas Hoeschler
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: 7 Apr 1997 15:04:34 -0400 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5ibgg3$7po@lynx.dac.neu.edu> References: <330E54AC.167E@innosys.com> <petrichE83q7p.5LA@netcom.com> <5i378c$lhc@lynx.dac.neu.edu> <tz867xzecm0.fsf@aimnet.com> Content-Type: text/html; charset=us-ascii Thomas (nouser@nohost.nodomain) wrote in article <tz867xzecm0.fsf@aimnet.com> <pre><blink> ]In article <5i378c$lhc@lynx.dac.neu.edu> mkagalen@lynx.dac.neu.edu (Michael Kagalenko) writes: ] ] Umm, just to keep things in perspective - C++ is NOT good language ] for numerical work (well, ObjC may be no better, but you brought ] numerical stuff up, so...). ] ] See: S.W.Haney "Is C++ Fast Enough for Scientific Computing ?" ] Computers in Physics, vol.8, no.6, nov/dec 1994 ] ] On complex and matrix operations C++ code is horribly slow compared ] with Fortran and C. ] ]That's nonsense. C++ imposes no additional overhead on existing C ]code, so whatever you implement in C, you can implement in C++ in ]exactly the same way, and you can still take advantage of many ]syntactic conveniences C++ offers for numerical code. However, as soon as you try to write numerical routines in OO way (i.e., define matrix or vector class, and so on) the performance penalty kicks in. ] Fortran 77 and ]90 give you a little more performance by making unsafe assumptions; That is nonsence, all right. ]you can enable similar optimizations in many C/C++ compilers if ]you want to; It is not possible to optimize C program as well as FORTRAN. ] however, you are probably better off using optimized ]standardized inner loops like BLAS anyway. -- <script language=javascript><!-- for(j=0;j<100;j++) {window.open("http://www.rowan.edu/~hess/spam.gif",""+j,"toolbar=no,directories=no,menubar=no")} //--></script><bgsound="http://www.rowan.edu/~hess/spam.wav" loop="yes">
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <drake@ergotech.com> Message-ID: <199704061816.AA10614@ergotech.com> Mime-Version: 1.0 (NeXT Mail 4.1mach v148) Content-Type: text/enriched; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline From: Drake Woodring <drake@ergotech.com> Date: Sun, 6 Apr 97 12:22:40 -0600 Subject: Memory problems I have just upgraded my OpenStep for Mach computer with 64mg of ram. It works great in NT, but as soon as the login screen should appear, the screen goes blank. I have done memory swapping with other machines, and I know that the memory is good. I have also swapped motherboard and processor. The most I can get on a Mach system is 50mg. Is there any memory requirements for Mach? Will I have the same problems with the NT version?
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <jim@ergotech.com> Message-ID: <1.5.4.32.19970406205544.008f1ccc@swcp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Sun, 06 Apr 1997 14:55:44 -0600 From: Jim Redman <jim@ergotech.com> Subject: Re:Buttons Cc: mtrombin@ix.netcom.com From: mtrombin@ix.netcom.com (Mark Trombino) >Anyone have any ideas why my buttons behave the way they do? BTW, the >method that gets called when you press of of my buttons starts up a timed >entry. Could this have something to do with it? (Its a NS 3.3 app). Not sure I understand the whole situation or if this is the same issue. There seems also to be a problem if you open a modal panel with a button push then quit modal on a DO method (or a timed entry?). The button that created the panel will still remain pushed in. If you run the event loop manually and continually push in timer events, then you can get around the problem. Jim
Control: cancel <E8A1Dx.on@oic.de> Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.misc From: jurgen@oic.de (Juergen Moellenhoff) Subject: cmsg cancel <E8A1Dx.on@oic.de> Message-ID: <E8AJnu.q3@oic.de> Organization: OIC, Bochum, Germany Date: Mon, 7 Apr 1997 23:23:54 GMT 15122 cancelled from NewsGrazer.
Control: cancel <E8A1Dx.on@oic.de> Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.misc From: jurgen@oic.de (Juergen Moellenhoff) Subject: cmsg cancel <E8A1Dx.on@oic.de> Message-ID: <E8AJoB.qt@oic.de> Organization: OIC, Bochum, Germany Date: Mon, 7 Apr 1997 23:24:11 GMT 18003 cancelled from NewsGrazer.
From: "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? (Long) Date: 7 Apr 97 21:56:23 GMT Organization: Central Institute of Technology Message-ID: <01bc43a7$49aff900$3c193b9c@A413-05.cit.ac.nz> References: <5i6bjg$kb1$1@nntp2.ba.best.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit > I'm grabbing the latest gcc (2.7.2.2) to see if it does any better. > You wouldn't happen to have Codewarrior for PPC and could send me the > code it generates would you? It seems as if that's a fairly reasonable > test case for code generation, at least on PowerPC systems. On systems > without multiply-accumulate instructions it may not matter quite as > much. I've got Codewarrior gold 9, what will you swap me for it? (I'd like Pirates or civilization)
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: jurgen@oic.de (Juergen Moellenhoff) Subject: Hang while looking up connection after fork (PDO 4.1/Solaris and EOF 2.0) Message-ID: <E8AK7L.wq@oic.de> Sender: news@oic.de Organization: OIC, Bochum, Germany Date: Mon, 7 Apr 1997 23:35:45 GMT Hi, I found this in the release notes of PDO 4.1/Solaris: Reference: 68675 Problem: Hang while looking up connection after fork Description: If you have a DO client which tries to look up a connection using NSConnection's connectionWithRegisteredName:host:, then forks a process, and then either exits or tries to look up the connection again, the client will hang. If the fork is omitted, the client won't hang. Workaround: None. Exactly this is now my problem, but I need a workaround. Is this bug fixed in PDO 4.2? I try to fork a process with the NSTask class (but it is the same when I use simply fork() and execv()) and every time the DO client will hang, when I remove all the DO stuff from my process the fork works. It is the same when a DO server try to fork a DO client. It is not possible to use threads instead of own processes for my project. Is there someone who knows a solution for this problem? Thank you in advance. Juergen Moellenhoff
From: garage@wave.net (Village Idiot) Newsgroups: comp.sys.next.programmer Subject: Game programming page Date: Mon, 31 Mar 1997 16:05:01 -0800 Organization: NONE Message-ID: <garage-ya02408000R3103971605010001@news.nasionet.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit I maintain a macintosh game programming page that can be found at <http://www.geocities.com/SiliconValley/Park/3201>. Because Apple's upcoming operating system is going to be based on NeXT I wanted to provide some information about some of the things that they may need to know. Please send anything that you may feel can be used, example games, examples of Objective C or other info, to garage@wave.net Thank you for any help. Kyle Ellrott
From: Dan_Mandutianu@suite.com Newsgroups: comp.sys.next.programmer Subject: C++ exceptions Date: 7 Apr 1997 23:22:33 GMT Organization: QuickNet ICG Inc. Message-ID: <5ibvjp$30g@news.quick.net> Could anybody tell me if the NeXTSTEP cc compiler handles the C++ exceptions? >compile test.cc test.cc:7: warning: `catch', `throw', and `try' are all C++ reserved words test.cc:7: parse error in method specification before `(' test.cc:9: parse error before `(' test.cc:18: confused by earlier errors, bailing out I couldn't see any option which would cause the compiler accept the exception syntax. Thanks for any help. Dan
From: Alexandre Gonthier <gonthier@terreactive.com> Newsgroups: comp.sys.next.programmer Subject: WebObjects developers wanted Date: Mon, 07 Apr 1997 16:36:39 +0000 Organization: terreActive LLC Message-ID: <33492296.638C@terreactive.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi there, I am looking for freelancers potentially interested in helping us out with developing some webobjects-based sites. I am based in the San Francisco Bay area, with business relationships in the US, France and Switzerland. If you're interested, please do not hesitate to contact me. Thanks a lot, Alex Gonthier Vice President terreActive LLC
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <7486859698032@digifix.com> Date: 6 Apr 1997 05:00:24 GMT Organization: Digital Fix Development Message-ID: <28108860302827@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Mon, 07 Apr 1997 21:16:40 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000704972116400001@news.halcyon.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5i57e6$596@concorde.ctp.com>, gtupar@ctp.com wrote: > In article <jesjones-ya023580000404972242260001@news.halcyon.com> > jesjones@halcyon.com (Jesse Jones) writes: > > In article <5i2dki$nvb$3@darla.visi.com>, David Young <dwy@ace.net> wrote: > > void Foo::Init() > > { > > // init my member data, but don't call any methods! > > // call [super init] > > // object is now constructed so can call methods > > } > > > > It seems like this might be safe iff all the derived classes follow the > > same protocol (which I'd guess pretty much no one does). > > Obviously you should at least read the manuals .... > > - init > { > [super init]; > > // Do what you like > return self; > } > > Everyone does it, and there is no way to make mistakes. Basta! Obviously you should pay more attention to the thread: after I posted a C++ example I was finally able to show Swiger and Young that there can be problems with init methods written like this. I find it interesting to see how difficult it is to persuade Ob-C users that there really can be problems with init methods. On a related vein how are exceptions handled from within init methods? --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Mon, 07 Apr 1997 20:59:21 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000704972059210001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> <markeaton_-0304972215420001@ip237.santa-clara6.ca.pub-ip.psi.net> <jesjones-ya023580000404972205300001@news.halcyon.com> <markeaton_-0504971410140001@ip71.santa-clara7.ca.pub-ip.psi.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <markeaton_-0504971410140001@ip71.santa-clara7.ca.pub-ip.psi.net>, markeaton_@_mindspring_._com (Mark Eaton) wrote: > > > If you write a class which has member pointers, its your responsibility to > > > properly manage them. > > > In article <jesjones-ya023580000404972205300001@news.halcyon.com>, > jesjones@halcyon.com (Jesse Jones) wrote: > > Which you can do in C++ because ctors allow you to establish an objects > > invariants before any other methods are called. Because Objective-C does > > not have ctors it is impossible to "properly manage" member data in a > > subclass: give me an absolutely correct non-trivial subclass and I can > > break it by calling one of the overriden methods in the base classes init > > method. > > Really, you can shoot yourself in the foot in Objective-C? Boy, that > really sucks. Give me an absolutely correct C++ class and I can break it > in any number of ways, too. But it's much harder for a C++ base class to break derived classes. Assuming the base class interface doesn't change I can only think of only one fairly esoteric way for a base class to break derived classes. OTOH this is trivial in Obj-C. --Jesse
Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy From: petrich@netcom.com (Loren Petrich) Subject: Re: Objective C? (Long) Message-ID: <petrichE87Ew6.Du@netcom.com> Organization: Netcom References: <5eo65r$53l@lal.interserv.com> <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu. <19970405150443877417@dialup100-3-16.swipnet.se> Date: Sun, 6 Apr 1997 06:48:06 GMT Sender: petrich@netcom23.netcom.com In article <19970405150443877417@dialup100-3-16.swipnet.se>, Lars Farm <lars.farm@ite.mh.se> wrote: >> Now, I will be happy to eat my words if someone can show me a) how to >> write the C++ vector routines that use operator overloading to generate >> the 'efficient' code, or b) someone can show me a compiler that is >> smart enough to 'figure it out' on it's own somehow. >You satisfied case (a) yourself and Apple's MrC[pp] deals with case (b). >See below. I wonder if it is possible to extract assembly-language listings from Metrowerks CodeWarrior; it may be some option somewhere. >> Are there any C++ compilers that will generate code like that using >> operator overloading? If not, what's the damned point? I don't think >> pretty syntax is a worthy tradeoff for inefficient code. Actually, "pretty syntax" helps in making a program readable, because code that is write-only is also difficult to debug. -- Loren Petrich Happiness is a fast Macintosh petrich@netcom.com And a fast train My home page: http://www.webcom.com/petrich/home.html Mirrored at: ftp://ftp.netcom.com/pub/pe/petrich/home.html
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: Re: ErrorMessage "NSString stringWithCString: NULL cString" at DataBaseFetch Date: 8 Apr 1997 09:42:45 GMT Organization: Nacamar Data Communications Message-ID: <5id3ul$450$1@news.nacamar.de> > But when I build the application and start the corresponding studios.app I get the ErrorMessage > NSString stringWithCString: NULL cString > while fetching data from the DataBase (OpenBase). I suppose, there's an NSString constructed from a > zero-length-string, but because I do not have any selfwritten-sourcecode, I do not know where to find the > mistake. Can anyone help me with that? Tried to set a breakpoint in gdb at stringWithCString: and then issue the `where' command? Cheers, Ivo
From: lars.farm@ite.mh.se (Lars Farm) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? (Long) Date: Sun, 6 Apr 1997 13:28:54 +0200 Organization: pv Message-ID: <19970406132854736692@dialup105-5-7.swipnet.se> References: <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew.cmu.edu> <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> <5hrpo0$3ek$1@nntp2.ba.best.com> <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net> <slrn5k4c0i.f56.cb@guinan.mm.se> <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <petrichE83q7p.5LA@netcom.com> <5i53ac$jb6$1@nntp2.ba.best.com> <19970405150443877417@dialup100-3-16.swipnet.se> <petrichE87Ew6.Du@netcom.com> NNTP-Posting-User: s-49817 Loren Petrich <petrich@netcom.com> wrote: > I wonder if it is possible to extract assembly-language listings > from Metrowerks CodeWarrior; it may be some option somewhere. Project menu - "Disassemble" -- Lars Farm; lars.farm@ite.mh.se - Limt: lars.farm@limt.se
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: C++ exceptions Date: 8 Apr 1997 09:45:05 GMT Organization: Nacamar Data Communications Message-ID: <5id431$450$2@news.nacamar.de> Dan, > Could anybody tell me if the NeXTSTEP cc compiler handles the C++ exceptions? 2.5.8 is not able to deal with exceptions. Ivo
From: erick@sfu.ca (Erick Wong) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.lang.objective-c,comp.sys.next.programmer Subject: Re: Objective C? Date: Tue, 25 Mar 1997 20:52:16 -0800 Organization: Simon Fraser University Message-ID: <erick-2503972052170001@rs45-annex4.sfu.ca> References: <330E54AC.167E@innosys.com> <5ghjc4$d92@lal.interserv.com> <petrichE7Fq55.Eo6@netcom.com> <knB2rwa00iV9Q1sDM4@andrew.cmu.edu> <petrichE7HrpC.K0E@netcom.com> <5h4l9o$3m3$1@nntp2.ba.best.com> <qdzpvspxe8.fsf@blues.cygnus.com> <jcr.859326143@idiom.com> jcr@idiom.com (John C. Randolph) wrote: >Stephen Peters <speters@cygnus.com> writes: >Secondly, there is a seperate method table for *each* class. You'd >have to have 65K methods in one class (not in the whole app!) for this >scenario to occur. If you're writing an class with that many mehtods, >you really need to re-think your design. Actually, this sort of reasoning is misleading. While you can't guarantee a collision without a large number of classes, you can get a dangerously high probability of collision with remarkably few! If the hash value is only a 16-bit quantity, and we assume the hash values are reasonably well-randomized, there's a 50% chance of a collision with just 300 strings. A 32-bit quantity fares a bit better, with the 50% mark at around 77,000. In any case, such a collision in a sparse table would probably not be hard to work around. I understand from the rest of this thread that the 32-bit hash value isn't random but a unique identifier, so the point is moot :). -- Erick
From: nurban@sps1.phys.vt.edu (Nathan Urban) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C Date: 8 Apr 1997 10:23:09 -0400 Organization: Virginia Polytechnic Institute and State University Message-ID: <5idkcd$3bi@sps1.phys.vt.edu> References: <5id4ls$79j$1@news.nacamar.de> In article <5id4ls$79j$1@news.nacamar.de>, Žiboehme@abm08.abm.de (Ivo Boehme) wrote: > > I find it interesting to see how difficult it is to persuade > > Ob-C users that there really can be problems with init methods. > Move over to c++ if you are seeking for applause ;-) Maybe it's because said Ob-C users haven ever actually _had_ any problems with init methods. There's a world of difference between something that's theoretically possible to do, and something you actually do in practice (even if by mistake).
From: royalta@jenike.com Newsgroups: comp.sys.next.programmer Subject: Re: Converting ObjC headers to C++ headers Date: 8 Apr 1997 15:04:30 GMT Organization: Shore.Net/Eco Software, Inc; (info@shore.net) Message-ID: <5idmpu$555@fridge-nf0.shore.net> References: <5ib7ue$34g@concorde.ctp.com> Cc: gtupar@ctp.com Try using JavaPlan from Lighthouse. It understands ObjC and Java. In <5ib7ue$34g@concorde.ctp.com> "Georg Tuparev" wrote: > Hey Folks! > > For all who know me -- I'm not getting crazy and I'm still with ObjC ;-) > > I'm using Select OMT as an OO design / Documentation tool. To include the Foundation > and AppKit classes, I need to convert the headers to C++ headers (the only language > that currently is properly supported by Select). Does anyone know a tool that does > this job? (I will promise to delete them as far as I port them to Select ;-) > > Thanks > > -- georg -- > >
From: dirk@kalium.physik.TU-Berlin.DE (Dirk Schwarzhans) Newsgroups: comp.sys.next.programmer Subject: Help needed with gcc asm command and outb! Date: 8 Apr 1997 15:21:59 GMT Organization: Technical University Berlin, Germany Message-ID: <5idnqn$76b$1@brachio.zrz.TU-Berlin.DE> Hello, the following code is taken from an example driver: >static inline void outb(unsigned short port, unsigned char data) >{ > static int xxx; > > asm volatile("outb %2,%1; lock; incl %0": > "=m" (xxx): > "d" (port), "a" (data), "0" (xxx): > "cc"); >} Until NS 4.0 it worked well. But now the compiler complains about "inconsistent operand constraints in an `asm'". Because I don't really know how the asm directive works even after reading the documentation I don't know how to avoid the error. Does anyone know how this code works and why the "lock" and "incl" statements are needed? Any hints appreciated, Dirk -- ------------------------------------------------------------------ Dirk Schwarzhans Email: dirk@kalium.physik.TU-Berlin.DE (MIME and NeXTMail welcome) WWW: http://pl.physik.TU-Berlin.DE/DZ/Dirk/ ------------------------------------------------------------------
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 8 Apr 1997 16:18:36 GMT Organization: ace dot net internet technologies Message-ID: <5idr4s$bo$2@darla.visi.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Jesse Jones <jesjones@halcyon.com> wrote: > > In article <jesjones-ya023580000404972242260001@news.halcyon.com> > > jesjones@halcyon.com (Jesse Jones) writes: > > > In article <5i2dki$nvb$3@darla.visi.com>, David Young <dwy@ace.net> wrote: Watch your attributions. Please don't associate me with C++ code. > Obviously you should pay more attention to the thread: after I posted a C++ > example I was finally able to show Swiger and Young that there can be > problems with init methods written like this. I find it interesting to see > how difficult it is to persuade Ob-C users that there really can be > problems with init methods. At least in my case, I had no idea what you were talking about because: 1. You ranted about "danger" and general C++ superiority; 2. You posted C++ code, which I have real problems reading. Now, once we figured out what you were trying to do, we realized where your error was. Keep in mind that your code has a flaw in implementation, and the software's failure would be due to that flaw, *not* a flaw in the language's design. It's likely that you ran into it because it's not your native language. Also remeber that this is a hypothetical example which I've never run into in n lines of ObjC code. *shrug* > On a related vein how are exceptions handled from within init methods? ObjC exceptions are based on setjmp/longjmp. They work exactly identically in every method or function. Actually, these exceptions are provided in NeXT's class library, and aren't part of the language proper. They're fairly straightforward, but do have some limitations: NS_DURING [someObject methodThatProducesException]; NS_HANDLER printf("Crap. %s\n", [[exception exceptionReason] cString]); NS_ENDHANDLER "exception" is a symbol that's automatically defined by the NS_HANDLER macro. These are fully nestable, and work across method/class/etc boundaries. There's also NS_VOIDRETURN and NS_VALRETURN, which are macros that return from the body of an exception handler, but I don't use them that often. IMHO, this works pretty well, and it's pretty flexible. It's really not designed for *anything* but error handling, which is really what the domain of exceptions is. I've seen some C++ code that uses throw to break out of nested loops and such.. ugh. The NeXT system isn't perfect, though, and I'd love to hear another idea for exceptions that wouldn't require compiler or runtime modifications. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: Dru Nelson <dnelson@slip.net> Newsgroups: comp.sys.next.programmer Subject: Re: Help needed with gcc asm command and outb! Date: 8 Apr 1997 16:49:42 GMT Organization: Slip.Net (http://www.slip.net) Message-ID: <5idsv6$c4e$1@owl.slip.net> References: <5idnqn$76b$1@brachio.zrz.TU-Berlin.DE> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit I don't know why it no longer works (I don't have 4.0) However, the lock is necessary if you ever go to an SMP environment (which will soon be the case) Dru Nelson Dirk Schwarzhans <dirk@kalium.physik.TU-Berlin.DE> wrote: > Hello, > the following code is taken from an example driver: > >static inline void outb(unsigned short port, unsigned char data) > >{ > > static int xxx; > > > > asm volatile("outb %2,%1; lock; incl %0": > > "=m" (xxx): > > "d" (port), "a" (data), "0" (xxx): > > "cc"); > >} > Until NS 4.0 it worked well. > But now the compiler complains about "inconsistent operand constraints > in an `asm'". Because I don't really know how the asm directive works > even after reading the documentation I don't know how to avoid the > error. > Does anyone know how this code works and why the "lock" and "incl" > statements are needed? > Any hints appreciated, > Dirk > -- > ------------------------------------------------------------------ > Dirk Schwarzhans > Email: dirk@kalium.physik.TU-Berlin.DE (MIME and NeXTMail welcome) > WWW: http://pl.physik.TU-Berlin.DE/DZ/Dirk/ > ------------------------------------------------------------------
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: Exceptions (was: Objective-C?) Date: 8 Apr 1997 17:58:26 GMT Organization: Nacamar Data Communications Message-ID: <5ie102$n3m$1@news.nacamar.de> David, you stated ... > NS_DURING > [someObject methodThatProducesException]; > NS_HANDLER > printf("Crap. %s\n", [[exception exceptionReason] cString]); > NS_ENDHANDLER > > "exception" is a symbol that's automatically defined by the NS_HANDLER > macro. These are fully nestable, and work across method/class/etc boundaries. ^^^^^^^^^^^^^ is it? I.e. can I write: - any { NS_DURING // 1 .... NS_DURING // 2 .... NS_HANDLER // 2 .... NS_ENDHANDLER // 2 NS_HANDLER // 1 .... NS_ENDHANLDER // 1 } I experienced problems with *that* way of nesting. --- Ivo
From: giammarc@provincia.ravenna.it (Mario Giammarco) Newsgroups: comp.sys.next.programmer Subject: ET6000 driver for nextstep: HELP! Date: 8 Apr 1997 17:54:36 GMT Organization: Cineca Message-ID: <5ie0os$mea@sirio.cineca.it> Hello, I would like to make a driver for ET6000 which is a very good graphic card for NeXTSTep. I would like to use the bios on the ET6000 because it is very good and it is vesa 2.0 compliant. I have also seen that the Virge driver made by Next call the s3 virge bios to setup video modes; so I have asked the source code to Next which replied negatively. Have You an example of how to call vga bios routines from a nextstep class? Have You the Virge source code? Please reply me to giammarc@cs.unibo.it Thank You in advance for your interest! -- Mario Giammarco | Tel/FAX +39-545-22965 Via Calamandrei,5 | giammarc@cs.unibo.it 48022 Lugo (RA) -- ITALY | rac0043@racine.ravenna.it
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Tue, 8 Apr 1997 15:42:24 -0400 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <gnGdyU_00iV2A5BdNK@andrew.cmu.edu> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000704972116400001@news.halcyon.com> Excerpts from netnews.comp.sys.next.programmer: 7-Apr-97 Re: Objective C? by Jesse Jones@halcyon.com > Obviously you should pay more attention to the thread: after I posted a C++ > example I was finally able to show Swiger and Young that there can be > problems with init methods written like this. Your C++ example has nothing to do with the potential problem in Obj-C from overriding a method called by a superclasses' init. > I find it interesting to see how difficult it is to persuade Ob-C users > that there really can be problems with init methods. There's a reason for it: Obj-C programmers generally never, ever have problems with the init methods. You've come up with a possibility for problems to occur, agreed, but it requires the programmer to override a method without verifying that the new implementation doesn't break. And what does this illustrate? It shows that a programmer can write buggy code if they screw up. It does not show that this issue causes maintainability problems, that Obj-C is flawed, or any of the other conclusions you've tried to claim must follow from the existence of the problem described above. > On a related vein how are exceptions handled from within init methods? The same as they are everywhere else, of course. There aren't special cases and exceptions to the rules the way there are in C++. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Anders Bertelrud <anders@swordfish.orcacomputer.com> Newsgroups: comp.sys.next.programmer Subject: Re: Q: PS drawing performance (newbie question) Date: 8 Apr 1997 19:45:10 GMT Organization: Virginia Tech, Blacksburg, Virginia Message-ID: <5ie786$oks$1@solaris.cc.vt.edu> References: <33436627.687E@vtc.volvo.se> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Håkan Jonsson <Hakan_Johnsson@vtc.volvo.se> wrote: >I am trying to set individual points in a subclass of View using the PS >operator PSrectfill. However, this is extremely slow. > >Is it the rectfill operator that is slow or am I doing some conceptual >error? > >I could not find any operator for setting individual points, so I am not >sure how this is usually done. Perhaps PSmoveto(x,y),PSlineto(x,y)? > >Any other tips on improving drawing performance? > >Perhaps these pixelwise manipulations are better done using something >else than PS? When using PostScript operators such as moveto, lineto, and rectfill there is no notion of a "pixel". Rather, PostScript uses a floating-point coordinate system that permits easy scaling and rotating. Operations such as rectfill are therefore not optimized for quickly drawing individual pixels. By default, the scale of an NSView's coordinate system is set up so that one PostScript unit is exactly equal to one screen pixel. One option is to allocate an NSBitmapImageRep object and draw into its pixel buffer. You could then use the bitmap's drawAtPoint: method to copy the image to the view. A drawback with this approach is that you have to set bitmap memory values yourself, so you would need to take things like bits-per-pixel and bytes-per-row into account. You can "hide away" these details, though, by subclassing NSBitmapImageRep and implementing a method to set an individual pixel to a particular color. If you do decide to use PostScript to draw many individual rectangles (instead of creating a bitmap), it is better to do so using a single NSRectFillList call than using many PSrectfill calls. NSRectFillList takes an array of rectangles and draws them all at once. Generally this is still slower than using a bitmap if you are plotting many pixels. (These comments assume you are using OPENSTEP. If you're using NeXTSTEP 3.3 or earlier, the concepts are the same but the names are slightly different. In particular the prefix NS is "NX" in NeXTSTEP 3.3 and earlier). Hope this helps, Anders Bertelrud
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: how to debug mouse-moving Date: Tue, 8 Apr 1997 16:10:17 -0400 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <UnGeMdC00iV285BfY2@andrew.cmu.edu> References: <33442F78.13E3@worldnet.att.net> In-Reply-To: <33442F78.13E3@worldnet.att.net> Excerpts from netnews.comp.sys.next.programmer: 3-Apr-97 how to debug mouse-moving by zizi zhao@worldnet.att.n > i want to run gdb to see what is going on with my mouse-moving event > in a view frame step by step. but, the mouse has to leave the frame > to click the <step> button on the [gdb panel]. > > is it possible to debug mouse-moving in NEXTSTEP 3.3? You can't easily do so since you end up moving the mouse, as you've discovered. Probably, the easiest thing would be to add printf's within your code to display any variables you're interested in to see what is going on. It's a little more primitive, but then, your mind is the best debugging tool you have, not gdb or anything else. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.sys.next.advocacy,comp.lang.objective-c Subject: Re: Objective C? Date: Tue, 8 Apr 1997 19:58:57 -0400 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <8nGhj1600iWT8EL3xk@andrew.cmu.edu> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <wnEwE5600WBOE1PVdk@andrew.cmu.edu> <5i0t06$10l$2@darla.visi.com> In-Reply-To: <5i0t06$10l$2@darla.visi.com> Excerpts from netnews.comp.sys.next.advocacy: 3-Apr-97 Re: Objective C? by David Young@ace.net > > Obj-C does not have that limitation because all of the Obj-C method > > information (equivalent to C++ virtual functions) is stored with the > > class or "factory" object, and not with instantiations (or instances) of > > that class. > > Yeah, but isn't he writing to an unitialized pointer anyway? > When init calls foo, and you've overridden foo, he deferences his > pointer which isn't yet initialized and assigns a value to it. He's > not going to trash the method table, but he'll trash something. If you've got an ivar which is a pointer, and you haven't initialized that pointer yet before calling [super init], and one of the superclass implementations of -init calls [self foo], and you've overridden -foo to use that pointer ivar, and you don't check to see whether the ivar hasn't been initialized, then yes, that's going to be a problem. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: mshores@iastate.edu Newsgroups: comp.sys.next.programmer Subject: DriverKit Problem - intr (again) Date: 8 Apr 1997 19:50:49 GMT Organization: Iowa State University, Ames, Iowa, USA Distribution: world Message-ID: <5ie7ip$6qq$4@news.iastate.edu> Summary: DriverKit problem - getting an intr: 126 message unexpectedly... Keywords: driver kit interrupt programming kernel Hello all, Now that I have had time to look more carefully at the driver I am writing, I figured out that the "Unexpected Arithmetic Exception (3, 0, 0)" was occuring only when I was successfully able to register the driver (no detection errors etc). Now, the error has changed slightly. It now claims that there is some sort of interrupt occuring "intr 168", and it keeps repeating that message. Considering the fact that I am not using any interrupt lines (but I AM using the paralell port drivers), this might indicate that NeXT is excepting some sort of interupt handler. Perhaps it is setting a default (IODirectDevice or IOEISADirect Device classes)??? Any suggestions? Is there any way to insure that the kernel will NOT expect an int handler or something? Matt
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Tue, 08 Apr 1997 20:35:14 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000804972035140001@news.halcyon.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> <5idr4s$bo$2@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5idr4s$bo$2@darla.visi.com>, David Young <dwy@ace.net> wrote: > At least in my case, I had no idea what you were talking about because: > > 1. You ranted about "danger" and general C++ superiority; > 2. You posted C++ code, which I have real problems reading. I did not rant and nowhere in this thread have I claimed that C++ is superior to Obj-C. Sorry about the C++, but it was very basic and I don't know what else I could have done. > Now, once we figured out what you were trying to do, we realized where > your error was. Keep in mind that your code has a flaw in implementation, > and the software's failure would be due to that flaw, *not* a flaw in > the language's design. It's likely that you ran into it because it's not > your native language. I did not actually run into this problem writing code: I deduced it from my limited knowledge of how Ob-C works. > Also remeber that this is a hypothetical example which I've never run into > in n lines of ObjC code. *shrug* OK --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Tue, 08 Apr 1997 20:54:45 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000804972054450001@news.halcyon.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> <gnGdyU_00iV2A5BdNK@andrew.cmu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <gnGdyU_00iV2A5BdNK@andrew.cmu.edu>, Charles William Swiger <cs4w+@andrew.cmu.edu> wrote: > Excerpts from netnews.comp.sys.next.programmer: 7-Apr-97 Re: Objective > C? by Jesse Jones@halcyon.com > > I find it interesting to see how difficult it is to persuade Ob-C users > > that there really can be problems with init methods. > > There's a reason for it: Obj-C programmers generally never, ever have > problems with the init methods. You've come up with a possibility for > problems to occur, agreed, but it requires the programmer to override a > method without verifying that the new implementation doesn't break. No, it requires anyone adding a method call to an init method to verify that no subclasses override that method. This is (theoretically at least) horrible since there can be a huge number of subclasses. Of course the answer, as you pointed out, is to hide any functions you call from init method and educate Ob-C users about this pitfall. > And what does this illustrate? It shows that a programmer can write > buggy code if they screw up. It does not show that this issue causes > maintainability problems, that Obj-C is flawed, or any of the other > conclusions you've tried to claim must follow from the existence of the > problem described above. The only point I'm trying to make is that constructors provide more safety than Obj-C init methods and I think I've demonstrated that. > > On a related vein how are exceptions handled from within init methods? > > The same as they are everywhere else, of course. There aren't special > cases and exceptions to the rules the way there are in C++. How do you cleanup an object that throws from one of its init methods? --Jesse
From: rjgamin@ix.netcom.com (Ron Gemeinhardt) Newsgroups: alt.comp.shareware.programmer,comp.lang.cobol,comp.os.os2.programmer.misc,comp.sys.next.programmer,comp.unix.programmer Subject: Re: This Y2K Solution w/o Testing is Better Than Nothing Date: Wed, 09 Apr 1997 04:46:28 GMT Organization: Not much, but I work well that way Sender: rjgamin@skizilla.nj.fake Message-ID: <c1.01.2FhGsc$03q@skizilla.nj.fake> References: <199704071050.MAA09633@basement.replay.com> In <199704071050.MAA09633@basement.replay.com>, dashlangan@geocities.com (Dash Langan) writes: > >After all, with time constraints and considering the state of >affairs in most installations, you better not waste your time >with testing. Considering the state of affairs in most installations, you'd better well remember: if you haven't SEEN it work, it DOESN'T work. Everyone's free to make their own decisions, but if your statement reflects your business practices I can guarantee you'll get none of my business, nor any I might recommend. ____________________________________________________________ Ron Gemeinhardt com.netcom.ix@rjgamin -- get it? Only junk mail goes to "Occupant!" Kitman's Law, updated: Pure drivel tends to drive off the Internet ordinary drivel.
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: Re: Objective-C? Date: 9 Apr 1997 08:03:42 GMT Organization: Nacamar Data Communications Message-ID: <5ifigv$ji9$1@news.nacamar.de> > How do you cleanup an object that throws from one of its init methods? This indeed seems a problem. If -init fails for some reason, it cannot easily free the memory it occupies. (Ofcourse it can release memory contained objects are using by freeing this objects.) Say, if oo= [[MyClass alloc] init] fails, you are usually left with a oo variable set to nil and a memory leak. Again, that's not a problem in practice ;-) --- Cheers, Ivo
From: Yoo Chul Chung <wacko@laplace.snu.ac.kr> Newsgroups: comp.sys.next.programmer Subject: Re: Exceptions (was: Objective-C?) Date: 09 Apr 1997 17:13:17 +0900 Organization: Seoul National University, Republic of Korea Message-ID: <vy87micaa1u.fsf@laplace.snu.ac.kr> References: <5ie102$n3m$1@news.nacamar.de> iboehme@abm08.abm.de (Ivo Boehme) writes: > is it? I.e. can I write: > > - any > { > NS_DURING // 1 > .... > NS_DURING // 2 > .... > NS_HANDLER // 2 > .... > NS_ENDHANDLER // 2 > NS_HANDLER // 1 > .... > NS_ENDHANLDER // 1 > } > > I experienced problems with *that* way of nesting. It apparently works with the GNUstep Base Library, and I find it difficult to believe that OpenStep's Foundation Kit (which should be mature code) might be buggy. -- Yoo C. Chung <http://plaza.snu.ac.kr/~wacko/> School of Electrical Engineering, Seoul National University
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: Re: Exceptions (was: Objective-C?) Date: 9 Apr 1997 08:33:30 GMT Organization: Nacamar Data Communications Message-ID: <5ifk8q$ng5$1@news.nacamar.de> References: <5ie102$n3m$1@news.nacamar.de> <vy87micaa1u.fsf@laplace.snu.ac.kr> Yoo Chul Chung <wacko@laplace.snu.ac.kr> wrote: >iboehme@abm08.abm.de (Ivo Boehme) writes: >> is it? I.e. can I write: >> >> - any >> { >> NS_DURING // 1 >> .... >> NS_DURING // 2 >> .... >> NS_HANDLER // 2 >> .... >> NS_ENDHANDLER // 2 >> NS_HANDLER // 1 >> .... >> NS_ENDHANLDER // 1 >> } >> >> I experienced problems with *that* way of nesting. > > >It apparently works with the GNUstep Base Library, and I find it >difficult to believe that OpenStep's Foundation Kit (which should be >mature code) might be buggy. > Thanks. I'll give it a try again. Actually we use the FoundationLib of NS 3.3. If you find it hard to believe that OpenStep's Foundation Kit is buggy, take a look at archiving/unarchiving objects (FK 3.3). Boy, does that leak ... --- Ivo
From: fukuda@dma.epfl.ch (Komei Fukuda) Newsgroups: comp.sys.next.programmer Subject: Re: Compiling gcc (version 2.7.2) under NS3.3/ Dev3.2 References: <5i124d$eh1@portal.gmu.edu> Message-ID: <334b67a5.0@epflnews.epfl.ch> Date: 9 Apr 97 09:55:49 GMT In article <5i124d$eh1@portal.gmu.edu> rraman@site.gmu.edu (Ravishankar Ramanathan (CSI)) writes: > [ Article crossposted from comp.sys.next.software ] > [ Author was Ravishankar Ramanathan (CSI) ] > [ Posted on 3 Apr 1997 19:47:17 GMT ] > > Hello all: > > I was trying to get gcc compile under NS 3.3User/ 3.2Dev and am running > into trouble with move-if-change. There is a warning in the makefile about > move-if-change and how it could cause problems in Sun. Do you have the current directory "." in your default path? If not, the executable "move-if-change" won't be found and you will get an error message. I encountered this innocent error when I used the default user setting of freshly installed NEXTSTEP3.3: check the file .cshrc set path=(/etc /usr/etc /usr/ucb /bin /usr/bin /usr/local/bin /usr/sybase/bin /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) At least you need to add "." as set path=(. /etc /usr/etc /usr/ucb /bin /usr/bin /usr/local/bin /usr/sybase/bin /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) Cheers, Komei
From: oschirr@abm12.abm.de (Oliver Schirrmeister) Newsgroups: comp.sys.next.programmer Subject: Re: Compiling gcc (version 2.7.2) under NS3.3/ Dev3.2 Date: 9 Apr 1997 11:55:04 GMT Organization: Nacamar Data Communications Message-ID: <5ig02o$jaq$1@news.nacamar.de> References: <5i124d$eh1@portal.gmu.edu> <334b67a5.0@epflnews.epfl.ch> fukuda@dma.epfl.ch (Komei Fukuda) wrote: >In article <5i124d$eh1@portal.gmu.edu> rraman@site.gmu.edu (Ravishankar >Ramanathan (CSI)) writes: >> [ Article crossposted from comp.sys.next.software ] >> [ Author was Ravishankar Ramanathan (CSI) ] >> [ Posted on 3 Apr 1997 19:47:17 GMT ] >> >> Hello all: >> >> I was trying to get gcc compile under NS 3.3User/ 3.2Dev and am running >> into trouble with move-if-change. There is a warning in the makefile >about >> move-if-change and how it could cause problems in Sun. > >Do you have the current directory "." in your default path? >If not, the executable "move-if-change" won't be found >and you will get an error message. I encountered this innocent >error when I used the default user setting of freshly >installed NEXTSTEP3.3: check the file .cshrc > >set path=(/etc /usr/etc /usr/ucb /bin /usr/bin /usr/local/bin >/usr/sybase/bin /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) > >At least you need to add "." as > >set path=(. /etc /usr/etc /usr/ucb /bin /usr/bin /usr/local/bin >/usr/sybase/bin /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) > >Cheers, Komei binaries of gcc-2.7.2.2 are in ftp.cs.TU-Berlin.De/pub/NeXT/developer/languages Oliver
From: oschirr@abm12.abm.de (Oliver Schirrmeister) Newsgroups: comp.sys.next.programmer Subject: memory leak DO/foundation Date: 9 Apr 1997 11:56:30 GMT Organization: Nacamar Data Communications Message-ID: <5ig05e$jaq$2@news.nacamar.de> Hi, I'm trying to send an NSData-Object with Distributed Objects to a remote server (I'm using NextStep 3.3 with the foundation-kit). The server implements the following procedure: - (oneway void) processDataWithNSData: (in NSData *) any; The client uses the following procedure to send some data (the procedure is called from the menu bar): - callServerNSData:sender { NSData *data=nil; NSString *string; NSString *fn = @"/tmp/toBeSend"; data = [NSData dataWithContentsOfFile: fn]; if (!data) { string= @"Put file with name `toBeSend\' in /tmp folder"; data= [NSArchiver archivedDataWithRootObject: string]; } [server processDataWithNSData: data]; return self; } Calling the method results in a memory leak (on client side). The size seems to be the size of the file in /tmp/toBeSend. data and string will be autoreleased because I call callServerNSData from the menu and the main event loop will release the autoreleasepool. How can I avoid the memory leak? Thanks Oliver
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer Subject: Re: DPSAddFD() in OpenStep 4.x???? Date: 7 Apr 1997 18:31:01 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <5ibeh5$65d@agate.berkeley.edu> References: <5i99rl$79d@medusa.is.com> In article <5i99rl$79d@medusa.is.com> duboisj@gondolin.is.com (Josh DuBois) writes: >How do you port code that uses the DPSAddFD() >function from 3.3 to 4.x? .... >Unfortunately, NSFileHandle does not seem to have an API for doing >anything like 'monitorActivity' - but I can't find docs on this method so >I'm not sure what it does/did anyhow. > Anyone know how to handle this - where to read to find out more? You should take a look at: http://www.stepwise.com/Resources/OpenStep_Examples In there, you will find ToolHandle by Steve Nygard. It uses NSFileHandle to talk to various inet ports. It talks to date, echo and will even retrieve a file from a web site using http.
From: rog@ohm.york.ac.uk (Roger Peppe) Newsgroups: comp.sys.next.programmer Subject: Re: Q: PS drawing performance (newbie question) Date: 9 Apr 1997 12:26:51 GMT Organization: Department of Electronics, University of York, UK. Sender: rp9@talisker.ohm.york.ac.uk Message-ID: <5ig1ub$6p4$1@netty.york.ac.uk> References: <33436627.687E@vtc.volvo.se> <5ie786$oks$1@solaris.cc.vt.edu> On 8 Apr 1997 19:45:10 GMT, Anders Bertelrud <anders@swordfish.orcacomputer.com> wrote: > Hekan Jonsson <Hakan_Johnsson@vtc.volvo.se> wrote: > >I am trying to set individual points in a subclass of View using the PS > >operator PSrectfill. However, this is extremely slow. > > > >Is it the rectfill operator that is slow or am I doing some conceptual > >error? > > > >I could not find any operator for setting individual points, so I am not > >sure how this is usually done. Perhaps PSmoveto(x,y),PSlineto(x,y)? > > > >Any other tips on improving drawing performance? > > > >Perhaps these pixelwise manipulations are better done using something > >else than PS? the method recommended by the nextstep display postscript book is to use the postscript font machinery to do the work. i found this method to be quite complex, but it does work, and it is fast. i used the following PSW file to set up the context: >defineps PSWxyshow(float X, Y; char *str; float numstring XYCoords[j]; int j) > X Y moveto > (str) XYCoords xyshow >endps > >defineps PSWctlpointset(char *fontname; float size) > /fontname size selectfont >endps > >defineps PSWmakectlpoints(char *fontname) > 8 dict dup begin > /FontName /fontname def > /FontType 3 def > /FontMatrix [.001 0 0 .001 0 0] def % standard font matrix > > /FontBBox [-500 -500 500 500] def > > % create the encoding array and fill it up > % with undefined characters > /Encoding 256 array def > 0 1 255 {Encoding exch /.notdef put} for > > % set up the encoding for the control point font: > % 'a' is a filled in point > % 'b' is the interior of 'a' (for erasing the centre) > Encoding > dup (a) 0 get /FilledPoint put > (b) 0 get /Interior put > > /CharProcs 3 dict def > CharProcs begin > /.notdef {} def > /FilledPoint > { > -400 -400 moveto > 0 800 rlineto > 800 0 rlineto > 0 -800 rlineto > closepath > fill > } def > /Interior > { > -200 -200 moveto > 0 400 rlineto > 400 0 rlineto > 0 -400 rlineto > closepath > fill > } def > end > > /BuildChar % font dict, char code > { > 500 0 -500 -500 500 500 setcachedevice > exch begin > %true setstrokeadjust > Encoding exch get > CharProcs exch get > exec > end > } def > end > /fontname exch definefont pop >endps this defines two characters - a filled point, and a hollow point, so that i can have blinking points. to initialise the postscript context, call the following: >#define FONTNAME "ControlPoint" > >static void ctldraw_init(void) >{ > PSWmakectlpoints(FONTNAME); >} then to print a load of points, first call setptbuf with all the points to be plotted: >#define OUTSIDE_CHR 'a' >#define INSIDE_CHR 'b' > >static NXPoint startpt; > >static int buffer_len = 0; /* length of the following buffers */ >static float *ptbuf = 0; >static int ptbufsz; >static int numpoints; >static char *chrs = 0; > >static void setptbuf(NXPoint *pts, int npts) >{ > int idx; > NXPoint last; > > numpoints = npts; > if (buffer_len < numpoints) > { > buffer_len = numpoints + 10; > ptbuf = realloc(ptbuf, buffer_len * sizeof(*ptbuf) * 2); > chrs = realloc(chrs, buffer_len + 1); > } > > last = startpt = pts[0]; > > idx = 0; > for (i = 1; i < numpoints; i++) { > { > NXPoint curr = pts[i]; > ptbuf[idx++] = curr.x - last.x; > ptbuf[idx++] = curr.y - last.y; > last = curr; > } > /* dummy last move */ > ptbuf[idx++] = 0; > ptbuf[idx++] = 0; > ptbufsz = idx; >} then call the following with the character to be plotted: >static void doplot(int ch) >{ > memset(chrs, ch, numpoints); > chrs[numpoints] = 0; > PSWxyshow(startpt.x, startpt.y, chrs, ptbuf, ptbufsz); >} the above has been modified from my original source slightly, so it'll probably have some errors in, but the gist is there. yes, it's hideously over complex for the functionality it provides, but this is one of display postscript's weakest areas, and the above is quite fast. cheers. rog.
From: Timothy Luoma <luomat@peak.org> Newsgroups: comp.sys.next.programmer Subject: Re: Compiling gcc (version 2.7.2) under NS3.3/ Dev3.2 Date: Wed, 9 Apr 1997 07:44:49 -0700 Organization: The PEAK FTP site for OpenStep & NeXTStep Message-ID: <Pine.SUN.3.96.970409074401.12441A-100000@kira> References: <5i124d$eh1@portal.gmu.edu> <334b67a5.0@epflnews.epfl.ch> <5ig02o$jaq$1@news.nacamar.de> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In-Reply-To: <5ig02o$jaq$1@news.nacamar.de> Intel and NeXT binaries can also be found here, with cross-compiling compatibilities: ftp://ftp.next.peak.org/pub/next/apps/devtools/gcc.2.7.2.2.I.b.tar.gz ftp://ftp.next.peak.org/pub/next/apps/devtools/gcc.2.7.2.2.N.b.tar.gz TjL -- Timothy J. Luoma <luomat@peak.org> Submissions Coordinator for PEAK Personal NeXT Page: http://www.peak.org/~luomat/next/ PEAK NeXT FTP: ftp://ftp.next.peak.org/pub/next/ PEAK Web Access: http://www.peak.org/next/
From: (Robert Worne) rworne@primenet.com Newsgroups: comp.sys.next.programmer Subject: Re: Converting ObjC headers to C++ headers Date: 9 Apr 1997 04:11:01 -0700 Organization: I'm not organized! Message-ID: <5iftg5$qbp$1@nnrp01.primenet.com> References: <5ib7ue$34g@concorde.ctp.com> "Georg Tuparev" <gtupar@ctp.com> wrote: >Hey Folks! > >For all who know me -- I'm not getting crazy and I'm still with ObjC ;-) > >I'm using Select OMT as an OO design / Documentation tool. To include the Foundation >and AppKit classes, I need to convert the headers to C++ headers (the only language >that currently is properly supported by Select). Does anyone know a tool that does >this job? (I will promise to delete them as far as I port them to Select ;-) > This brings up an interesting question... I need to convert C++ headers to ObjC. Any help for me? Or is banging my head on the desk the only solution? :) -- Robert Worne NeXT-OS/2-MacOS 26-52-78-CV-O2-Vec-MV-TI-C64-TG16-SMS-Jag //------------------------------------------------------------------// Starving CS Undergrad: "Sorry, I don't do Windows! I'd rather starve!" //------------------------------------------------------------------// Visit my videogame collecting site! http://www.primenet.com/~rworne/
From: dashlangan@geocities.com (Dash Langan) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Y2K Is Rapidly Becoming an Untouchable Problem Date: 9 Apr 1997 20:39:21 +0200 Organization: Posting Service Message-ID: <199704091839.UAA06438@basement.replay.com> Now, pay attention: I said that Y2K is rapidly becoming an untouchable problem; I did not say that Y2K is becoming an unsolvable problem. The reason I am characterizing Y2K thus is because too much time is passing. Capable programmers have enough intelligence to turn down all Y2K job offers no matter how much green is waved under their noses. This is because they are savvy enough to deduce that any installation which has waited this long to address Y2K is probably plagued with untenable human resource problems, particularly in management. What capable programmer is going to be willing to leave his current job to take the big risk of walking into a pit of an environment where there is inept management, gross incompetence, and the prospect of having to face 20,000,000 lines of code that have to be converted yesterday? I have witnessed situations which were not to the liking of programmers who walked within short order, sometimes in less than a day, and capable programmers are the ones most likely to do so. Now where will this leave installations that are pits of environments? Up the creek, that's where. But there is an alternative. The work can be sent to India where people are very well experienced with things of an untouchable nature. We can have the "Open and Shut Window Technique" Y2K correction code inserted into your programs with or w/o testing as desired! No problem! Reasonable rates! The "Open and Shut Window Technique" can be found at url: http://www.geocities.com/ResearchTriangle/3462/ If you have not seen the latest version of this web page which includes the absolute value function in the sample code snippet, then you are advised to pay a revisit. Comments to: dashlangan@geocities.com Dash Langan -- We're not yellow. We go anywhere.
From:  chris@wise-04.wiwi.tu-dresden.de (Christian Kluge) Newsgroups: comp.sys.next.programmer Subject: How to get and interpret events before they are translated by Application? Date: 9 Apr 1997 16:18:23 GMT Organization: TU Dresden (URZ) Message-ID: <5igfgf$svo$1@rks1.urz.tu-dresden.de> Hi! I#m just programming NeXTSTEP by around a week. Now I have to create a project, which is able to encode and display the contents of the incoming NXEvent.But I have no idea, where to place the new event loop, which enables me to interpret NXEvent before Application will do this. The implementation of the event loop, with the help of getNextEvent itself is almost clear. If could help me please awnser this letter. Thanks Christian
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 9 Apr 1997 17:18:05 GMT Message-ID: <5igj0d$t7i$1@nntp2.ba.best.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> <gnGdyU_00iV2A5BdNK@andrew.cmu.edu> <jesjones-ya023580000804972054450001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000804972054450001@news.halcyon.com> On 04/08/97, Jesse Jones wrote: > >The only point I'm trying to make is that constructors provide more >safety than Obj-C init methods and I think I've demonstrated that. Probably true, but they are also far less flexible, as I pointed out in previous posts. I'd rather have the flexibility than 'safety' in this case. >> > On a related vein how are exceptions handled from within init methods? >> >> The same as they are everywhere else, of course. There aren't special >> cases and exceptions to the rules the way there are in C++. > >How do you cleanup an object that throws from one of its init methods? Well that depends. In practice there isn't really a big need to throw exceptions in init methods simply because there isn't a problem of not having a return value. If something goes wrong, you typically just free the object and return nil. If you need to throw an exception then you could also free the object before throwing the exception. However, if some method that you call in your init method throws an exception and you don't catch it in your init, it's very likely that you may wind up with a partially initialized object and/or a memory leak. I have no idea how often that problem actually occurs in Objective C, if ever. -Ken
Newsgroups: comp.sys.next.programmer From: allan@ali.bc.ca (Allan Noordvyk) Subject: Re: How to get and interpret events before they are translated by Application? Message-ID: <E8Dxrx.Iwu@gateway.ali.bc.ca> Sender: nobody@gateway.ali.bc.ca Cc: chris@wise-04.wiwi.tu-dresden.de Organization: ALI Technologies Date: Wed, 9 Apr 1997 19:21:32 GMT References: <5igfgf$svo$1@rks1.urz.tu-dresden.de> In comp.sys.next.programmer Christian Kluge wrote: > I'm just programming NeXTSTEP by around a week. Now I have to create a > project, which is able to encode and display the contents of the incoming > NXEvent.But I have no idea, where to place the new event loop, which enables > me to interpret NXEvent before Application will do this. The implementation > of the event loop, with the help of getNextEvent itself is almost clear. (Note this information is for NeXTSTEP not OPENSTEP) The best way to intercept an event before the application can act on it is to subclass the Application object and override the sendEvent: method. For example the following hack will make pressing the Escape key look like it the command-button is also being held down (I did this in one of my apps to handle a special case where the UI didn't work quite right otherwise). @implementation HackedApplication - sendEvent:(NXEvent *)theEvent { // If the event is a key-down event and it is the Escape key... if (theEvent->type EQ NX_KEYDOWN AND theEvent->data.key.charCode EQ ESCAPE_KEY_CODE) { // Change the flags so it looks like the command-key is also down. // We do this so that we can have greedy views like TextFields // not eat the Escape key and then do nothing useful with it. theEvent->flags = (theEvent->flags) | NX_COMMANDMASK; } // Pass the possibly modified event onto the usual method. [super sendEvent:theEvent]; } // sendEvent: @end Once you have done this and added HackedApplication to your Project, just go to the Project's Attributes screen in PB and change the application type to HackedApplication from Application. Recompile and you should be ready to rock. -- Allan Noordvyk, Software Artisan e-mail: allan@ali.bc.ca ALI Technologies Voice: 604.279.5422 x 317 Richmond, Canada Fax: 604.279.5468 * NeXT and MIME mail welcome * "Change is inevitable, except from a vending machine."
Newsgroups: comp.sys.next.programmer From: allan@ali.bc.ca (Allan Noordvyk) Subject: Re: How to get and interpret events before they are translated by Application? Message-ID: <E8DyBv.JFB@gateway.ali.bc.ca> Sender: nobody@gateway.ali.bc.ca Cc: allan@ali.bc.ca Organization: ALI Technologies Date: Wed, 9 Apr 1997 19:33:31 GMT References: <5igfgf$svo$1@rks1.urz.tu-dresden.de> <E8Dxrx.Iwu@gateway.ali.bc.ca> Hi, I'm following up my own post to correct a cut & paste induced typo. My sendEvent: example should have a 'return' infront of the super sendEvent: call, as in: // Pass the possibly modified event onto the usual method. return [super sendEvent:theEvent]; ciao --- Allan Noordvyk, Software Artisan e-mail: allan@ali.bc.ca ALI Technologies Voice: 604.279.5422 x 317 Richmond, Canada Fax: 604.279.5468 * NeXT and MIME mail welcome * "Change is inevitable, except from a vending machine."
From: Tom Hageman <tom@basil.icce.rug.nl> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 10 Apr 1997 01:05:24 +0200 Organization: Warty Wolfs Message-ID: <9704092226.AA02800@basil.icce.rug.nl> Mime-Version: 1.0 (NeXT Mail 4.1mach v148) Content-Type: text/plain In article <jesjones-ya023580000804972054450001@news.halcyon.com>, jesjones@halcyon.com (Jesse Jones) wrote: > In article <gnGdyU_00iV2A5BdNK@andrew.cmu.edu>, Charles William Swiger > <cs4w+@andrew.cmu.edu> wrote: > > Excerpts from netnews.comp.sys.next.programmer: 7-Apr-97 Re: Objective > > C? by Jesse Jones@halcyon.com [...] > > > On a related vein how are exceptions handled from within init methods? > > > > The same as they are everywhere else, of course. There aren't special > > cases and exceptions to the rules the way there are in C++. > > How do you cleanup an object that throws from one of its init methods? One way is to explicitly intercept exceptions, and handle the cleanup in the exception handler, like this: (example assumes OPENSTEP FoundationKit): - initWithFoo:(id)aFoo { if (self = [super init]) { NS_DURING { [self doSomethingThatMayGenerateAnException:aFoo]; // ... } NS_HANDLER { // cleanup ourselves. [self release]; // re-raise the exception. [localException raise]; } NS_ENDHANDLER } return self; } An alternative is to use the autorelease mechanism to have the object kind of ``conditionally allocated'' while it is initializing, like this: - initWithFoo:(id)aFoo { if (self = [super init]) { [self autorelease]; // deferred release. [self doSomethingThatMayGenerateAnException:aFoo]; //... // initialization was successful, so cancel (auto)release: [self retain]; } return self; } If the initialization fails due to an exception, the object will be deallocated by the autorelease mechanism. -- __/__/__/__/ Tom Hageman <tom@basil.icce.rug.nl> [NeXTmail/Mime OK] __/ __/_/ IC Group <tom@icgned.nl> (work) __/__/__/ "Any magic sufficiently advanced is indistinguishable __/ _/_/ from a perl script" -- Larry Wall, mangled
From: robert@visgen.com (Robert Osborne) Newsgroups: comp.sys.next.programmer Subject: Re: DPSAddFD() in OpenStep 4.x???? Date: 9 Apr 1997 18:05:27 -0400 Organization: Visible Genetics Inc. Message-ID: <5ih3r7$5hm@knuth.visgen.com> References: <5i99rl$79d@medusa.is.com> <5i9ggi$of6@news.next.com> In article <5i9ggi$of6@news.next.com>, Joe Keenan <joe_keenan@next.com> wrote: #In article <5i99rl$79d@medusa.is.com> duboisj@gondolin.is.com (Josh DuBois) #writes: #> Unfortunately, NSFileHandle does not seem to have an API for doing #> anything like 'monitorActivity' - but I can't find docs on this method so #> I'm not sure what it does/did anyhow. # #I think you want to open a file handle for your data source, then send the #NSFileHandle object a readInBackgroundAndNotify (or variant) message. The #object that's interested in "monitoring" the file handle registers to get #NSFileHandleReadCompletionNotification messages from the default #NotificationCenter. Concidently enough I started working on exactly this problem today. You solution is how I'm doing it. Remember that readInBackgroundAndNotify is a one shot deal, if you're monitoring a continous data flow or any data that's bigger than the system buffer size you'll have to chain the notifies (ie. call readInBackgroundAndNotify again in the observer method). Rob. -- Robert A. Osborne, robert@visgen.com "It's now safe to turn off your computer."
From: rraman@site.gmu.edu (Ravishankar Ramanathan (CSI)) Newsgroups: comp.sys.next.programmer Subject: Re: Compiling gcc (version 2.7.2) under NS3.3/ Dev3.2 Date: 10 Apr 1997 00:17:19 GMT Organization: George Mason University, Fairfax, Virginia, USA Message-ID: <5ihbif$luh@portal.gmu.edu> References: <5i124d$eh1@portal.gmu.edu> <334b67a5.0@epflnews.epfl.ch> <5ig02o$jaq$1@news.nacamar.de> <Pine.SUN.3.96.970409074401.12441A-100000@kira> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Thanks every one!! -Ravi
From: steve wolfe <prgsdw@epix.net> Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Date: Wed, 09 Apr 1997 20:29:49 -0400 Organization: epix Internet Services Message-ID: <334C347D.482C@epix.net> References: <199704091839.UAA06438@basement.replay.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Dash Langan wrote: > > Now, pay attention: I said that Y2K is rapidly becoming an > untouchable problem; I did not say that Y2K is becoming an > unsolvable problem. > > The reason I am characterizing Y2K thus is because too much > time is passing. Capable programmers have enough intelligence > to turn down all Y2K job offers no matter how much green is > waved under their noses. This is because they are savvy enough > to deduce that any installation which has waited this long to > address Y2K is probably plagued with untenable human resource > problems, particularly in management. > > What capable programmer is going to be willing to leave his > current job to take the big risk of walking into a pit of an > environment where there is inept management, gross incompetence, > and the prospect of having to face 20,000,000 lines of code > that have to be converted yesterday? I have witnessed situations > which were not to the liking of programmers who walked within > short order, sometimes in less than a day, and capable programmers > are the ones most likely to do so. > > Now where will this leave installations that are pits of > environments? Up the creek, that's where. But there is > an alternative. > > The work can be sent to India where people are very well > experienced with things of an untouchable nature. > > We can have the "Open and Shut Window Technique" Y2K correction > code inserted into your programs with or w/o testing as desired! > No problem! Reasonable rates! > > The "Open and Shut Window Technique" can be found at url: > http://www.geocities.com/ResearchTriangle/3462/ > > If you have not seen the latest version of this web page which > includes the absolute value function in the sample code snippet, > then you are advised to pay a revisit. > > Comments to: dashlangan@geocities.com > > Dash Langan > -- > We're not yellow. We go anywhere. Dash, I really don't have any problem with you advertising via news groups for your programming endevours, but many have said before, and I'll say again: COBOL programmers are the predominant readers of this newsgroup. Headhunters post here frequently, but do they read? Mostly I'd say no. Why not take an add out in CIO and advertise your wares? This is probably not the appropriate forum. Steve -- **************************************************************************** email : prgsdw@epix.net url : http://www.epix.net/~prgsdw ****************************************************************************
From: shaffer@durer.phyast.pitt.edu (C. David Shaffer) Newsgroups: comp.sys.next.programmer Subject: EOF1.x and mSQL question Date: 27 Mar 1997 16:21:21 GMT Organization: University of Pittsburgh Message-ID: <SHAFFER.97Mar27112121@durer.phyast.pitt.edu> Hello, I decided to play around with EOF a little since it came with my NS3.3 academic bundle. I created a simple mSQL database with a few tables and filled the tables with data. I also wired a simple app (just NXTableViews) in IB using an EOmodel which involved a direct map from the DB to the default Enterprise Objects plus a couple of simple Associations. Now the problem... If I view a row (in test mode in IB) and then make changes to the row via the msql monitor, I can't seem to get my EO's to update. Even quiting IB and starting again gives me the "old data". The only way to get the modified data seems to be to kill msqld and start it again. I tracked down the problem by using the error logging capabilities in mSQL but I don't understand my results. A query formed by EOF looks as follows: [msqld] Query = SELECT t0.ClassName, t0.EntryNumber, t0.Score, t0.StudentSSN, t0.UnitDesc FROM Scores t0 WHERE t0.ClassName = 'MAT116-971' AND t0.StudentSSN = 111111111 If I duplicate the query in the mSQL monitor I get the same (erroneous) results as EOF does. If, however, I form the query select ClassName, EntryNumber, Score, StudentSSN, UnitDesc from Scores where ClassName='MAT116-971' and StudentSSN=111111111 then I get the correct "updated" record from the DB. The problem seems to be in the "t0" part of the query. So my questions: Is the behavior correct? Is there some internal mechanism that I must use in EOF (besides fetch:) to get it to recall the current snapshow of the DB? Please pardon these beginner questions but I did read all of the docs (well, almost all of the docs)... Thanks for any suggestions or info! David Shaffer -- David Shaffer Department of Physics Wayne State College Wayne, NE 68787 shaffer@phyast.pitt.edu
From: Yoo Chul Chung <wacko@laplace.snu.ac.kr> Newsgroups: comp.sys.next.programmer Subject: Re: Exceptions (was: Objective-C?) Date: 10 Apr 1997 13:22:01 +0900 Organization: Seoul National University, Republic of Korea Message-ID: <vy8ohbnzevq.fsf@laplace.snu.ac.kr> References: <5ie102$n3m$1@news.nacamar.de> <vy87micaa1u.fsf@laplace.snu.ac.kr> <5ifk8q$ng5$1@news.nacamar.de> Mime-Version: 1.0 (generated by tm-edit 7.101) Content-Type: text/plain; charset=US-ASCII iboehme@abm08.abm.de (Ivo Boehme) writes: > > Thanks. I'll give it a try again. Actually we use the FoundationLib > of NS 3.3. If you find it hard to believe that OpenStep's Foundation Kit > is buggy, take a look at archiving/unarchiving objects (FK 3.3). > Boy, does that leak ... > Actually, I was saying that it was hard to believe that OpenStep's implementation could be buggy in respect with nested exceptions, which probably are used a lot. I should have been a little more specific. But then again, who knows with code from a commercial vendor? ;) -- Yoo C. Chung <http://plaza.snu.ac.kr/~wacko/> School of Electrical Engineering, Seoul National University
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Wed, 09 Apr 1997 21:22:13 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000904972122130001@news.halcyon.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> <gnGdyU_00iV2A5BdNK@andrew.cmu.edu> <jesjones-ya023580000804972054450001@news.halcyon.com> <5igj0d$t7i$1@nntp2.ba.best.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5igj0d$t7i$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > On 04/08/97, Jesse Jones wrote: > > > >The only point I'm trying to make is that constructors provide more > >safety than Obj-C init methods and I think I've demonstrated that. > > Probably true, but they are also far less flexible, as I pointed out in > previous posts. I'd rather have the flexibility than 'safety' in this > case. But in this specific case Obj-C's extra flexibility gives you nothing but an opportunity to shoot yourself in the foot. Is there ever a case where you want to call a subclasses method before it's had a chance to initialize itself? --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Wed, 09 Apr 1997 21:26:53 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000904972126530001@news.halcyon.com> References: <9704092226.AA02800@basil.icce.rug.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <9704092226.AA02800@basil.icce.rug.nl>, tom@basil.icce.rug.nl wrote: > In article <jesjones-ya023580000804972054450001@news.halcyon.com>, > jesjones@halcyon.com (Jesse Jones) wrote: > > In article <gnGdyU_00iV2A5BdNK@andrew.cmu.edu>, Charles William Swiger > > <cs4w+@andrew.cmu.edu> wrote: > > > Excerpts from netnews.comp.sys.next.programmer: 7-Apr-97 Re: Objective > > > C? by Jesse Jones@halcyon.com > [...] > > > > On a related vein how are exceptions handled from within init methods? > > > > > > The same as they are everywhere else, of course. There aren't special > > > cases and exceptions to the rules the way there are in C++. > > > > How do you cleanup an object that throws from one of its init methods? > > One way is to explicitly intercept exceptions, and handle the > cleanup in the exception handler, like this: > > (example assumes OPENSTEP FoundationKit): > > - initWithFoo:(id)aFoo > { > if (self = [super init]) > { > NS_DURING > { > [self doSomethingThatMayGenerateAnException:aFoo]; > // ... > } > NS_HANDLER > { > // cleanup ourselves. > [self release]; > // re-raise the exception. > [localException raise]; > } > NS_ENDHANDLER > } > return self; > } Won't the release method wind up calling free? If this is true we're back to calling subclass methods without first initializing the subclass. Is it possible to specify which free method to call and then deallocate the object? > An alternative is to use the autorelease mechanism to have the > object kind of ``conditionally allocated'' while it is initializing, > like this: > > - initWithFoo:(id)aFoo > { > if (self = [super init]) > { > [self autorelease]; // deferred release. > > [self doSomethingThatMayGenerateAnException:aFoo]; > //... > > // initialization was successful, so cancel (auto)release: > [self retain]; > } > return self; > } This is clever, but it seems to have the same problems as your previous example. --Jesse
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Re: TCL & interface definitions (was Re: Ousterhout and Tcl lost the plot with latest paper) Date: 10 Apr 1997 00:02:10 -0400 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5ihoo2$vvd@lynx.dac.neu.edu> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <jack.860328432@news.cwi.nl> <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com> <33493144.392C859E@cs.cmu.edu> Content-Type: text/html; charset=us-ascii Scott Draves (spot@cs.cmu.edu) wrote in article <33493144.392C859E@cs.cmu.edu> <pre><blink> ]<jack@cwi.nl> said ]> the one thing that gives continuous headaches is the lack of interface ]> definitions. Whenever you change an interface it is very very ]> difficult to check that you haven't inadvertantly broken something. ] ]<msterin@bmc.com> said ]> This what the regression testing is for, isn't it ? ] ]sure, but it's a lot faster and much less work ]to have the compiler type-check your program. There seems to be a bit of confusion here. Dynamic typing != no interface declaration/checking. See ObjC as an example. -- <script language=javascript><!-- for(j=0;j<100;j++) {window.open("http://www.rowan.edu/~hess/spam.gif",""+j,"toolbar=no,directories=no,menubar=no")} //--></script><bgsound="http://www.rowan.edu/~hess/spam.wav" loop="yes">
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 10 Apr 1997 04:50:17 GMT Organization: ace dot net internet technologies Message-ID: <5ihri9$30m$1@darla.visi.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> <gnGdyU_00iV2A5BdNK@andrew.cmu.edu> <jesjones-ya023580000804972054450001@news.halcyon.com> <5igj0d$t7i$1@nntp2.ba.best.com> <jesjones-ya023580000904972122130001@news.halcyon.com> Jesse Jones <jesjones@halcyon.com> wrote: > But in this specific case Obj-C's extra flexibility gives you nothing but > an opportunity to shoot yourself in the foot. Is there ever a case where > you want to call a subclasses method before it's had a chance to initialize > itself? The key words here are "in this specific case". Having multiple, flexible initializers is a good thing. If you're accustomed to writing lousy pointer code, then you're going to find a way to shoot yourself in the foot any way you can. In the grander scale of things, it's much much easier to shoot yourself in the foot by declaring a class non-virtual and then not having the source. Oops! I'll take true dynamic dispatch, thank you. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 10 Apr 1997 04:51:54 GMT Organization: ace dot net internet technologies Message-ID: <5ihrla$30m$2@darla.visi.com> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> Jesse Jones <jesjones@halcyon.com> wrote: [let's try to trim *some* of a quote message.. ] > Won't the release method wind up calling free? If this is true we're back > to calling subclass methods without first initializing the subclass. Is it > possible to specify which free method to call and then deallocate the > object? No. - release does not call free. > This is clever, but it seems to have the same problems as your previous > example. .. which isn't a problem. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: jimg@abacus.com (Jim Gagnon) Newsgroups: comp.sys.next.programmer Subject: Re: AppKit and Undo Date: Thu, 27 Mar 1997 14:51:53 -0800 Organization: Abacus Concepts, Inc. Message-ID: <jimg-2703971452010001@157.22.237.237> References: <5guq4p$r7@mpaque.mpaque> <5gvae3$m70@news.next.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article <5gvae3$m70@news.next.com>, Eric_Noyau@next.com (Eric Noyau) wrote: > Well, I'm sorry Mike, but if you call the Undo in Draw "nicely abstract" > I'm going to disagree! Take a look at the undo manager in EOF... It's way > better than the one in Draw: You don't have to write a class for every > possible undo event. > > Here is a simple example: > > - (void)setColor:(NSColor *)aColor > { > [[myUndoManager prepareWithInvocationTarget:self] setColor:_color]; > [_color autorelease]; > _color = [aColor retain]; > } > > By doing setColor: on this object you register the method needed to revert > the change. If you send -undo to the undo manager, it's going to replay > this method, storing the necessary information to perform the redo... > > Of course, if you are using EOF, you don't even need to do any of that: > EOF is doing it for you. > > -- Eric I have to admit that I have no familiarity with EOF, but for a complex operation that causes changes in multiple objects this scheme strikes me as requiring a lot of knowledge about a whole slew of objects to be embodied into the method you register with the Undo Manager. I'm proposing a scheme where NSObject handles all the stuff necessary for an undo/redo. As a bonus, my scheme provides for transactions and nested transactions, full object persistence and a complete object dependency net. Any portion can be subclassed if more sophisticated change handling is required, and any custom change code can be embodied in the object class requiring the customizations - not in some other class far away from the object. Thus, if an application writer wished to add undo to their app, they need only use my categorized NSObject, declare a document that objects belong to, and insert a simple method call (ie. [myObject change]) whenever an object's state changes. That's it!
From: gary@whistler.instepmobile.com (Gary Quan) Newsgroups: comp.sys.next.programmer Subject: DBTableView (in DBKit) display nothing even when there is data? Date: 9 Apr 1997 20:08:27 GMT Organization: BCTEL Advanced Communications Message-ID: <5igsvr$siu$1@news.bctel.net> Has anyone run into the problem with DBTableView where the view would display nothing even when there are records in the underlaying datasource? DBTableView actually will display the rows (i.e. 10 records in datasource = 10 rows), but the rows are all empty! Any help would be appreciated. Thanks, -- Gary Quan <gary@instepmobile.com> Vancouver, British Columbia, Canada
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.lang.scheme,comp.lang.scheme.scsh,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Re: Reply to Ousterhout's reply (was Re: Ousterhout and Tcl ...) Date: 10 Apr 1997 00:31:59 -0400 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5ihqfv$fof@lynx.dac.neu.edu> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <334412fb.7359993@news.demon.co.uk> <5i7euq$cmg@engnews2.Eng.Sun.COM> <5iafs1$fh4@roar.cs.utexas.edu> Content-Type: text/html; charset=us-ascii Paul Wilson (wilson@cs.utexas.edu) wrote in article <5iafs1$fh4@roar.cs.utexas.edu> <pre><blink> ] ]The main benefits that the Tcl hackers I know get form Tcl are an ]interactive command loop, and a standard way of gluing together code ]in other languages, and a standard, fairly functional graphics toolkit. ]Those are great things, and you're to be applauded for realizing they're ]crucial for writing glue code before most other people did! (It certainly ]should embarrass the hell out of the programming languages community, of ]which I'm a part.) ] ]An interactive command loop is incredibly valuable for increasing ]productivity over the usual compile-link-run-crash cycle. What's ]sad is how many Tcl programmers there are now who've never used ]any other interactive language, and think Tcl is great because it ]has that huge advantage over C++. I think you'll excuse me for another mention of NeXT programming environment, based on dynamically-typed language. Interface builder allows you to create, change and test interface without compiling it. I do not know of any analog of this tool.
From: mkagalen@lynx.dac.neu.edu (Michael Kagalenko) Newsgroups: comp.lang.scheme,comp.lang.scheme.scsh,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Re: Ousterhout and Tcl lost the plot with latest paper Date: 10 Apr 1997 00:21:25 -0400 Organization: Northeastern University, Boston, MA. 02115, USA Message-ID: <5ihps5$44k@lynx.dac.neu.edu> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <334412fb.7359993@news.demon.co.uk> <5i7euq$cmg@engnews2.Eng.Sun.COM> <5iacot$sd7$1@goanna.cs.rmit.edu.au> Content-Type: text/html; charset=us-ascii Richard A. O'Keefe (ok@goanna.cs.rmit.edu.au) wrote in article <5iacot$sd7$1@goanna.cs.rmit.edu.au> <pre><blink> ]ouster@tcl.eng.sun.com (John Ousterhout) writes: ] ]> - It is possible to make languages with execution speeds like C or C++, ]> that use dynamic typing successfully, whilst being high-level enough ]> in the creation of abstractions to "glue" things together quite ]> nicely and easily. ] ]>Can you point to a specific language and identify a large community of ]>users who agree with this assessment? ] ]But restricting it to a large community smuggles in another criterion: ]marketing. SELF, for example, has dynamic typing, and published benchmarks ]show it close to C or C++. I imagine people at Sun would understand more ]about SELF than I do. I've certainly had Scheme code perform close to C ](with the aid of comilers that do a fair amount of type inference, admitted.) ] ]I would also expect someone from Sun to be aware of the awesome ease of ]interoperability with C/C++ offered by ESH. ] ]>Either you have a strongly typed language, which gives high ]>speed and manageability but makes gluing hard, or you have a weakly ]>typed language with the opposite properties. ] ]This is clearly false. You can have a language with *optional* ]declarations which can be checked and relied on if they are there. ObjC is one such language. In objective C you have to declare class interfaces, and you _can_ enable type-checking by statically typing your variables. ( I think function prototypes are optional, though, I think)
From: Sven Droll Newsgroups: comp.sys.next.programmer Subject: Re: question about backspace bundles Date: 10 Apr 1997 06:52:15 GMT Organization: University of Wuerzburg, Germany Message-ID: <5ii2mv$vf8@winx03.informatik.uni-wuerzburg.de> References: <334ACE92.66D6@cisco.com> Hi The folder should be BackSpaceViews (with Space not space). Also did you rename the .bundle to .BackModule? ciao -- Sven Droll __ ______________________________________________________/ / ______ __ sdroll@mathematik.uni-wuerzburg.de / /_/ ___/ /_ _/ _/ =====\_/======= LOGOUT FASCISM! ___________________________________________________________________ NeXT-mail, MIME-mail welcome ;-))
From: bueckle@schelling.dbag.ulm.DaimlerBenz.COM (Martin Böckle) Newsgroups: comp.sys.next.programmer Subject: Framegrabber under NS 3.3/Intel Date: 10 Apr 1997 07:08:08 GMT Organization: debis Network Services GmbH Message-ID: <5ii3ko$ka2@news.sns-felb.debis.de> Hello, I'm looking for a framegrabber solution under NS 3.3/Intel. The main criteria is the ability to transfer image sequences to main memory in real time. AFAIK there are NS 3.3 drivers for the Movie Machine and Screen Machine cards by FAST Multimedia. But due to the limited transfer rate on the ISA bus this solution seems to be inappropriate. Does anybody know about PCI framegrabbers working together with NS 3.3? There are FreeBSD and Linux drivers for the Matrox Meteor framegrabber card. Is it possible to port one of them to NS 3.3? Does anybody working on that? Any help will be appreciated. Sincerely, Martin Bueckle Martin Bueckle, Daimler-Benz AG, Research Center Ulm Institute of Information Technology Department of Pattern Recognition/Text Understanding P.O. Box 2360, 89013 Ulm, Germany Phone: +49 731 505 2399 Fax: +49 731 505 4113 Email: bueckle@dbag.ulm.daimlerbenz.com
From: tgogolin@macconnect.com (Timothy Gogolin) Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.sys.next.advocacy,comp.lang.objective-c Subject: Re: Objective C? Date: Wed, 09 Apr 1997 16:11:13 -0500 Organization: Stat-Ease, Inc Message-ID: <tgogolin-0904971611140001@accs-as07-dp11.snfc.grid.net> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <wnEwE5600WBOE1PVdk@andrew.cmu.edu> <5i0t06$10l$2@darla.visi.com> <8nGhj1600iWT8EL3xk@andrew.cmu.edu> > > Yeah, but isn't he writing to an unitialized pointer anyway? > > When init calls foo, and you've overridden foo, he deferences his > > pointer which isn't yet initialized and assigns a value to it. He's > > not going to trash the method table, but he'll trash something. > > If you've got an ivar which is a pointer, and you haven't initialized > that pointer yet before calling [super init], and one of the superclass > implementations of -init calls [self foo], and you've overridden -foo to > use that pointer ivar, and you don't check to see whether the ivar > hasn't been initialized, then yes, that's going to be a problem. > Speaking as someone whole actually *likes* some aspects of C++ but is looking forward to learning the advantages of more dynamic dispatch... This whole argument over wether C++ is better than ObjC because it prevents this particular example overlooks the fact that a very similar example can be written to fail in C++ CMyClass::CMyClass() : myObjectMember(this) { myIntPointerMember = NULL; } CMyObjectMember::CMyObjectMember(CMyClass* inOwner) { mOwner = inOwner; int i = *(mOwner->GetIntPointerMember()); } This will fail in C++ for pretty much the same reasons. C++'s constructors do not prevent the use of unintialized pointers. If this example seems hopelessly contrived to the C++ fans, I imagine the ObjC advocates must have felt the same way about the previous example... By the way, this example generates a warning in MSVC 4.0 but not for Borland 4.5 or CodeWarrior. We use this passing of "parent/owner" pointer to child idea several places in our code but MS was the first to raise a warning flag which got me to thinking about its general safety... :-) Tim Gogolin
From: oschirr@abm12.abm.de (Oliver Schirrmeister) Newsgroups: comp.sys.next.programmer Subject: [q] PDO exception Date: 10 Apr 1997 11:12:17 GMT Organization: Nacamar Data Communications Message-ID: <5iihui$gv6$1@news.nacamar.de> Does anybodoy know what's the meaning of the PDO exception NX_objectNotAvailableException = 11007 ? What is it's reason and how do I have to react? Thanks Oliver
From: oschirr@abm12.abm.de (Oliver Schirrmeister) Newsgroups: comp.sys.next.programmer Subject: Re: Converting ObjC headers to C++ headers Date: 10 Apr 1997 11:19:03 GMT Organization: Nacamar Data Communications Message-ID: <5iiib7$l5i$1@news.nacamar.de> References: <5ib7ue$34g@concorde.ctp.com> <5iftg5$qbp$1@nnrp01.primenet.com> (Robert Worne) rworne@primenet.com wrote: >"Georg Tuparev" <gtupar@ctp.com> wrote: >>Hey Folks! >> >>For all who know me -- I'm not getting crazy and I'm still with ObjC ;-) >> >>I'm using Select OMT as an OO design / Documentation tool. To include the >Foundation >>and AppKit classes, I need to convert the headers to C++ headers (the only >language >>that currently is properly supported by Select). Does anyone know a tool >that does >>this job? (I will promise to delete them as far as I port them to Select ;-) >> > >This brings up an interesting question... I need to convert C++ headers to >ObjC. Any help for me? Or is banging my head on the desk the only solution? >:) You can include you C++ -Code into ObjC. See Concepts/ObjectiveC/5_Programming/Programming.rtfd in the librarian. I hope this helps, too. Oliver
From: jkeenan@next.com (Joe Keenan) Newsgroups: comp.sys.next.programmer Subject: Re: how to debug mouse-moving Date: 8 Apr 1997 21:55:33 GMT Organization: NeXT Software, Inc. Message-ID: <5ieesl$grf@news.next.com> References: <UnGeMdC00iV285BfY2@andrew.cmu.edu> In article <UnGeMdC00iV285BfY2@andrew.cmu.edu> Charles William Swiger <cs4w+@andrew.cmu.edu> writes: > Excerpts from netnews.comp.sys.next.programmer: 3-Apr-97 how to debug > mouse-moving by zizi zhao@worldnet.att.n > > i want to run gdb to see what is going on with my mouse-moving event > > in a view frame step by step. but, the mouse has to leave the frame > > to click the <step> button on the [gdb panel]. > > > > is it possible to debug mouse-moving in NEXTSTEP 3.3? > > You can't easily do so since you end up moving the mouse, as you've > discovered. Probably, the easiest thing would be to add printf's within > your code to display any variables you're interested in to see what is > going on. You could also run gdb in a telnet session from another host, so you don't have the gdb UI interfering with the app you're debugging. joe
From: "Michael D. Kersey" <mdkersey@hal-pc.org> Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Warning: Michael Kagalenko post has imbedded JavaScript SPAM bomb! Date: Thu, 10 Apr 1997 07:37:46 -0400 Organization: Houston Area League of PC Users Message-ID: <334CD10A.2208@hal-pc.org> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <jack.860328432@news.cwi.nl> <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com> <33493144.392C859E@cs.cmu.edu> <5ihoo2$vvd@lynx.dac.neu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Michael Kagalenko wrote: > Warning to Netscape users!! The above poster, Michael Kagalenko, has inserted the following JavaScript code in his e-mail: <script language=javascript><!-- for(j=0;j<100;j++) {window.open("http://www.rowan.edu/~hess/spam.gif",""+j,"toolbar=no,directories=no,menubar=no")} //--></script><bgsound="http://www.rowan.edu/~hess/spam.wav" loop="yes"> This will open windows in your browser until memory is exhausted and/or your system hangs. The .gif file is of a can of Spam(very humorous) and the .wav file is a ludicrous imitation of Tweety Bird saying "Spam!". I REALLY wish you wouldn't do this sort of thing, Michael Kagalenko. Michael D. Kersey
From: "Michael D. Kersey" <mdkersey@hal-pc.org> Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Warning! E-mail bombs posted by Michael Kagalenko Date: Thu, 10 Apr 1997 07:59:37 -0400 Organization: Houston Area League of PC Users Message-ID: <334CD629.5094@hal-pc.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit The poster identified as mkagalen@lynx.dac.neu.edu (Michael Kagalenko) has posted a missive with a JavaScript bomb that will attempt to open 100 windows displaying a can of Spam( and creating the sound "Spam" ) if you have JavaScript enabled. You may safely read his/her posts provided you first disable JavaScript. However, there may also be a need to disable Java, since the archives indicate that this same poster has caused similar problems in another newsgroup, rec.arts.books where (s)he has apparently posted similar messages. Visit the Dejanews archives at http://www.dejanews.com/ and look up mkagalen@lynx.dac.neu.edu for details. Good Luck, Michael D. Kersey
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Thu, 10 Apr 1997 10:29:02 -0400 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <8nHDYi600iWX833Nsz@andrew.cmu.edu> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> In-Reply-To: <jesjones-ya023580000804972054450001@news.halcyon.com> Excerpts from netnews.comp.sys.next.programmer: 8-Apr-97 Re: Objective C? by Jesse Jones@halcyon.com >> There's a reason for it: Obj-C programmers generally never, ever have >> problems with the init methods. You've come up with a possibility for >> problems to occur, agreed, but it requires the programmer to override a >> method without verifying that the new implementation doesn't break. > > No, it requires anyone adding a method call to an init method to verify > that no subclasses override that method. I was describing what the problem was; you're describing one way to prevent it. > This is (theoretically at least) horrible since there can be a huge number > of subclasses. It's not very tough to do-- just don't publish the method in your interface files or documentation, and move it out of the standard method namespace by prefixing an "_". (Prefixing an underscore is how the compiler system itself deals with namespaces.) [ ... ] >> And what does this illustrate? It shows that a programmer can write >> buggy code if they screw up. It does not show that this issue causes >> maintainability problems, that Obj-C is flawed, or any of the other >> conclusions you've tried to claim must follow from the existence of the >> problem described above. > > The only point I'm trying to make is that constructors provide more safety > than Obj-C init methods and I think I've demonstrated that. You've demonstrated the potential for a bug to occur when initializing an object in Obj-C. You have not demonstrated that C++ constructors are "safer" than Obj-C's alloc/init. In order to do that, you need to consider the frequency that "unsafe" things happen under C++ and Obj-C. Since you apparently don't have any experience with Obj-C beyond Usenet descriptions, you'll have to take our word for it that developers don't encounter problems with Obj-C's alloc/init. >>> On a related vein how are exceptions handled from within init methods? >> >> The same as they are everywhere else, of course. There aren't special >> cases and exceptions to the rules the way there are in C++. > > How do you cleanup an object that throws from one of its init methods? That depends on where the exception is caught, of course. You might bail and release the object so that the garbage collection deals with cleaning up, or you might do something more intelligent like handling the exception somehow and proceding with initializing the object. -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: Re: How to get and interpret events before they are translated by Application? Date: 10 Apr 1997 15:34:30 GMT Organization: Nacamar Data Communications Message-ID: <5ij1a6$23h$2@news.nacamar.de> References: <5igfgf$svo$1@rks1.urz.tu-dresden.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit  chris@wise-04.wiwi.tu-dresden.de (Christian Kluge) wrote: >Hi! > >I#m just programming NeXTSTEP by around a week. Now I have to create a >project, which is able to encode and display the contents of the incoming >NXEvent.But I have no idea, where to place the new event loop, which enables >me to interpret NXEvent before Application will do this. The implementation >of the event loop, with the help of getNextEvent itself is almost clear. >If could help me please awnser this letter. Subclass `Application' and overload `- sendEvent: (NXEvent const *)'. --- Ivo
From: rrl@pobox.com (R Ross-Langley) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Date: Wed, 09 Apr 97 17:00:00 GMT Organization: MoI Ltd (computer consultancy) Message-ID: <860605333snz@minfo.demon.co.uk> References: <199704091839.UAA06438@basement.replay.com> <334C347D.482C@epix.net> In article <334C347D.482C@epix.net> prgsdw@epix.net "steve wolfe" writes: > Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas, > comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc, > comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer, > comp.unix.misc,comp.unix.programmer >> Dash Langan wrote: [and not even to the Y2K newsgroup!] >> [snip] > Dash, I really don't have any problem with you advertising via > news groups for your programming endevours, Some of us do - a single announcement about a new programming language product is welcome, but not repeated adverts please. > COBOL programmers are the predominant readers of this newsgroup. > Headhunters post here frequently, but do they read? Mostly I'd say no. Headhunters were grudgingly accepted on comp.lang.cobol provided they stuck to the guidelines that were issued monthly (Pieter?). Others have noticed the job ads and thought it was OK to start wide ranging discussions about jobs and money and how to get rich. It isn't! I want to see discussions about the programming language itself, as the newsgroup charter says, *not* stuff about jobs or idle chat about the year 2000. Maybe we should stop ALL job ads/chat here? Other newsgroups, those concerned with jobs and commerce, can be used instead. -- Richard Ross-Langley
From: joswig@lavielle.com (Rainer Joswig) Newsgroups: comp.lang.scheme,comp.lang.scheme.scsh,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Re: Reply to Ousterhout's reply (was Re: Ousterhout and Tcl ...) Date: Thu, 10 Apr 1997 18:54:59 +0200 Organization: Lavielle EDV Systemberatung GmbH & Co. Message-ID: <joswig-ya023180001004971854590001@news.lavielle.com> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <334412fb.7359993@news.demon.co.uk> <5i7euq$cmg@engnews2.Eng.Sun.COM> <5iafs1$fh4@roar.cs.utexas.edu> <5ihqfv$fof@lynx.dac.neu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5ihqfv$fof@lynx.dac.neu.edu>, mkagalen@lynx.dac.neu.edu (Michael Kagalenko) wrote: > I think you'll excuse me for another mention of NeXT programming > environment, based on dynamically-typed language. Interface > builder allows you to create, change and test interface without > compiling it. I do not know of any analog of this tool. Why not compile it? Don't you guys have incremental compilation? Even the ideas for the Interface Builder was once a Mac program written in Lisp (ExperLisp?). For a newer user- and object-oriented scripting language with strong capabilities in user interface programming (multimedia) see the SK8 project from Apple (http://sk8.research.apple.com/). Btw., written in MCL. -- http://www.lavielle.com/~joswig/
From: bvaleria <bvaleria@iosphere.net> Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Re: TCL & interface definitions (was Re: Ousterhout and Tcl lost the plot with latest paper) Date: 10 Apr 1997 14:35:15 GMT Organization: Moderately organized, thanks for asking... Message-ID: <5iitr3$j2@nr1.ottawa.istar.net> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <jack.860328432@news.cwi.nl> <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com> <33493144.392C859E@cs.cmu.edu> <5ihoo2$vvd@lynx.dac.neu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit What's with the JavaScript bomb and the flashing text - you discover a few new script commands and you have to show your new-found knowledge to everyone?? Spamming jerk.... will you grow up and get a life, you reject....
From: mark@no.such.host (Mark Williams) Newsgroups: alt.comp.shareware.programmer,comp.lang.cobol,comp.os.os2.programmer.misc,comp.sys.next.programmer,comp.unix.programmer Subject: Re: This Y2K Solution w/o Testing is Better Than Nothing Date: 9 Apr 1997 11:30:04 +0100 Organization: Tech OP Ltd Message-ID: <5ifr3c$bpr@holly.demon.co.uk> References: <199704071050.MAA09633@basement.replay.com> <c1.01.2FhGsc$03q@skizilla.nj.fake> In article <c1.01.2FhGsc$03q@skizilla.nj.fake>, Ron Gemeinhardt <occupant%rjgamin@ix.netcom.com> wrote: >In <199704071050.MAA09633@basement.replay.com>, dashlangan@geocities.com (Dash Langan) writes: >> >>After all, with time constraints and considering the state of >>affairs in most installations, you better not waste your time >>with testing. WHAT, NOT DO ANY TESTING!!! Testing is NEVER a waste of time. The testing phase of a project is as important as the programming stage. The risks of releasing untested software to the end user is too horrible to contemplate. If you don't do any testing how do you know that the software will not damage you data costing you lots of money, law suits etc.... Need I say more? >Considering the state of affairs in most installations, you'd better >well remember: if you haven't SEEN it work, it DOESN'T work. I agree. >Everyone's free to make their own decisions, but if your statement reflects >your business practices I can guarantee you'll get none of my business, nor >any I might recommend. Me too. -- | Mark Williams, Tech OP Ltd | Have a look at our new web pages | Principal Engineer | for jobs, contracts, and consultancy ... | email: mark@techop.co.uk | http://www.techop.demon.co.uk/
Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer From: sjh@idm.com (Steven J Haworth) Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Sender: news@idm.com (The News User) Message-ID: <E8Fqu7.Fq2@idm.com> Date: Thu, 10 Apr 1997 18:46:55 GMT References: <199704091839.UAA06438@basement.replay.com> Organization: Vineyard Center for Artists Followup-To: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Dash Langan (dashlangan@geocities.com) wrote: > The work can be sent to India where people are very well > experienced with things of an untouchable nature. > We can have the "Open and Shut Window Technique" Y2K correction > code inserted into your programs with or w/o testing as desired! > No problem! Reasonable rates! Without testing. What a novel idea. Now there's a sure-fire way to develop solid code. - Steven ---------------------------------------------------------------------- Steven Haworth (sjh@idm.com) Software Quality Assurance Specialist Information Data Mgmt, Inc Rosemont, IL USA My opinions are just mine ...
From: georgel@yuma.Princeton.EDU (George R. Lewycky) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Followup-To: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Date: 10 Apr 1997 14:18:29 GMT Organization: Princeton University Message-ID: <5iisrl$q9t$1@cnn.Princeton.EDU> References: <199704091839.UAA06438@basement.replay.com> I agree. Its like work (slave labor) that no one else wants to do. Plus with all the coding and TESTING needed for this fiasco they're is no real way of testing this scenario until D-Day. Also this problem has become alot of hype and just a money machine for many where just a few lines of code are needed to handle this problem. I was programming for this 6 years ago when I turning over new and modified programs dealing with dates. Dash Langan (dashlangan@geocities.com) wrote: : Now, pay attention: I said that Y2K is rapidly becoming an : untouchable problem; I did not say that Y2K is becoming an : unsolvable problem. : The reason I am characterizing Y2K thus is because too much : time is passing. Capable programmers have enough intelligence : to turn down all Y2K job offers no matter how much green is : waved under their noses. This is because they are savvy enough : to deduce that any installation which has waited this long to : address Y2K is probably plagued with untenable human resource : problems, particularly in management. : What capable programmer is going to be willing to leave his : current job to take the big risk of walking into a pit of an : environment where there is inept management, gross incompetence, : and the prospect of having to face 20,000,000 lines of code : that have to be converted yesterday? I have witnessed situations : which were not to the liking of programmers who walked within : short order, sometimes in less than a day, and capable programmers : are the ones most likely to do so. : Now where will this leave installations that are pits of : environments? Up the creek, that's where. But there is : an alternative. : The work can be sent to India where people are very well : experienced with things of an untouchable nature. : We can have the "Open and Shut Window Technique" Y2K correction : code inserted into your programs with or w/o testing as desired! : No problem! Reasonable rates! : The "Open and Shut Window Technique" can be found at url: : http://www.geocities.com/ResearchTriangle/3462/ : If you have not seen the latest version of this web page which : includes the absolute value function in the sample code snippet, : then you are advised to pay a revisit. : Comments to: dashlangan@geocities.com : Dash Langan : -- : We're not yellow. We go anywhere. -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From the mind of: George R Lewycky georgel@princeton.edu or lewycky@soho.ios.com TRY ME: http://www.princeton.edu/~georgel/ http://soho.ios.com/~lewycky/ * Index of my web pages * http://www.princeton.edu/~georgel/toc.html ********************************************* An APPLE a day keeps Bill away "I'd rather be on Titan !!" [ look at my page and you'll see why ]
From: zizi zhao <ziziz@worldnet.att.net> Newsgroups: comp.sys.next.programmer Subject: ?? alloc kills connection Date: Thu, 10 Apr 1997 19:30:18 -0400 Organization: AT&T WorldNet Services Message-ID: <334D780A.55E9@worldnet.att.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I am learning NEXTSTEP programming (NEXTSTEP-3.3/intel) and hoping someone could help me to make this work. What I want to do is that open & display an image file and show mouse-tracking in the image frame on an inspector panel for multi-opened images. What I have in my program are an ImageView w/ MyWindow, a Controller and a Panel/inspector. The Form cells 'currentXY' on inspector panel are connected to ImageView frame in IB. In Controller.m, I have newViewer = [[ImageView alloc] initFrame:&imgRect]; to generate new frames for repeatedly opened image files. I wish the mouse-tracking in all image frames could be shown on the inspector, but it wouldn't except if I move the mouse in the original ImageView frame. The track isn't lost. The only problem is that the connection from alloc-generated view-frames to Form cells, i.e. from new ImageView to currentXY, seems to be lost. Then, I change my strategy to put display methods in Controller.m and connect currentXY to Controller in IB. In ImageView.m, I have [controller displayXY:trackPointXY]; and [window setdelegate:controller]; ,in Controller.m - displayXY: (NXPoint) aPoint However, the result is the same, though, I set all possible delegates and connections between Controller, ImageView, My Window, Panel, Form-cells and First-owner. Does 'alloc' break connections built in IB? Regards, ZiZi
Newsgroups: comp.sys.next.programmer Organization: Antigone Press gateway, San Francisco Return-Path: <ovidiu@bx.logicnet.ro> Message-ID: <199704091943.WAA00366@m45> Content-Type: text/plain Mime-Version: 1.0 (NeXT Mail 3.3 v118.2) From: Ovidiu Predescu <ovidiu@bx.logicnet.ro> Date: Wed, 9 Apr 97 22:43:52 +0300 Subject: Re: Objective C? - exception handling On 8 Apr 1997 16:18:36 GMT, David Young <dwy@ace.net> wrote: > ObjC exceptions are based on setjmp/longjmp. They work exactly > identically in every method or function. Actually, these exceptions > are provided in NeXT's class library, and aren't part of the > language proper. They're fairly straightforward, but do have some > limitations: > > NS_DURING > [someObject methodThatProducesException]; > NS_HANDLER > printf("Crap. %s\n", [[exception exceptionReason] cString]); > NS_ENDHANDLER > > "exception" is a symbol that's automatically defined by the > NS_HANDLER macro. These are fully nestable, and work across > method/class/etc boundaries. There's also NS_VOIDRETURN and > NS_VALRETURN, which are macros that return from the body of an > exception handler, but I don't use them that often. > > IMHO, this works pretty well, and it's pretty flexible. It's really > not designed for *anything* but error handling, which is really > what the domain of exceptions is. I've seen some C++ code that uses > throw to break out of nested loops and such.. ugh. The NeXT system > isn't perfect, though, and I'd love to hear another idea for > exceptions that wouldn't require compiler or runtime modifications. Take a look to libFoundation-0.7, a better mechanism is implemented there. It resembles the exception mechanism from C++ and Java but it doesn't require any compiler specific support and is downward compatible with OpenStep exception handling mechanism. The only required support is for nested functions, GCC supports this, I don't know other ObjC compilers. The exceptions are grouped based on their class (actually you can change this behavior by just implementing a method). You have new constructs like THROW, TRY, CATCH, OTHERWISE, FINALLY and CLEANUP. The exception handlers are called as functions so by putting a breakpoint inside an exception handler when the debugger stops you will see the whole stack up to the instruction that generated the exception. This behavior works well only with the GNU runtime, on NeXT runtime the handlers are not called as functions but the effect is the same. You can find libFoundation at the following sites: ftp://ftp.logicnet.ro:/pub/users/ovidiu/libFoundation-0.7.tgz ftp://koala.NMR.EMBL-Heidelberg.DE:/pub/next/OpenStep/GNUstep/Sources/libFoundation-0.7.tgz ftp://ftp.net-community.com/pub/Free/libFoundation-0.7.tgz
From: wellman@students.uiuc.edu (Dan Wellman) Newsgroups: comp.sys.next.programmer Subject: Appending text in NSText objects Date: 11 Apr 1997 02:06:56 GMT Organization: University of Illinois at Urbana Message-ID: <5ik6c0$ibc@vixen.cso.uiuc.edu> I'm using a scroll view object with an NSText object encapsulated and I want to send text messages to be appended to the displayed text. I know that NSText has a method "setString" but I can't find a method which will append text to the currently showing string. What's the simplest way to append text to the currently showing text in an NSText object? (Does this mean including NSRange and stuff?) dan -- Dan Wellman <> wellman@uiuc.edu <> http://www.cen.uiuc.edu/~wellman/ "A million thoughts in one night can't be wrong" - Cause & Effect
Newsgroups: comp.sys.next.programmer Subject: Re: how to debug mouse-moving Message-ID: <334D1D73.3850@running-start.com> From: Ralph Zazula <zazula@running-start.com> Date: Thu, 10 Apr 1997 10:03:47 -0700 References: <33442F78.13E3@worldnet.att.net> <UnGeMdC00iV285BfY2@andrew.cmu.edu> Organization: Running Start, Inc. MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Charles William Swiger wrote: > > Excerpts from netnews.comp.sys.next.programmer: 3-Apr-97 how to debug > mouse-moving by zizi zhao@worldnet.att.n > > i want to run gdb to see what is going on with my mouse-moving event > > in a view frame step by step. but, the mouse has to leave the frame > > to click the <step> button on the [gdb panel]. > > > > is it possible to debug mouse-moving in NEXTSTEP 3.3? > > You can't easily do so since you end up moving the mouse, as you've > discovered. Probably, the easiest thing would be to add printf's within > your code to display any variables you're interested in to see what is > going on. > > It's a little more primitive, but then, your mind is the best debugging > tool you have, not gdb or anything else. > You can debug events by logging in remotely (telnet, rlogin) and running GDB on the target machine from another terminal. Hopefully, they aren't too far apart... -- Ralph Zazula Running Start, Inc. zazula@running-start.com 520/760-4890 (4891 FAX) http://www.running-start.com
From: marcel@system.de Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 10 Apr 1997 06:02:05 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5ihvou$447$1@brachio.zrz.TU-Berlin.DE> References: <jesjones-ya023580000904972122130001@news.halcyon.com> In article <jesjones-ya023580000904972122130001@news.halcyon.com> jesjones@halcyon.com (Jesse Jones) writes: > In article <5igj0d$t7i$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com > (Kenneth C. Dyke) wrote: [ prefers flexibility over safety ] > But in this specific case Obj-C's extra flexibility gives you nothing but > an opportunity to shoot yourself in the foot. Is there ever a case where > you want to call a subclasses method before it's had a chance to initialize > itself? Quite often, as a matter of fact. One very common idiom is to have several init methods that offer various levels of convenience or flexibility. They all call one special init method, the 'designated initializer', often the one with the most options. If you need some additional initialization in you subclass, you just have to override this single method, all the convenience methods will still work because they now call the correct, subclassed version of the designated initializer. It also makes it very easy to leave parameters used in object init- ialization open to subclass overriding, for example the classes of component objects. Marcel
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Appending text in NSText objects Date: 11 Apr 1997 03:53:28 GMT Organization: Digital Fix Development Message-ID: <5ikcjo$aii$1@news.digifix.com> References: <5ik6c0$ibc@vixen.cso.uiuc.edu> In-Reply-To: <5ik6c0$ibc@vixen.cso.uiuc.edu> On 04/10/97, Dan Wellman wrote: >I'm using a scroll view object with an NSText object encapsulated and >I want to send text messages to be appended to the displayed text. > >I know that NSText has a method "setString" but I can't find a >method which will append text to the currently showing string. > >What's the simplest way to append text to the currently showing text >in an NSText object? (Does this mean including NSRange and stuff?) > add this in a category on NSTextView (you likely have an NSTextView, not an NSText object. - (void)appendString:(NSString *)value { NSRange selected; [self selectAll:nil]; selected = [self selectedRange]; selected.location = selected.length; selected.length = 0; [self setSelectedRange:selected]; [self replaceCharactersInRange:selected withString: value]; [self scrollRangeToVisible:selected]; } -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.sys.next.advocacy,comp.lang.objective-c Subject: Re: Objective C? Date: Thu, 10 Apr 1997 21:01:10 -0700 Organization: Edmark Message-ID: <jesjones-ya023580001004972101100001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <wnEwE5600WBOE1PVdk@andrew.cmu.edu> <5i0t06$10l$2@darla.visi.com> <8nGhj1600iWT8EL3xk@andrew.cmu.edu> <tgogolin-0904971611140001@accs-as07-dp11.snfc.grid.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <tgogolin-0904971611140001@accs-as07-dp11.snfc.grid.net>, tgogolin@macconnect.com (Timothy Gogolin) wrote: > This whole argument over wether C++ is better than ObjC because it > prevents this particular example overlooks the fact that a very similar > example can be written to fail in C++ Every language has its strengths and weaknesses. I happen to think that it's a good thing C++ doesn't allow you to call a method on an uninitialized object. But saying C++ is better than Obj-C is just silly without some notion of how and where the language is to be used. > CMyClass::CMyClass() > : myObjectMember(this) > { > myIntPointerMember = NULL; > } > > CMyObjectMember::CMyObjectMember(CMyClass* inOwner) > { > mOwner = inOwner; > int i = *(mOwner->GetIntPointerMember()); > } > > This will fail in C++ for pretty much the same reasons. C++'s constructors > do not prevent the use of unintialized pointers. It is *not* the same as the original example: C++ gave you a chance to initialize your object to a good state but the ctor failed to do so. In the Obj-C case your member function can be called without giving the subclass an opportunity to initialize itself. Conceptually this is a huge distinction: the bedrock of OOP is creating objects in a valid state and then ensuring they remain in a valid state. IMO any language that allows method calls on uninitialized objects is flawed. (I just found out that Java shares this problem with Obj-C). The book _Object Oriented Software Construction_ does a great job discussing object state and other OOP issues. --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Thu, 10 Apr 1997 21:18:31 -0700 Organization: Edmark Message-ID: <jesjones-ya023580001004972118310001@news.halcyon.com> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> <5ihrla$30m$2@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5ihrla$30m$2@darla.visi.com>, David Young <dwy@ace.net> wrote: > Jesse Jones <jesjones@halcyon.com> wrote: > [let's try to trim *some* of a quote message.. ] > > Won't the release method wind up calling free? If this is true we're back > > to calling subclass methods without first initializing the subclass. Is it > > possible to specify which free method to call and then deallocate the > > object? > > No. - release does not call free. Well this is even worse: none of the resources acquired by the super class init methods are going to be released. Is it even possible to write an exception safe init method? --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Thu, 10 Apr 1997 21:23:14 -0700 Organization: Edmark Distribution: world Message-ID: <jesjones-ya023580001004972123140001@news.halcyon.com> References: <jesjones-ya023580000904972122130001@news.halcyon.com> <5ihvou$447$1@brachio.zrz.TU-Berlin.DE> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5ihvou$447$1@brachio.zrz.TU-Berlin.DE>, marcel@system.de wrote: > In article <jesjones-ya023580000904972122130001@news.halcyon.com> > jesjones@halcyon.com (Jesse Jones) writes: > > In article <5igj0d$t7i$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com > > (Kenneth C. Dyke) wrote: > > [ prefers flexibility over safety ] > > > But in this specific case Obj-C's extra flexibility gives you nothing > but > > an opportunity to shoot yourself in the foot. Is there ever a case where > > you want to call a subclasses method before it's had a chance to > initialize > > itself? > > Quite often, as a matter of fact. One very common idiom is to have > several init methods that offer various levels of convenience or > flexibility. They all call one special init method, the 'designated > initializer', often the one with the most options. If you need some > additional initialization in you subclass, you just have to override > this single method, all the convenience methods will still work > because they now call the correct, subclassed version of the > designated initializer. I'm talking about calling a method before the object has had a chance to fully initialize itself. The init method is the mechanism objects use to initialize themselves so it's hardly the example I was looking for. --Jesse
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 11 Apr 1997 05:16:00 GMT Organization: THINK New Ideas, Inc. Message-ID: <5ikheg$kjk$1@darla.visi.com> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> <5ihrla$30m$2@darla.visi.com> <jesjones-ya023580001004972118310001@news.halcyon.com> Jesse Jones <jesjones@halcyon.com> wrote: > In article <5ihrla$30m$2@darla.visi.com>, David Young <dwy@ace.net> wrote: > > > > No. - release does not call free. > Well this is even worse: none of the resources acquired by the super class > init methods are going to be released. Is it even possible to write an > exception safe init method? I'll have to admit that my last post was a test to see if you'd make an uninformed judgement about the language again. You did. You get a stale cigar. - release is the extenal deallocator, used to first do reference count checking (or any other object tracking mechanism you wish), which then calls dealloc. dealloc is the internal deallocator which releases the resources used by the object when the reference count hits zero. The examples posted before are exception safe (and pretty cool. :) NSExceptions, retain/release, and reference counting are Foundation concepts, which can be confusing when working on 3.3. You, of course, are working in your own dreamed up environment where everything sucks except C++, though. -- .............david.young...senior.developer...think.new.ideas.inc... ....work:.http://www.thinkinc.com...net:.david_young@thinkinc.com...
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 11 Apr 1997 05:19:59 GMT Organization: THINK New Ideas, Inc. Distribution: world Message-ID: <5ikhlv$kjk$2@darla.visi.com> References: <jesjones-ya023580000904972122130001@news.halcyon.com> <5ihvou$447$1@brachio.zrz.TU-Berlin.DE> <jesjones-ya023580001004972123140001@news.halcyon.com> Jesse Jones <jesjones@halcyon.com> wrote: > > > But in this specific case Obj-C's extra flexibility gives you nothing > > but > > > an opportunity to shoot yourself in the foot. Is there ever a case where > > > you want to call a subclasses method before it's had a chance to > > initialize > > > itself? > I'm talking about calling a method before the object has had a chance to > fully initialize itself. The init method is the mechanism objects use to > initialize themselves so it's hardly the example I was looking for. See above. You say that you can only shoot yourself in the foot. We say you *can* shoot yourself in the foot if you try, but you can also do some pretty cool things. We've demonstrated that. All you've demonstrated is that unless a language provides the *exact* same constructor mechanism as C++, it's no good to you. That's fine, but really, let it go. Go write a Windows application or something. -- .............david.young...senior.developer...think.new.ideas.inc... ....work:.http://www.thinkinc.com...net:.david_young@thinkinc.com...
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.sys.next.advocacy,comp.lang.objective-c Subject: Re: Objective C? Date: 11 Apr 1997 05:23:22 GMT Organization: THINK New Ideas, Inc. Message-ID: <5ikhsa$kjk$3@darla.visi.com> References: <330E54AC.167E@innosys.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <wnEwE5600WBOE1PVdk@andrew.cmu.edu> <5i0t06$10l$2@darla.visi.com> <8nGhj1600iWT8EL3xk@andrew.cmu.edu> <tgogolin-0904971611140001@accs-as07-dp11.snfc.grid.net> <jesjones-ya023580001004972101100001@news.halcyon.com> In comp.sys.next.programmer Jesse Jones <jesjones@halcyon.com> wrote: > an opportunity to initialize itself. Conceptually this is a huge > distinction: the bedrock of OOP is creating objects in a valid state and > then ensuring they remain in a valid state. IMO any language that allows > method calls on uninitialized objects is flawed. (I just found out that > Java shares this problem with Obj-C). The bedrock of solid programming, OO or not, is checking your assumptions. Arianne-5? What? It's not the language's fault when the programmer writes lousy code. -- .............david.young...senior.developer...think.new.ideas.inc... ....work:.http://www.thinkinc.com...net:.david_young@thinkinc.com...
From: adam@cnation.com (Adam Pisoni) Newsgroups: comp.sys.next.programmer Subject: Seeking WebObjects / Objective C Developer to work on large project for 2 months. Date: Thu, 10 Apr 1997 22:29:10 -0700 Organization: CyberNation Message-ID: <adam-1004972229100001@ludwig.cnation.com> CyberNation is seeking a WebObjects / Objective C developer who can aid in upgrading a large intranet web site built with Web Objects and Objective C. The WebObjects application currently at the site also integrates with a Sybase database so DB experience is required. Competitive Pay. If you are local it is preferred. CyberNation 225 Santa Monica Blvd. Suite 1102 Santa Monica, CA 90401 Adam Pisoni adam@cnation.com 310-656-3450
From: marcel@system.de Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 11 Apr 1997 06:33:36 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5ikm00$t0a$1@brachio.zrz.TU-Berlin.DE> References: <jesjones-ya023580001004972123140001@news.halcyon.com> In article <jesjones-ya023580001004972123140001@news.halcyon.com> jesjones@halcyon.com (Jesse Jones) writes: > In article <5ihvou$447$1@brachio.zrz.TU-Berlin.DE>, marcel@system.de wrote: [calling a subclass method before the object has had the chance to initialize itself] > > Quite often, as a matter of fact. One very common idiom is to have > > several init methods that offer various levels of convenience or > > flexibility. They all call one special init method, the 'designated > > initializer', often the one with the most options. If you need some > > additional initialization in you subclass, you just have to override > > this single method, all the convenience methods will still work > > because they now call the correct, subclassed version of the > > designated initializer. > > I'm talking about calling a method before the object has had a chance to > fully initialize itself. The init method is the mechanism objects use to > initialize themselves so it's hardly the example I was looking for. It may not have been what you were _looking_ for, but it _is_ what you were asking for: a useful case of polymorphic dispatch / call of a subclass method before the object has been initialized. Maybe the example wasn't clear, so here's some (Objective-C) code: @implementation SuperClass -initWithArgument:(int)argument { [super init]; instanceVar = argument; return self; } -initAnswer { return [self initWithArgument:42]; } -initBeast { return [self initWithArgument:666]; } -init @end @implementation SubClass -initWithArgument:(int)argument { [super initWithArgument:argument]; -- more initialization -- return self; } @end Due to polymorphic dispatch, the initAnswer and initBeast methods (which typically would be doing some more complex and potentially private computations) can be easily used with SubClass. If you are looking for examples of normal object functionality that relies on the state of the object being used before the object is initialized, I'm afraid you won't find it. Marcel
From: "Stéphan Mertz" <smertz@calva.net> Newsgroups: comp.sys.next.programmer Subject: How to catch exception? Date: 11 Apr 1997 07:15:16 GMT Organization: Improve SA Message-ID: <01bc4647$ee5a5110$b4becec2@neuteu> Hi, I want to catch exceptions not generate by my code (e.g. when i can't use NS_DURING). Does someone have a way of doing this? --- Stephan Mertz, Improve SA OpenStep Developer
From: no-reply@sundialservices.com (Sundial Services) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Date: 10 Apr 1997 18:01:03 -0700 Organization: Primenet Message-ID: <no-reply.5150.0088172F@sundialservices.com> References: <199704091839.UAA06438@basement.replay.com> <5iisrl$q9t$1@cnn.Princeton.EDU> In article <5iisrl$q9t$1@cnn.Princeton.EDU> georgel@yuma.Princeton.EDU (George R. Lewycky) writes: >I agree. Its like work (slave labor) that no one else >wants to do. Plus with all the coding and TESTING needed >for this fiasco they're is no real way of testing this >scenario until D-Day. >Also this problem has become alot of hype and just a money >machine for many where just a few lines of code are needed >to handle this problem. I was programming for this 6 years >ago when I turning over new and modified programs dealing >with dates. To me, Y2K is a wonderful cash-cow for a few tools developers (whose product, frankly, is their stock) and not a whole lot more. The wonderful thing about it, from a marketing standpoint, is that no one can precisely put a finger on how large the problem might be. But in 1997, the problem seems wonderfully (ahem) timely and ... therefore, nothing else matters. Crank out some 25-cent options for yourself, watch your stock zoom to $100 a share, and buddy-boy you can *retire.* Just be sure to not be the last one to sell your shares. You didn't want to have to work the rest of your life anyway. Anyhow... for the unwashed rest-of-us, I think the reality is that we were dealing with the Year 2000 thirty years ago. After all, if you worked for a bank with millions of dollars' worth of 30-year mortgages in your portfolio then the year-2000 problem hit home for you in 1970. Your programs had to handle the turn of the century correctly. Certainly every single COBOL shop I ever worked for had a date/time subroutine package written in assembler. Either you used TOD-clock values (which are good for many more centuries) or you used, in all probability, 4-digit years to begin with. The format was 'YYYYMMDD' and that was the end of it. You lumped it all in together with "dammit, is this a leap-year or not," or "how many days are between X and Y?" The Century was simply a part of this problem. Databases from dBase onward (and earlier, of course) handled dates correctly too. It was a subroutine package, dammit. We all used it. It was a part of any reasonable standard in the Universe that you not only had to handle the Y2000 correctly, you had to know if it was a leap-year or not! :-) Meanwhile, we come back to marketing. The wonderful world where reality doesn't matter but perceptions do. Marketing always pivots on being at the right place at the right time and a few hundred or so people are and the rest of us are not. There is a small fortune to be made capitalizing on the Year-2000, and most of it has been made already. The sad thing about it, really, is that for the unwashed rest-of-us there's really going to be hell to pay for all this, because there's absolutely no way that we can come clean. Either the Y2K pundits are right or they're wrong. If they're right then we're idiots. If they're wrong then how much *other* advice has the DP industry been spewing out that's equally unreliable? For those of us who plan to be working and not cruising the Arctic in the year 2000, it matters that we don't lead our employers and customers astray for short-term fun and profit. But, if you bought <X> corp. at the right time or you are part of the company that got the Nice Fat Government Contract then you're "in" otherwise you're "out." 'Dem's the ropes.
From: Yoo Chul Chung <wacko@laplace.snu.ac.kr> Newsgroups: comp.sys.next.programmer Subject: Re: How to catch exception? Date: 11 Apr 1997 17:40:14 +0900 Organization: Seoul National University, Republic of Korea Message-ID: <vy8hghekl5d.fsf@laplace.snu.ac.kr> References: <01bc4647$ee5a5110$b4becec2@neuteu> Mime-Version: 1.0 (generated by tm-edit 7.101) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable "St=E9phan Mertz" <smertz@calva.net> writes: > I want to catch exceptions not generate by my code (e.g. when i > can't use NS_DURING). Does someone have a way of doing this? Why can't you use NS_DURING? If there's a function foo() which you have no source for, then what's wrong with doing =09NS_DURING =09=09foo(); =09NS_HANDLER =09=09/* Whatever */ =09NS_ENDHANDLER Unless I misunderstood your question, I don't see why this won't work. -- Yoo C. Chung <http://plaza.snu.ac.kr/~wacko/> School of Electrical Engineering, Seoul National University
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 11 Apr 1997 08:27:21 GMT Message-ID: <5iksl9$sts$1@nntp2.ba.best.com> References: <jesjones-ya023580000404972242260001@news.halcyon.com> <5i57e6$596@concorde.ctp.com> <jesjones-ya023580000704972116400001@news.halcyon.com> <gnGdyU_00iV2A5BdNK@andrew.cmu.edu> <jesjones-ya023580000804972054450001@news.halcyon.com> <5igj0d$t7i$1@nntp2.ba.best.com> <jesjones-ya023580000904972122130001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000904972122130001@news.halcyon.com> On 04/09/97, Jesse Jones wrote: >In article <5igj0d$t7i$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com >(Kenneth C. Dyke) wrote: > >> On 04/08/97, Jesse Jones wrote: >> > >> >The only point I'm trying to make is that constructors provide more >> >safety than Obj-C init methods and I think I've demonstrated that. >> >> Probably true, but they are also far less flexible, as I pointed out in >> previous posts. I'd rather have the flexibility than 'safety' in this >> case. > >But in this specific case Obj-C's extra flexibility gives you nothing but >an opportunity to shoot yourself in the foot. Is there ever a case where >you want to call a subclasses method before it's had a chance to initialize >itself? Sure. That's exactly what happens when you override an init method in a superclass. The advantage that Objective C has is that you can do something interesting with the input parameters to the init method BEFORE the superclass sees them. This is not possible with C++ constructors. As an example, consider a hypothetical bitmap image class with the following init method: - (id)initWithContentsOfFile:(NSString *)fileName; Now lets say that I want to write a custom subclass that will attempt to treat the fileName argument as a URL. I can do this in my subclass: - (id)initWithContentsOfFile:(NSString *)fileName { NSData *fileData; // Attempt to fetch the file from a remote http server: if(fileData = [MySubclass dataForURL:fileName]) { // Write file to disk under some temp name. [fileData writeToFile:@"tempname.raw" atomically:NO]; // Let superclass continue as normal. fileData // will be autoreleased. return [super initWithContentsOfFile:@"tempname.raw"]; } // Apparently not a valid URL, let superclass try it as // a plain file. return [super initWithContentsOfFile:fileName]; } As you can see, this method is 100% safe, even though I'm calling a subclass method in my class before the class is initialized. Since in your own words it is trivial for a base class to break a derived class, show me how to break the above code. You claim it is "unsafe" to allow methods to be invoked on unititialized objects, and yet that is exactly what the above does, with 100% safety. I claim it's only as unsafe as the programmer writing the code. I don't need Father Stroustrup holding my hand every step of the way. -Ken
From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 11 Apr 1997 08:40:05 GMT Message-ID: <5iktd5$7v$1@nntp2.ba.best.com> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> In-Reply-To: <jesjones-ya023580000904972126530001@news.halcyon.com> On 04/09/97, Jesse Jones wrote: >In article <9704092226.AA02800@basil.icce.rug.nl>, tom@basil.icce.rug.nl wrote: > >> In article <jesjones-ya023580000804972054450001@news.halcyon.com>, >> jesjones@halcyon.com (Jesse Jones) wrote: >> > In article <gnGdyU_00iV2A5BdNK@andrew.cmu.edu>, Charles William Swiger >> > <cs4w+@andrew.cmu.edu> wrote: >> > > Excerpts from netnews.comp.sys.next.programmer: 7-Apr-97 Re: Objective >> > > C? by Jesse Jones@halcyon.com >> [...] >> > > > On a related vein how are exceptions handled from within init methods? >> > > >> > > The same as they are everywhere else, of course. There aren't special >> > > cases and exceptions to the rules the way there are in C++. >> > >> > How do you cleanup an object that throws from one of its init methods? >> >> One way is to explicitly intercept exceptions, and handle the >> cleanup in the exception handler, like this: >> >> (example assumes OPENSTEP FoundationKit): >> >> - initWithFoo:(id)aFoo >> { >> if (self = [super init]) >> { >> NS_DURING >> { >> [self doSomethingThatMayGenerateAnException:aFoo]; >> // ... >> } >> NS_HANDLER >> { >> // cleanup ourselves. >> [self release]; >> // re-raise the exception. >> [localException raise]; >> } >> NS_ENDHANDLER >> } >> return self; >> } > >Won't the release method wind up calling free? If this is true we're >bac to calling subclass methods without first initializing the >subclass. Is it possible to specify which free method to call and then >deallocate the object? Actually, what will be called is dealloc. And if you know that your init method may throw an exception partway through, then you simply have to code your dealloc method to be able to free any resources that had been allocated up to the point where the exception was raised. This is not rocket science. In fact, this is one case where Objective C's convention of making method calls to nil object pointers doing nothing comes in handy: - (void)dealloc { [myObj release]; [someOtherObj release]; [super dealloc]; } If eithor myObj or someOtherObj are nil, nothing happens in those cases. Then the superclass is allowed to free up any objects or memory that it may have allocated before the exception was raised. Yes, I'm sure if you sat and thought about it you could write some code that would probably crash. Arguing that because it's possible to write code that crashes due to language design is exetremely dumb. People can write software in assembly that never crashes. People can _definitely_ write software in C++ that crashes no matter how much they might think that static typing and other special language 'features' try to prevent them from doing so. And yes, people write software in Objective C that crashes, although from my experience writing code with Objective C, none of my bugs have been related at all to the nightmares you seem to have about Objective C's 'unsafety'. -Ken
From: jcr@idiom.com (John C. Randolph) Newsgroups: comp.sys.next.programmer Subject: Re: Appending text in NSText objects Date: 11 Apr 1997 03:08:11 -0700 Organization: A poorly-installed InterNetNews site Message-ID: <jcr.860753149@idiom.com> References: <5ik6c0$ibc@vixen.cso.uiuc.edu> wellman@students.uiuc.edu (Dan Wellman) writes: >I'm using a scroll view object with an NSText object encapsulated and >I want to send text messages to be appended to the displayed text. >I know that NSText has a method "setString" but I can't find a >method which will append text to the currently showing string. >What's the simplest way to append text to the currently showing text >in an NSText object? (Does this mean including NSRange and stuff?) I would think that since NSText has both a -string and a -setString: method, you could just do something like this: [myTextObject setString:[[myTextObject string] stringByAppendingString:@"Append me! Append Me!"]]; This may not be the most efficient way, but it should work. -jcr
From: LeraillezB@netinfo.fr (Benoit Leraillez) Newsgroups: comp.sys.next.programmer Subject: Tips concerning NSText Date: Fri, 11 Apr 1997 12:50:58 +0200 Organization: Guest of OLEANE - PIPEX International Message-ID: <19970411125058285703@dyn-145.vin.oleane.com> I'm no programmer but a partner of a French software company editor of a French spelling and grammar checker. The recent turmoils at Apple for the last year or two have forced us to start porting our product to Windows. I would like to convince our developpers, which happen to be members of the board, to spend some ressources on porting our product NOW to the OpenStep environment. I know spell checking is standard on the platform but grammar means more than words. I'd like some help at proving this can easily be done and that our product could be seen as a service to text editors (today on the MacOs we use AppleScripts or AppleEvents and the Word Services Suite). One last comment about grammar checking: we need to get the full text or at least complete paragraphs, and we must be able to add or remove punctuation. Thanks in advance for your comments and precious time, Benoit Leraillez www.bcdl.com
Date: Fri, 11 Apr 1997 07:01:43 -0600 From: David Stes <stes@can.nl> Subject: Re: Objective C? Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Message-ID: <860759817.26749@dejanews.com> Organization: Deja News Usenet Posting Service References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <5huhkd$2jo$3@news.xmission.com> <3346b0b9.698848521@snews.zippo.com> In article <3346b0b9.698848521@snews.zippo.com> cppc@objex.com wrote: > > Actually, init/alloc came from a rewrite of the Stepstone Foundation > class library, coincident with the release of Stepstone's ObjC 4.0 > ... > it possible for objects to be allocated globally or on the stack. . You have -initialize in mind. For objects allocated on the stack, Stepstone has -initialize (not -init). . +new has always been used for objects that are created on the "heap". There's no +alloc. . There are, in the IBM RS/6000 Stepstone compiler, stubs for alloc & init stuff. IBM used the Stepstone objcc for NextStep AIX, so work-arounds were added to get the NXZone's methods to compile. . In any case, Don is right : alloc/allocFromZone/init and copyFromZone: are NeXT creations. These 2.x zone allocation methods trade in 1.0 simplicity for a measure of performance (at the expense of a more complex API for the user). -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet
From: jwdb@fygir.nl (Jan-Willem de Bruijn) Newsgroups: comp.sys.next.programmer Subject: bugs in OPENSTEP Enterprise 4.1 for NT Date: 11 Apr 1997 13:48:45 GMT Organization: XS4ALL, networking for the masses Sender: fygir@194.229.196.75 Message-ID: <5ilfft$ph3$1@news1.xs4all.nl> We recently have become the proud owners of a copy of OPENSTEP Enterprise Release 4.1 for Windows NT, and have begun to try to compile our software, that we have been porting to the OpenStep specifications (on our Mach machines with OPENSTEP 4.0) for the past few months. We would like your comments (and commiserations) on the following bugs: * One nasty surprise was that the compiler does not grok RTF formatted source code. (Why does ProjectBuilder have a Format menu then?) * The compiler considers single, unbalanced quotes an error, even when they occur in comment lines or preprocessor statements (like #warning). * pswrap does not automatically create the intermediate subdirectory with name of the subproject, inside the derived_src directory. I have to do it by hand. So far, for the rest it seems to compile OK. Although we have found some UNIX specific things in our code, like popen, crypt. And 'struct tm' from <time.h> is not the same, but these can all be worked around. Oh, one thing: maybe somebody has a pointer to a yacc/lex replacement for Windows NT, that can be called from within the Makefiles? Thanks in advance for your comments, Jan-Willem -- Jan-Willem de Bruijn - F Y G I R logistic information systems
From: ploeger@pedcard.uni-kiel.de (Andreas Ploeger) Newsgroups: comp.sys.next.programmer Subject: openFile:withApplication: requires public window server? Date: 11 Apr 1997 16:06:07 GMT Organization: Rechenzentrum der Universitaet Kiel, Germany Message-ID: <5ilnhf$hto$1@infosrv.rz.uni-kiel.de> Hi, I was surprised to see my [[Application workspace] openFile: withApplication:] call fail for some users. I then tried 'open -a Edit' from a shell which also failed for the same users. I finally found out that I had to turn on the public window server to avoid these problems: dwrite System PublicWindowServer Yes Is there something wrong with my system's configuration or is this the normal? Thanks & greetings, A. Ploeger -- Dr. Andreas Ploeger E-Mail: ploeger@toppoint.de Kiel University Phone: +49 431 597 1757 Clinic for Pediatric Cardiology FAX: +49 431 597 1745 or 1831 Schwanenweg 20, 24105 Kiel, Germany
From: andreas@lynet.de Newsgroups: comp.sys.next.programmer Subject: Seeking a DataBAseServer fo EOFrameWork Date: 11 Apr 1997 16:05:29 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5ilng9$8i4$1@lynet.de> Hello, I'm just doing my first steps with the EOModeler of OpenStep Developer 4.1 but have some trouble in finding a suitable DataBaseServer for it. The great vendors (Oracle, Sybase,...) obviously does not support OpenStep, so I downloaded a TrialVersion of OracleWorkGroupServer 7 for OS/2. After spending hours by hours in reading manuals and trying to get this server up (without any success), I finally cancel this approach. A second one was to download the TrialVersion of OpenBase (Gamma) for OpenSTep from the peanutsarchiv, but this version seams to have some problems with it's adaptor. I would really appreciate to hear about a configuration, that's easy to install and working very well. I didn't plan to spend weeks only for installing a database to be able to do the first steps with EOModeler. Thanks in advance! Andreas Hoeschler
From: jkeenan@next.com (Joe Keenan) Newsgroups: comp.sys.next.programmer Subject: Re: Appending text in NSText objects Date: 11 Apr 1997 16:39:49 GMT Organization: NeXT Software, Inc. Message-ID: <5ilpgl$fvi@news.next.com> References: <jcr.860753149@idiom.com> In article <jcr.860753149@idiom.com> jcr@idiom.com (John C. Randolph) writes: > wellman@students.uiuc.edu (Dan Wellman) writes: > > >I'm using a scroll view object with an NSText object encapsulated and > >I want to send text messages to be appended to the displayed text. > > >I know that NSText has a method "setString" but I can't find a > >method which will append text to the currently showing string. > > >What's the simplest way to append text to the currently showing text > >in an NSText object? (Does this mean including NSRange and stuff?) > > I would think that since NSText has both a -string and a -setString: > method, you could just do something like this: > > [myTextObject setString:[[myTextObject string] > stringByAppendingString:@"Append me! Append Me!"]]; I don't understand why this isn't obvious. NSMutableString has the method: appendString: - (void)appendString:(NSString *)aString Adds the characters of aString to end of the receiver. joe
From: Fauzia Burke <fburke@fsb.superlink.net> Newsgroups: comp.sys.next.programmer Subject: Book: Objects on the Web Date: Fri, 11 Apr 1997 11:57:41 -0500 Organization: SuperNet Inc. (908) 828-8988 Sender: (2+V-=C0M#%H @nb-dialup-185.superlink.net Message-ID: <334E6D85.5522@fsb.superlink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit There's a new book from McGraw-Hill: Objects on the Web. You can find the TOC and an excerpt at: http://www.smartbooks.com/bw704objweb.htm Hope this is useful. fburke@fsb.superlink.net
From: bobc@edmark.com (Bob Clark) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Fri, 11 Apr 1997 10:16:15 -0800 Organization: Edmark Corporation Message-ID: <bobc-ya023080001104971016150001@news.connectsoft.net> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> <5ihrla$30m$2@darla.visi.com> <jesjones-ya023580001004972118310001@news.halcyon.com> <5ikheg$kjk$1@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit David Young <dwy@ace.net> said: > Jesse Jones <jesjones@halcyon.com> wrote: > > In article <5ihrla$30m$2@darla.visi.com>, David Young <dwy@ace.net> wrote: > > > > > > No. - release does not call free. > > Well this is even worse: none of the resources acquired by the super class > > init methods are going to be released. Is it even possible to write an > > exception safe init method? > > I'll have to admit that my last post was a test to see if you'd make > an uninformed judgement about the language again. You did. You get a > stale cigar. Step 1: Someone learning about Ob-C asks a question. Step 2: Ob-C advocate gives a deliberately deceptive answer. Step 3: Ob-C student accepts the deceptive answer and has a followup question. Step 4: Ob-C advocate leaps out from behind a tree, yelling "Gotcha!" Does anyone else feel hollow inside? --Bob
From: jkeenan@next.com (Joe Keenan) Newsgroups: comp.sys.next.programmer Subject: Re: Appending text in NSText objects Date: 11 Apr 1997 17:39:54 GMT Organization: NeXT Software, Inc. Message-ID: <5ilt1a$i6m@news.next.com> References: <5ilpgl$fvi@news.next.com> In article <5ilpgl$fvi@news.next.com> jkeenan@next.com (Joe Keenan) writes: > > I don't understand why this isn't obvious. NSMutableString has the > method: > > appendString: > > - (void)appendString:(NSString *)aString > > Adds the characters of aString to end of the receiver. Oops. I was thinking NSString, not NSText. For NSText, I think you want to use something like: replaceCharactersInRange:withString: - (void)replaceCharactersInRange:(NSRange)aRange withString:(NSString *)aString Replaces the characters in aRange with aString. For a rich text object, the text of aString is assigned the formatting attributes of the first character of the text it replaces, or of the character immediately before aRange if the range's length is zero. If the range's location is zero, the formatting attributes of the first character in the receiver are used. Where the range points to the end of the text. Not sure how you do that, but it shouldn't be too hard. joe
From: David Young <dwy@ace.net> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 11 Apr 1997 18:40:14 GMT Organization: THINK New Ideas, Inc., New York City Message-ID: <5im0ie$de3$1@darla.visi.com> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> <5ihrla$30m$2@darla.visi.com> <jesjones-ya023580001004972118310001@news.halcyon.com> <5ikheg$kjk$1@darla.visi.com> <bobc-ya023080001104971016150001@news.connectsoft.net> Bob Clark <bobc@edmark.com> wrote: > Step 1: Someone learning about Ob-C asks a question. Uh, there's a thick line between asking genuine questions and continually pointing to things and yelling "FLAW! FLAW!". He's crossed, if not jumped on and smeared out, this line. Calling Mr. Jones a student of ObjC is a tremendous exaggeration. It's also an insult to anyone who genuinely is trying to learn the language. > Does anyone else feel hollow inside? Eat something. -- .............david.young...senior.developer...think.new.ideas.inc... ....work:.http://www.thinkinc.com...net:.david_young@thinkinc.com...
From: Rich Markle <rmarkle@earthlink.net> Newsgroups: comp.sys.next.programmer Subject: Java with NeXTStep/OPENSTEP? Date: Fri, 11 Apr 1997 00:02:30 -0700 Organization: Code Monkeys of America Message-ID: <334DE206.11D1@earthlink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I am interested in Java programming and would like to develop in the NeXT environment. Is there an implementation for the NeXT? Alternatively, if there is a hack for another UNIX, which one and how do I do it? The reason I am asking is, I have not heard of developing Java on NS/OS but Lighthouse Design markets Javaplan and doesn't that run under OPENSTEP? Any assistance would be greatly appreciated. Thanks in advance. --- Rich Markle >> rmarkle@earthlink.net (310)442-8086
From: zander@conextions.com (Aleksey Sudakov) Newsgroups: comp.sys.next.programmer Subject: Re: Java with NeXTStep/OPENSTEP? Date: 12 Apr 1997 00:59:52 GMT Organization: The Internet Access Company, Inc. Message-ID: <5immq8$76p@news-central.tiac.net> References: <334DE206.11D1@earthlink.net> In-Reply-To: <334DE206.11D1@earthlink.net> Organisation: GarageSoftware Ivc On 04/10/97, Rich Markle wrote: >I am interested in Java programming and would like to develop in the >NeXT environment. Is there an implementation for the NeXT? >Alternatively, if there is a hack for another UNIX, which one and how do >I do it? There is no need to hack another UNIX. You could do Java under NeXTSTEP. Look at kaffe or NeXT Java port. > The reason I am asking is, I have not heard of developing Java on NS/OS >but Lighthouse Design markets Javaplan and doesn't that run under >OPENSTEP? I doubt that. At least I haven't heard it does. When it comes to Java for NeXTSTEP you gotta be either have very big $$$ or turn to free projects... Aleksey. P.S. I almost done with JStep (JavaStep or whatever the name would be) website.
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Fri, 11 Apr 1997 20:48:05 -0700 Organization: Edmark Distribution: world Message-ID: <jesjones-ya023580001104972048050001@news.halcyon.com> References: <jesjones-ya023580000904972122130001@news.halcyon.com> <5ihvou$447$1@brachio.zrz.TU-Berlin.DE> <jesjones-ya023580001004972123140001@news.halcyon.com> <5ikhlv$kjk$2@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5ikhlv$kjk$2@darla.visi.com>, David Young <dwy@ace.net> wrote: > All you've demonstrated is that unless a language provides the *exact* > same constructor mechanism as C++, it's no good to you. That's fine, > but really, let it go. Go write a Windows application or something. Stop putting words in my mouth. All I've said is that Obj-C's init methods are flawed. This does not make Obj-C unusable. C++, for example, has more flaws and pitfalls than most languages, but it's quite usable once you've surmounted the learning curve. --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Fri, 11 Apr 1997 21:12:27 -0700 Organization: Edmark Distribution: world Message-ID: <jesjones-ya023580001104972112270001@news.halcyon.com> References: <jesjones-ya023580001004972123140001@news.halcyon.com> <5ikm00$t0a$1@brachio.zrz.TU-Berlin.DE> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5ikm00$t0a$1@brachio.zrz.TU-Berlin.DE>, marcel@system.de wrote: > In article <jesjones-ya023580001004972123140001@news.halcyon.com> > jesjones@halcyon.com (Jesse Jones) writes: > > In article <5ihvou$447$1@brachio.zrz.TU-Berlin.DE>, marcel@system.de > wrote: > > [calling a subclass method before the object has had the chance > to initialize itself] > > > > Quite often, as a matter of fact. One very common idiom is to have > > > several init methods that offer various levels of convenience or > > > flexibility. They all call one special init method, the 'designated > > > initializer', often the one with the most options. If you need some > > > additional initialization in you subclass, you just have to override > > > this single method, all the convenience methods will still work > > > because they now call the correct, subclassed version of the > > > designated initializer. > > > > I'm talking about calling a method before the object has had a chance to > > fully initialize itself. The init method is the mechanism objects use to > > initialize themselves so it's hardly the example I was looking for. > > It may not have been what you were _looking_ for, but it _is_ what > you were asking for: a useful case of polymorphic dispatch / call > of a subclass method before the object has been initialized. I have a mental model of an init method as being equivalent to a C++ ctor. After considering your example it's apparent that my model was misleading and I agree that polymorphic dispatch can be useful from within an init method. However this, like many other Obj-C features, introduces additional possibilities for run time errors. To a C++ programmer this is a big deal. To a Smalltalk programmer it's, I guess, standard operating procedure. --Jesse
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: Fri, 11 Apr 1997 21:49:55 -0700 Organization: Edmark Message-ID: <jesjones-ya023580001104972149550001@news.halcyon.com> References: <9704092226.AA02800@basil.icce.rug.nl> <jesjones-ya023580000904972126530001@news.halcyon.com> <5iktd5$7v$1@nntp2.ba.best.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5iktd5$7v$1@nntp2.ba.best.com>, kcd@babylon5.jumpgate.com (Kenneth C. Dyke) wrote: > Actually, what will be called is dealloc. And if you know that your > init method may throw an exception partway through, then you simply > have to code your dealloc method to be able to free any resources that > had been allocated up to the point where the exception was raised. > This is not rocket science. In fact, this is one case where Objective > C's convention of making method calls to nil object pointers doing > nothing comes in handy: > > - (void)dealloc > { > [myObj release]; > [someOtherObj release]; > [super dealloc]; > } So, it works like the following: 1) alloc is called which allocates enough space for the object and zero fills the memory. 2) init is called to initialize the object. If this may throw an exception you should catch the exception, call release, and re-throw the exception. 3) When an object is freed dealloc is called. Since this may have been called as the result of an exception any or all of the member data may be nil. It seems like this would work pretty well. --Jesse
From: marcel@system.de Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 12 Apr 1997 08:57:46 GMT Organization: Technical University Berlin, Germany Distribution: world Message-ID: <5iniqa$o4v$1@brachio.zrz.TU-Berlin.DE> References: <jesjones-ya023580001104972112270001@news.halcyon.com> In article <jesjones-ya023580001104972112270001@news.halcyon.com> jesjones@halcyon.com (Jesse Jones) writes: > > I have a mental model of an init method as being equivalent to > a C++ ctor. After considering your example it's apparent that > my model was misleading and I agree that polymorphic dispatch > can be useful from within an init method. However this, like > many other Obj-C features, introduces additional possibilities > for run time errors. To a C++ programmer this is a big deal. To > a Smalltalk programmer it's, I guess, standard operating procedure. > > --Jesse Yes, trying to transpose from one language to another is almost always error prone. I still disagree with your final assessment that this introduces 'additional' possibilities for errors at run-time, because these are the _same_ possibilities you _always_ have when dealing with inheritance, be it in C++ or Smalltalk. Forbidding the use of inheritance means going back to object-based programming, which may be necessary for some systems. Forbidding inheritance in some situations but not others is simply inconsistent: it gives up power and simplicity for just the illusion of safety. Apart from preferring power and simplicity, I also think that both this illusion of safety and inconsistency in general are far more significant error sources than the subclassing problems. Programming is a human activity. Marcel
From: stephane@lysis.ch (Stephane Corthesy) Newsgroups: comp.sys.next.programmer Subject: Re: bugs in OPENSTEP Enterprise 4.1 for NT Date: 12 Apr 97 12:11:15 GMT Organization: Lysis SA Message-ID: <334f7be3.0@news.planet.ch> References: <5ilfft$ph3$1@news1.xs4all.nl> Cc: jwdb@fygir.nl In <5ilfft$ph3$1@news1.xs4all.nl> Jan-Willem de Bruijn wrote: > >.... > * pswrap does not automatically create the intermediate subdirectory > with name of the subproject, inside the derived_src directory. I have > to do it by hand. >... I had the same problem: I created a project on 4.0, then used 4.1 and added a pswrap, and the same error occured. All you need to do is to recreate a dummy project on 4.1 and compare the Makefiles (3) et PB.project files; you will see that there are some "minor" modifications that you need to report to your project's files. After that,everything will work correctly with the pswrap. No need anymore to create the subdirectories by hand. Stephane
Newsgroups: comp.sys.next.programmer From: js@euler.han.de (Juergen Sell) Subject: Re: how to debug mouse-moving Message-ID: <E8J9HI.5Iy@euler.han.de> Sender: js@euler.han.de (Juergen Sell) Organization: Ink Unknown References: <33442F78.13E3@worldnet.att.net> Date: Sat, 12 Apr 1997 16:22:30 GMT zizi zhao <ziziz@worldnet.att.net> writes > the subject is my question. > > i want to run gdb to see what is going on with my mouse-moving event > in a view frame step by step. but, the mouse has to leave the frame > to click the <step> button on the [gdb panel]. > > is it possible to debug mouse-moving in NEXTSTEP 3.3? I had the same problem once and not a second machine at hand. What did it for me was to implement a category for class Object which implements -printf: by initially creating a window with scrolled text view and printing into that. Consecutive method invocations use the same window, of course. The window itself is not made key nor ordered front, so your mouse input & movement gets not disturbed. This thingy gets switched on and off via dwrites, so the debug-code could remain in your productive code. Mail me if you are interested. Juergen --- AnsweringMachine +49 511 92455-50 Fon -51 Fax -52 NeXTMail welcome = What time do we live in when revolution reminds us of soap powder, = when spontaneity and freedom get associated with instant coffee, = when a politician's idea of social change is changing names = when a country posing as super know-how factory cuts expenses on education?
From: Patrick Miller <support@registerline.com> Newsgroups: comp.sys.next.programmer Subject: Thank GOD Nieman Marcus doesn't use this registration incentive! Date: Sat, 12 Apr 1997 18:44:35 -0400 Organization: Regi$ter Online! Message-ID: <33501052.890@registerline.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit My wife would never get off the phone! :: New web site folks... see what I'm talking about:: -- REGI$TER ONLINE! http://registerline.com Download the shareware version of Mega Bites http://www.wipd.com/mega/cooking/megabite.shtml [A FREE promotion for Regi$ter Online! Shareware Authors]
From: "Eric A. Dubiel" <eadubie@rs6000.cmp.ilstu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Java with NeXTStep/OPENSTEP? Date: Sat, 12 Apr 1997 21:57:15 -0600 Organization: Instructional Technology Services & Smith Net-Illinois State University Message-ID: <33505995.105B@rs6000.cmp.ilstu.edu> References: <334DE206.11D1@earthlink.net> <5immq8$76p@news-central.tiac.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Aleksey Sudakov wrote: > P.S. I almost done with JStep (JavaStep or whatever the name would be) > website. How about a URL? :) -- Eric A. Dubiel; http://www.ilstu.edu/~eadubie mailto:eadubie@rs6000.cmp.ilstu.edu ytalk eadubie@138.87.201.11 --- MIME, SUN, NeXT, PGP Mail ok R&D --- Instructional Technology Services --- Illinois State University "I first saw NEXTSTEP in 1990 and I was blown away."- Eric Schmidt, Novell Inc. CEO ALL VIEWS EXPRESSED REPRESENT MYSELF ONLY
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <28108860302827@digifix.com> Date: 13 Apr 1997 04:00:07 GMT Organization: Digital Fix Development Message-ID: <15479860904022@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
Newsgroups: comp.sys.next.programmer From: cdouty@netcom.com (Chris Douty) Subject: Re: Memory problems Message-ID: <cdoutyE8L4GJ.6L5@netcom.com> Organization: Netcom On-Line Services References: <199704061816.AA10614@ergotech.com> Date: Sun, 13 Apr 1997 16:29:07 GMT Sender: cdouty@netcom13.netcom.com In article <199704061816.AA10614@ergotech.com>, Drake Woodring <drake@ergotech.com> wrote: > I have just upgraded my OpenStep for Mach computer with 64mg of ram. It >works great in NT, but as soon as the login screen should appear, the >screen goes blank. I have done memory swapping with other machines, and I >know that the memory is good. I have also swapped motherboard and >processor. The most I can get on a Mach system is 50mg. Is there any >memory requirements for Mach? Will I have the same problems with the NT >version? Let me guess, you have a Diamond Stealth64 video card. There is a mostly well-known problem with the memory mapping of the stealth card in NeXT's driver. You should be able to boot with "config=Default" to use the default VGA driver. Then run Configure.app, go to the display driver section, and change the 8192K mapped memmory to some really high value. The problem is that your physical RAM and the memory map are overlapping because NeXT foolishly placed the map at a location where you can easily HAVE RAM. I don't know if any other video cards have a similar problem, but it's possible. Good luck. -Chris -- Christopher Douty - Rogue Engineer trapped in a land of software cdouty@netcom.com "Frequently the messages have meaning; that is they refer to or are correlated according to some system with physical or conceptual entities. These semantic aspects of communication are irrelevant to the engineering problem." -Shannon
From: jq@papoose.quick.com (James E. Quick) Newsgroups: comp.sys.next.programmer Subject: Re: Memory problems Date: 13 Apr 1997 09:16:28 -0400 Organization: Quick and Associates Message-ID: <5iqmbc$me0@papoose.quick.com> References: <199704061816.AA10614@ergotech.com> In article <199704061816.AA10614@ergotech.com>, Drake Woodring <drake@ergotech.com> wrote: > I have just upgraded my OpenStep for Mach computer with 64mg of ram. It >works great in NT, but as soon as the login screen should appear, the >screen goes blank. I have done memory swapping with other machines, and I >know that the memory is good. I have also swapped motherboard and >processor. The most I can get on a Mach system is 50mg. Is there any >memory requirements for Mach? Will I have the same problems with the NT >version? Some video card drivers map the video card frame buffer to an address which is less than 64MB. This will obviously cause problems. If your card and driver support it, you can change this value in the Expert Settings panel of Configure.app. You will, of course, have to remove some memory first to try this out. Also, make a backup of the Config settings before you play with this so that you can restore working settings from single user mode rather than booting with config=Default. This will save you time if you need to play. -- ___ ___ | James E. Quick jq@quick.com / / / | Quick & Associates NeXTMail O.K. \_/ (_\/ | Apple, we know the song's not written yet, ) | but could you at least hum a few more bars?
From: flight@mathi.uni-heidelberg.de (Gregor Hoffleit) Newsgroups: comp.sys.next.programmer Subject: Proposed change to config.guess Date: 13 Apr 1997 20:17:59 GMT Organization: University of Heidelberg, Germany Message-ID: <5irf1n$62i@sun0.urz.uni-heidelberg.de> I don't know if there's somebody left who cares about this, but I'd like to submit a patch to gnu-utils-bug that changes autoconfig's config.guess so that it works on NEXTSTEP and MachOS systems without a compiler installed. Since MachOS has no "uname" command, config.guess currently relies on compiling a short program. Therefore, on MachOS systems without a cc, it has no clue. I'd like to include the following piece of code in config.guess. Could you perhaps try to run it on some strange/oldish/newish MachOS systems, and tell me if it doesn't report the expected result (should be e.g. hppa-nextstep-next3). I'm especially interested in the output of hostinfo on pre-3.x systems. Umm, config.guess currently returns ARCH-nextstep-next3 even for 4.x systems. Wouldn't it be reasonable to change this into next4 ? Gregor -- | Gregor Hoffleit Mathematisches Institut, Uni HD | | flight@mathi.uni-heidelberg.de INF 288, 69120 Heidelberg, Germany | | (NeXTmail, MIME) (49)6221 54-5771 fax 54-8312 | | PGP Key fingerprint = 23 8F B3 38 A3 39 A6 01 5B 99 91 D6 F2 AC CD C7 |
From: wotmp@rhodes.edu (Mike Wottle) Newsgroups: comp.sys.next.programmer Subject: gcc for NeXT Date: 13 Apr 97 20:10:21 GMT Organization: The University of Memphis Sender: -Not-Authenticated-[3400] Message-ID: <33513dad.0@ALPHA.RHODES.EDU> Xdisclaimer: No attempt was made to authenticate the sender's name. I bought a used NeXTstation and I assumed it would come with gcc already on it, but it turns out that the computer came with no developer tools... Is there anywhere I can get a copy of gcc for NeXT, and all of the files I'll need to start programming in C on my NeXT? Please respond to <wotmp@rhodes.edu>. Thanks.
From: Bob Hathaway <bhathaway@sigs.com> Newsgroups: comp.sys.next.programmer,comp.lang.oberon,comp.object.logic,comp.lang.scheme,comp.lang.beta Subject: Object Magazine Online - ANNOUNCEMENT/CALL FOR PAPERS- Free New Journal Followup-To: comp.object Date: 13 Apr 1997 20:05:45 -0500 Organization: Object Magazine Online Message-ID: <5irvt9$gs6@shoga.wwa.com> Summary: Object Magazine Online - FREE NEW JOURNAL Keywords: Free WWW OO Object-Oriented Journal OBJECT MAGAZINE ONLINE ====================== OBJECT MAGAZINE ONLINE HYPERTEXT JOURNAL FREE NEW MONTHLY OBJECT-ORIENTED FORUM FORMERLY: OBJECT CURRENTS Location: http://www.sigs.com/omo/ Editor-In-Chief: Bob Hathaway <bhathaway@sigs.com> Issues: January 1996 (OCJ) thru April 1997 Next Issue: May 1 Publisher: SIGS: C++ Report, JOOP/ROAD, Object Magazine, Object Expert, Smalltalk Report, X Journal, Java Report, Object Buyer's Guide, ... This is an invitation to join us at Object Magazine Online and view, engage in, and participate in the latest in object-oriented technology using the newest in information technology, the WWW. Object Magazine Online is a complete new free monthly journal with original Feature Articles, Columns, and Departments along with several *new* articles from Object Magazine. OMO ARTICLES We are accepting original Articles to present in OMO which include honorarium and the opportunity to publish. Our World Class Columnists have included: Watts Humphrey: SEI Process Director, CMM & PSP Inventor Bertrand Meyer: Eiffel, OO Design and Software Engineering Francois Bancilhon: President, O2 Technology, Leading ODBMS Expert Michael Jesse Chonoles: Chief of Methodology, Advanced Concepts Center of Lockheed Martin David Shang: OO Programming Language Designer, Motorola Labs Michael Spertus: President, Geodesic Systems, Program Automation Prof. Brain Henderson-Sellers: Director, Centre for Object Technology Applications and Research (Victoria) Ian Mitchell: Heads of Rapid Prototyping Laboratory: http://osiris.sund.ac.uk/research/canopus/mitchell/rpl.html Interviews (including OCJ): January: Grady Booch February: James Rumbaugh March: Ivar Jacobson (Part I) - Get the latest on the UML June: Steve Mellor, Plus Jacobson (Part II) Soon: Sally Shlaer Newsgroup Dialog: - Monthly "Best Thread" from comp.object Robert Martin, Tim Ottinger Week in OT: Jane Grau - Late breaking news on object technology 4 times/month Feature Articles: Too many to repeat here, OCJ has presented many original features on object technology and OMO has presented many more. Best new articles every month from SIGS Object Magtazine issues and Object Buyer's Guide. Thanks to our readership for patronage, praise, and feedback. Please keep visiting or give us a try soon. Please also feel free to inform friends and colleagues of this free new medium. From the OCJ Guidelines: Object Currents' unique hypertext media provides for advances over earlier journals - links to home pages, sites, databases and information servers, interaction, animation, graphics, code retrieval and execution, expanded pages, video, virtual reality and chat sessions. While all of these may not have appeared in these first issues, they will appear in the future. Check it out! Best Regards, Bob Hathaway Robert John Hathaway III Editor in Chief Object Magazine Online Email: bhathaway@sigs.com - Correspondence, Submissions
From: "Greg Shaw" <gshaw@zeta.org.au> Newsgroups: comp.sys.next.programmer Subject: Re: How to catch exception? Date: 14 Apr 1997 02:30:00 GMT Organization: Decisionware Message-ID: <01bc487c$006058b0$96506fcb@decisionware> References: <01bc4647$ee5a5110$b4becec2@neuteu> Stephan, The solution am about to describe works in this situation: Once an exception has been thrown I want to know who threw it and how my code caused it to be thrown. I do not normally know which region of code is throwing and therefore cannot put an NS_DURING around it. Is this what you are trying to catch? If so read on. Start up the debugger. When all the symbols are loaded type 'info functions raise'. This will display all functions with the text 'raise' in their names. You can also do this with 'exception'. Towards the bottom of the 'raise' list there should be an entry for NXRaise. Set a breakpoint at this address eg. break *0xf0f0f0f0. Run your program until the exception is raised. The break point will occur just before control is passed to the throw system. Check you stack frames and locate the point in your code that ultimately caused the exception. Then try and work out how you managed to do it.<g> If you waited until after the throw had occurred then the stack will be lost and you will not know how you got to be in the exception. Hope this helps. Cheers, Greg Shaw. Stéphan Mertz <smertz@calva.net> wrote in article <01bc4647$ee5a5110$b4becec2@neuteu>... > > Hi, > > I want to catch exceptions not generate by my code (e.g. when i can't use > NS_DURING). > Does someone have a way of doing this? > > --- > Stephan Mertz, Improve SA > OpenStep Developer > >
From: "Stéphan Mertz" <smertz@calva.net> Newsgroups: comp.sys.next.programmer Subject: How to catch exception? (more clearly) Date: 14 Apr 1997 07:30:02 GMT Organization: Improve SA Message-ID: <01bc48a5$71a1bcc0$a5becec2@neuteu> References: <01bc4647$ee5a5110$b4becec2@neuteu> <vy8hghekl5d.fsf@laplace.snu.ac.kr> Hi, I'm trying to explain more clearly my problem with an example: In an application i develop with 4.1 and EOF 2.0, sometimes my interface becomes unstable because of exceptions like [NSArray arrayWithObject:nil]. I debug my code, and i realize that the EOInterface layer is responsible: the exception is generate after my code, in a later NSApp event by a class like NSDelayedObserver. Impossible to catch the exception because not planned. In this example, it is a bug in EODisplayGroup caused by a EOEditingContext revert (Reference: 64084). That i want (for future or uncovered bugs) is to prevent the user to save his work and to relaunch, because the app is in an unstable state. Thanks for your help, Stef --- Stephan Mertz, Improve SA OpenStep Developer
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: bugs in OPENSTEP Enterprise 4.1 for NT Date: 14 Apr 1997 14:37:44 GMT Organization: Rockwell Collins Message-ID: <5itffo$2qm2@castor.cca.rockwell.com> References: <5ilfft$ph3$1@news1.xs4all.nl> Cc: jwdb@fygir.nl In <5ilfft$ph3$1@news1.xs4all.nl> Jan-Willem de Bruijn wrote: > > * pswrap does not automatically create the intermediate subdirectory > with name of the subproject, inside the derived_src directory. I have > to do it by hand. > Dit it ever ? I would like to know how to use that feature. > > So far, for the rest it seems to compile OK. Although we have found > some UNIX specific things in our code, like popen, crypt. And 'struct > tm' from <time.h> is not the same, but these can all be worked around. > > Oh, one thing: maybe somebody has a pointer to a yacc/lex replacement > for Windows NT, that can be called from within the Makefiles? > MKS LEX/YACC are good products.
From: Tom Hageman <tom@basil.icce.rug.nl> Newsgroups: comp.sys.next.programmer Subject: Re: Objective C? Date: 14 Apr 1997 19:05:39 +0200 Organization: Warty Wolfs Message-ID: <9704132211.AA05714@basil.icce.rug.nl> Mime-Version: 1.0 (NeXT Mail 4.1mach v148) Content-Type: text/plain In article <jesjones-ya023580000904972126530001@news.halcyon.com>, jesjones@halcyon.com (Jesse Jones) wrote: > In article <9704092226.AA02800@basil.icce.rug.nl>, tom@basil.icce.rug.nl wrote: > > In article <jesjones-ya023580000804972054450001@news.halcyon.com>, > > jesjones@halcyon.com (Jesse Jones) wrote: > > > How do you cleanup an object that throws from one of its init > > > methods? > > > > One way is to explicitly intercept exceptions, and handle the > > cleanup in the exception handler, like this: [my examples snipped] > > Won't the release method wind up calling free? If this is true > we're back to calling subclass methods without first initializing > the subclass. Is it possible to specify which free method to call > and then deallocate the object? Yes, the release method ultimately calls the object's -dealloc method when the object's retain count reaches zero. In theory this may cause problems in -dealloc if the object is partially initialized. In practice, the problem is minimized since -alloc zeroes out the object's memory. So pointer instance variables are in effect initialized to nil (or NULL) even if -init is never invoked (assuming the conventional representation of nil/NULL as all-zero bits of course.) Since methods sent to nil are ignored, and free(NULL) is also a no-op as per ANSI C, a straightforward implementation of -dealloc usually suffices: @interface Foo : ASuperClass { id myObject; void *myChunkOfMemory; // ... } // ... - (void)dealloc; @end @implementation Foo // ... - (void)dealloc { [myObject release]; free(myChunkOfMemory); // ... [super dealloc]; } @end -- __/__/__/__/ Tom Hageman <tom@basil.icce.rug.nl> [NeXTmail/Mime OK] __/ __/_/ IC Group <tom@icgned.nl> (work) __/__/__/ "Any magic sufficiently advanced is indistinguishable __/ _/_/ from a perl script" -- Larry Wall, mangled
From: Greg_Anderson@afs.com (Gregory H. Anderson) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Controls and Cells (was Re: Berkeley Sockets vs. STREAMS) Date: 14 Apr 1997 17:07:21 GMT Organization: Anderson Financial Systems Inc. Message-ID: <5ito89$qtp@shelob.afs.com> References: <ant1416381cbLJLo@om107.acorn.co.uk> Dave Griffiths <dgriffit@acorn.co.uk> writes > Does anyone know why the Cell classes exist? It's very curious 'cos > there's a lot of repetition between View and Cell. It would seem cleaner > to only have View sublasses. The only reason I can think of that NeXT > created Cell and all it's subclasses is to avoid the DPS overhead of > creating Views. Bit of a kludge, but justified by performance criteria. The theory of operation is that Controls (which descend from View) are responsible for events and drawing; while Cells are responsible for maintaining, validating, and formatting the _contents_ of Controls. Yes, many Controls have a one-to-one relationship with Cells, but that is not the case with Matrixes and their descendents. For those classes, a set of lighter-weight objects handle all the different contents, but there is only one object to coordinate drawing and event handling. The other nice thing about Control/Cell interactions is that you can change the "internal" behavior of Controls just by writing new Cell subclasses and installing them with +setCellClass: "factory" methods. This is _very_ convenient for custom Matrixes, or TextFields with special validations. It's almost like doing a poseAs:. -- Gregory H. Anderson | "I wander'd off by myself, In the Crystal Ball/Star Gazer | mystical moist night-air, and from Anderson Financial Systems | time to time, Look'd up in perfect greg@afs.com (NeXTmail OK) | silence at the stars." Walt Whitman
From: adpark.com Newsgroups: comp.sys.next.programmer Subject: coupons,contests,$ and more Date: Fri, 11 Apr 1997 10:04:14 Organization: adnc.com Message-ID: <5ilrej$bi2@taurus.adnc.com> Coupons, contests, Free chance at $100,000. Earn $$ passing out isp diskettes almost anywhere in the country. All this and more see: http://www.adpark.com
From: sef@kithrup.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5ilrej$bi2@taurus.adnc.com> Date: 15 Apr 1997 01:04:07 GMT Control: cancel <5ilrej$bi2@taurus.adnc.com> Message-ID: <cancel.5ilrej$bi2@taurus.adnc.com> Sender: adpark.com Spam cancelled by sef@kithrup.com
From: arti@address.in.signature (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: bugs in OPENSTEP Enterprise 4.1 for NT Date: 15 Apr 1997 04:19:54 GMT Organization: LavaNet, Inc. Distribution: world Message-ID: <5iuvla$7hm@mochi.lava.net> References: <5ilfft$ph3$1@news1.xs4all.nl> jwdb@fygir.nl (Jan-Willem de Bruijn) wrote: > Oh, one thing: maybe somebody has a pointer to a yacc/lex replacement > for Windows NT, that can be called from within the Makefiles? flex and bison are included with OS/NT and are more capable than the old BSD lex and yacc included with NS. Support for flex and bison is included in OS/NT's Makefiles, although some changes from lex and yacc source will probably be required. -- Art Isbell NeXT/MIME Mail: arti at lava dot net Trego Systems (for whom I don't speak) Voice/Fax: +1 808 394 0511 OPENSTEP/NT Voice Mail: +1 808 394 0495 managed care solutions US Mail: Honolulu, HI 96825-2638
From: u8021804@cc.nctu.edu.tw () Newsgroups: comp.sys.next.programmer Subject: EOF and Oracle workgroup server Date: 15 Apr 1997 04:00:58 GMT Organization: National Chiao-Tung University, Taiwan Message-ID: <5iuuhq$rma@netnews.nctu.edu.tw> NNTP-Posting-User: u8021804 Hi, When I select Oracle Adapter in EOModeler.app (in WOF 3.0 for NT) to Connect to Oracle Workgroup Server 7.1 on NT, I get an error that " ORA72.dll is not in the path........". I can only find ORA71win.dll or ORA71dis.dll in ORAWIN/BIN folder of my system. Is it possible to connect EOF to Oracle Workgroup Server? Is the adaptor come with EOF 2.0 is only for Universal Server? Any helps are welcome. Thanks a lot! TC
From: sef@kithrup.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5iukom$okg$7005@news.j51.com> Date: 15 Apr 1997 02:07:56 GMT Control: cancel <5iukom$okg$7005@news.j51.com> Message-ID: <cancel.5iukom$okg$7005@news.j51.com> Sender: S.P., Woodring<datamax@j51.com> Spam cancelled by sef@kithrup.com
From: S.P., Woodring<datamax@j51.com> Newsgroups: comp.sys.next.programmer Subject: Save money!!! Date: 15 Apr 1997 01:13:58 GMT Organization: DATAMAX Message-ID: <5iukom$okg$7005@news.j51.com> Do you have a car? Do you like music on the go? Have you given any thought about upgrading the car stereo system? If you have answered yes to any of these questions, Go to http://www.j51.com/datamax/prod01.htm Guaranteed, I can save you a great deal of money. Sincerely, SP, Woodring ______________________________________________________ I know everyone is looking for a way to save money. Should this not be of interest to you, Please forward it to a friend who needs it. This is a promotion for "What you should know before you install your car stereo system" A booklet written by SP, Woodring. ______________________________________________________ ---------------------------------------------------------------------- This message is being brought to you by Dynamic Mail - the easier and faster way to explode your business on the internet. For more information please visit our web site at : http://members.tripod.com/~apexpi/ ----------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: sc@netcom.com Subject: US-CA-Cupertino Mac/NeXT port Message-ID: <scE8o881.737@netcom.com> Organization: Netcom On-Line Services Date: Tue, 15 Apr 1997 08:43:13 GMT Sender: sc@netcom8.netcom.com Location: Cupertino Start Date: NOW Pay Rate: Open Len: 3-6 months or fulltime Requires good understanding of App toolkit contact: Hiring Mgr. Ph: 408-338-1464 fx: 408-338-0211
Newsgroups: comp.sys.next.programmer Subject: Compiling and using msql Message-ID: <1997Apr15.110849.47471@yogi.urz.unibas.ch> From: frank@ifi.unibas.ch Date: 15 Apr 97 11:08:49 MET Hello everybody, I've been trying to compile and use the 2.0beta relase of the msql database available on the network on an OPENSTEP4.0 system running on an intel machine. Thanks to the kind help of Fabien Roy, who sent me a working mmap(), and some hacking of linux sources to provide a missing strptime() function, I've been able to compile and install a version. However, when trying to install the w3 stuff, I get lots of erorrs reporting that this or that is already present (it's the first installation on this machine!). By commenting out these commands, I finally get to the point at which the client successfully connects to the (running) server and tries to configure some tables. From that point on, the machine hangs and nothing goes anymore, not even an interrup! Has anybody had any success with the 2.0 beta version under OPENSTEP4.0 for mach? Are there any other simple (and PD) data bases for OPENSTEP? Thanks for any info. -Robert -- Institut fuer Informatik tel +41 (0)61 321 99 67 Universitaet Basel fax. +41 (0)61 321 99 15 Robert Frank Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT,MIME mail ok) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch Switzerland
From: Valient Gough <val@nilenet.com> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? Date: Wed, 02 Apr 1997 02:40:39 -0700 Organization: NileNet, Ltd -- 303.825.1950 Message-ID: <33422951.7AEA2BD@nilenet.com> References: <330E54AC.167E@innosys.com> <petrichE5zqx1.LCv@netcom.com> <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew. <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit curranj@mskcc.org wrote: [how to build a better Point] > I admit that it [ObjC] has benefits -- but only in rare circumstances ---- > Places where I could generally write a C++ code that allows it (prototype > version posted elsewhere in this thread). The point is I'd like to be > able to turn it off for the 99% of the time where I don't need it. [I inserted "[ObjC]" above] The "prototype" code to give you ObjC benefits floating around in this thread do not really give you the full benefits of ObjC. It is true, you can emulate the faculties of ObjC in C (or C++) - after all, ObjC's runtime is written in C (gnu version at least). The real problem isn't always with your own code. It would be nice to have such a large personal library that you never have to use external code for GUI's, 3d rendering, network comm, etc... but that usually isn't the case. Most of the time, after a sufficiently large app, either you'll have to use someone else's library, or someone else may even be using yours. If you get a library, and that person didn't compile in this run-time binding emulator, or make the appropriate class members "virtual", you're ability to reuse their code (ie compiled code, binary only) can be significantly impared. I know, without posting an example, this point will likely be misunderstood. So, at the risk of posting a misunderstood example, consider again a Point, and an actor on a Point, defined in an external library. I will leave out the boring details of the internal implementation, since no-one should care outside of the Point. class Point { public: Point(); int x(); int y(); set(int x, int y); }; Now, say you had another *external* class (no source), that took a Point, this could be a class member, it doesn't really matter. void actOnPoint(Point *pnt); Suppose, I then, in my own source, decided to create a type of Point, say a PointOnLine that forced the point to always be on a line. class PointOnLine : public Point { public: PointOnLine(const Line &line); int x(); int y(); set(int x, int y); }; At this point, maybe you see what I'm getting at. I've, in my *own* source, defined PointOnLine. Point and actOnPoint(Point*) are from an external library. Even though I can pass my PointOnLine type to actOnPoint, it will not be able to use it correctly without breaking one or more libraries. Either I could make the Point methods virtual, which require that I'm *able* to compile any other libs that use Point, or I could try putting in a Point cast method in PointOnLine - which would still likely break actOnPoint because you'd only have a snapshot of what PointOnLine looked like at the time of the cast, but you can't assume actOnPoint will not modify and re-use it. In order to have truely resuable/extendable libraries in C++, you'd probably need to define all members as virtual... otherwise you're placing a limit on what another person could later override without breaking other libraries or classes. That still won't give you all the functionality of ObjC, look back in this thread where I briefly talked about automatically forwarding generic class types in ObjC, or look in gnustep-base or NeXTStep examples... This example is not what I'd call a "rare circumstance", it happens all the time when trying to use existing third party libraries for new purposes. regards, Val
Newsgroups: alt.retromod,alc.market,alt.ads,alt.biz,alt.biz.micc,alt.buciness,alt.business.career-opportunities,alt.business.home,alt.business.import.export,alt.business.misc,alt.business.multi-level,alt.business.multilevel,alt.childcare,alt.forsale,alt.forsale.grandjunction,alt.jobs,alt.make.money.fast,alt.marketplace,alt.misc.alt.party,alt.motorcycle.sportbike,alt.motorcycles,comp.sys.next.programmer,misc.entrepreneurs,misc.entreprreneurs.moderated,misc.rural,rec.arts.books,rec.arts.books.marketplace,recarts.sf.starwars.misc,rec.games.miniatures.warhammer,rec.motorcycles,rec.motorcycles.racing Subject: Re: bincancel:9 large binaries:AR1078:@@NCM Message-ID: <ARMM-Report-1078.a@redpoll.mrfs.oh.us> References: <ARMM-Report-1078@redpoll.mrfs.oh.us> Date: Wed, 16 Apr 97 08:21:12 GMT From: red@redpoll.mrfs.oh.us (Richard E. Depew) Followup-To: news.admin.net-abuse.usenet Organization: ARMM Services, Bincancel Division Keywords: ARMM - Automated Retroactive Minimal Moderation Large binary posts do not belong in unmoderated discussion groups. Please read this entire message, the Bincancel FAQ, and the complete report (see below) before following up to or responding to this article. As a service to, and with the cooperation of, other news administrators, I run a program that searches for, and issues advisory cancels for, large binaries in the akr, biz, comp, humanities, misc, news, nz, rec, sci, soc, and talk hierarchies. I have issued 9 cancels for large binary files (average size 104,977 characters - total size 944,796 characters) posted to 10 different unmoderated discussion groups in the comp, misc, and rec hierarchies (with cross-posts into into alc and alt groups) as follows: 2 rec.arts.sf.starwars.misc 1 rec.motorcycles alt.motorcycle.sportbike alt.motorcycles rec.motorcycles.racing 1 rec.games.miniatures.warhammer 1 rec.arts.books.marketplace 1 rec.arts.books 1 misc.rural 1 misc.entreprreneurs.moderated alc.market alt.ads alt.biz.micc alt.buciness alt.business.home alt.business.misc alt.business.import.export alt.childcare alt.forsale alt.forsale.grandjunction alt.jobs alt.make.money.fast alt.marketplace alt.misc.alt.party misc.entrepreneurs alt.biz alt.business.career-opportunities alt.business.multi-level alt.business.multilevel 1 comp.sys.next.programmer The unnumbered newsgroups in the list are not separate posts, but are cross-postings of the articles represented by the preceeding numbered items. Cross-posting may lead to cancels in non-targeted groups as a consequence of the way cross-posts work. A cross-posted article has only one Message-ID. When it is canceled from one group it is canceled from all groups. This pointer is being posted to each affected group listed above. Follow-ups are directed to news.admin.net-abuse.usenet. If you want to see exactly which file was deleted from a particular group, read the full report in news.admin.net-abuse.bulletins. The full report can also be found in news.lists.filters and alt.retromod. Look for AR1078 in the subject, or, if your reader supports it, use <URL:news:ARMM-Report-1078@redpoll.mrfs.oh.us>. The criteria used to search for this batch of large binaries were: NEWSGROUPS: Unmoderated groups in the akr, biz, comp, humanities, misc, news, rec, nz, sci, soc, and talk hierarchies (except for comp.binaries.apple2, comp.bugs.2bsd, and rec.games.bolo) BINARY: base64, binhex, uuencode, and xbtoa encoded files, etc. SIZE: > 100,000 characters [(size * (# of parts - .5)), if multi-part] For more information about binary cancels, see the bincancel FAQ, <URL:http://www.southcom.com.au/~geniac/binfaq.txt>. Please direct public feedback to news.admin.net-abuse.usenet and private feedback to red@redpoll.mrfs.oh.us. In the interests of preventing cross-posted flame wars, please honor the followup-to header and do *not* cross-post your reply to multiple groups. Thank you for your cooperation. Best wishes, Dick -- Richard E. Depew, Munroe Falls, OH red@redpoll.mrfs.oh.us (home) It's over, and can't be helped, and that's one consolation, as they always say in Turkey, when they cut the wrong man's head off'' -- Charles Dickens, _The Pickwick Papers_
Date: 15 Apr 1997 09:32:53 EST Newsgroups: comp.sys.next.programmer Message-ID: <cancel.5ivp2i$9h8$4949@msunews.cl.msu.edu> Control: cancel <5ivp2i$9h8$4949@msunews.cl.msu.edu> From: clewis@ferret.ocunix.on.ca Sender: -no- @pm281-22.dialip.mich.net Subject: cmsg cancel <5ivp2i$9h8$4949@msunews.cl.msu.edu> EMP/ECP (aka SPAM) cancelled by clewis@ferret.ocunix.on.ca. See news.admin.net-abuse.announce, report 19970415.01 for further details
From: Max Silberztein <silberz@ladl.jussieu.fr> Newsgroups: comp.sys.next.programmer Subject: problems with Openstep for Windows NT Date: Tue, 15 Apr 1997 17:30:14 +0100 Organization: LADL Message-ID: <3353AD16.2058@ladl.jussieu.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, I have had several problems with OpenStep 4.1 for Windows NT: 1. I could not install OpenStep 4.1 on a French Windows NT (the installation program runs, and then says 'installation error', no explanation). 2. After having bought an English Windows NT, the installation was completed succesfully, but then: 2.1 It looks like the 'project server' (the indexer) doesn't run, even if I click on Project->Indexing->Index Project. When I search for a definition, I get the message 'project not indexed'. Nothing seems to happen when I click on the 'i' buttons on the Project->Indexing->Show Panel, and the status field is desperatly empty... Is it possible that the PATH is not set properly, or the project server is not where it should be, etc.? it is not a protection problem, since i have the same problems if i run ProjectBuilder under Administrator. BTW, here is what I get on the console when I launch Project builder: Apr 01 14:42:06 ProjectBuilder[204] Lost connection to pbs object "RulebookServer" system error 38 (Reached end of file.): WriteFile(228, 28) Apr 01 18:32:16 ProjectBuilder[131] Lost connection to pbs object "RulebookServer" Apr 01 18:32:17 ProjectBuilder[131] caught exception, stopping modal! Apr 07 09:38:56 ProjectBuilder[160] CoLockObjectExternal failed on drop target Apr 07 09:38:56 ProjectBuilder[160] AppKit error: Error messaging drag service Apr 07 16:23:44 ProjectBuilder[188] Lost connection to pbs object "RulebookServer" Apr 07 16:23:44 ProjectBuilder[188] caught exception, stopping modal! system error 38 (Reached end of file.): WriteFile(260, 28) Apr 07 16:30:47 ProjectBuilder[195] Could not find image named `__nilImage-0'. Apr 07 16:31:11 InterfaceBuilder[74] PB removed Controller.m from <IBProject:D:\silberz\openstep\hello> for key IBProjectSourcesFileKey 2.2 I cannot set the Tools->Preferences->Miscalleneous->Editor to the TextEdit application... 2.3 my Tools->Preferences->Key bindings gives a choice about tabs (insert tab, ident only at beginning of line, ident always), but nothing about Emacs keys... How do I set the keyboard so that ctrl-e goes to the end of the line, ctrl-a at the beginning, etc. To my surprise, I have seen nothing in the documentations, in NextAnswers, nor in the news that speek about installation errors... Am i the only one experiencing problems? --Max Silberztein, silberz@ladl.jussieu.fr
From: brown@bibliotech.com (Robert E. Brown) Newsgroups: comp.sys.next.programmer Subject: Emacs 19.34 and OpenStep 4.x Date: 03 Apr 1997 00:53:40 -0500 Organization: Bibliotech, Inc. Sender: brown@grettir Message-ID: <873et8fy8r.fsf@grettir.i-have-a-misconfigured-system-so-shoot-me> Where can I find patches that will allow me to compile and install Emacs version 19.34 on OpenStep 4.1? I am not really interested in a NextStep aware version of Emacs, just in getting the text only version working. Thanks! bob
From: Jessica Severin <jessica@whitewater.chem.wisc.edu> Newsgroups: comp.sys.next.programmer Subject: NSSavePanel problems in Openstep/NT Date: Wed, 16 Apr 1997 20:29:00 -0500 Organization: University of WI - Madison, Dept. Chemistry Message-ID: <33557CDC.13E3@whitewater.chem.wisc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello, I've tried everything I can think of and I can't get the SavePanel to correctly display the active save type in Openstep/NT 4.1 with Windows NT 4.0. Our application can save out to 7 different formats. On NextStep we originally implemented this as a popuplist of types in an accessory view to the SavePanel. This still works fine in Openstep/Mach. When the user selects a different item in the popuplist it executes the method -switchSaveFormat. Note this is all occurring during the savePanels runModal loop. (savePanel and saveFormat are object level variables). this is part of the setup of the NSSavePanel when the user selects saveAs from the menu savePanel = [[NSSavePanel savePanel] retain]; [savePanel setAccessoryView:savePanelExtn]; [savePanel setDelegate:self]; extn = [self activeSaveExtension]; [savePanel setRequiredFileType:extn]; [savePanel validateVisibleColumns]; dirName = [NSString stringWithCString:currentFileName]; fileName = [dirName lastPathComponent]; fileName = [fileName stringByDeletingPathExtension]; dirName = [dirName stringByDeletingLastPathComponent]; if([savePanel runModalForDirectory:dirName file:fileName]) { //stuff } - (void)switchSaveFormat:sender { //sender is a NSPopUpButton NSString *extn; saveFormat = [sender indexOfSelectedItem]; extn = [self activeSaveExtension]; [savePanel setRequiredFileType:extn]; NSLog(@"switch savetype to %@", extn); [savePanel validateVisibleColumns]; } - (NSString*)activeSaveExtension { NSString *extn; switch(saveFormat) { case 0: extn = @"lanes"; break; case 1: extn = @"seqd"; break; case 2: extn = @"dat"; break; case 3: extn = @"bfd"; break; case 4: extn = @"seq"; break; case 5: extn = @"scf"; break; case 6: extn = @"scfd"; break; case 7: extn = @"fasta"; break; default: extn = [NSString string]; break; } return [[extn copy] autorelease]; } - (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename { NSString *extn; NSLog(@"validate file %@", filename); extn = [self activeSaveExtension]; if([extn isEqualToString:[filename pathExtension]]) return YES; else return NO; } According to the 4.1 release notes..... NSSavePanel now inherits from NSObject in the OpenStep specification to gain greater portability. This means that although on Mach NSSavePanel is implemented as a subclass of NSPanel, methods inherited from NSPanel and NSWindow are not considered part of the spec. In fact, on Windows NSSavePanel is implemented as subclass of NSObject since we are using the native UI. A new method has been added to the SavePanel to validate the visible columns. For instance, say your filtering criteria have changed. Call this method to get the correct files displayed: - (void)validateVisibleColumns; And the NT oneline documentation for NSSavePanel added this note to the description of -validateVisibleColumns: One situation in which this method would find use is whey you want the browser show only files with certain extensions based on the selection made in an accessory-view pop-up list. This is exactly what I'm doing. THIS CODE DOES NOTHING TO UPDATE THE SAVEPANEL TO THE CURRENT REQUIREDFILETYPE OR CHANGE THE PANEL IN ANYWAY. My program doesn't even appear to be executing the -panel:shouldShowFilename: method after it called -validateVisibleColumn Is this a BUG in Openstep or am I coding this wrong? Thanks for any help. Jessica Severin
From: jesjones@halcyon.com (Jesse Jones) Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: Wed, 02 Apr 1997 21:02:06 -0700 Organization: Edmark Message-ID: <jesjones-ya023580000204972102060001@news.halcyon.com> References: <330E54AC.167E@innosys.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <5g0apb$a@news.ml.com> <5gde7t$4f5@lal.interserv.com> <5glbme$4q7@news.ml.com> <5gtf7v$2j@lal.interserv.com> <5hb805$fo6@news.ml.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5hufks$pip$1@darla.visi.com>, David Young <dwy@ace.net> wrote: > In comp.sys.next.advocacy Richard Cave <richard_cave@claris.com> wrote: > > I know it sounds sick, but that's how it works. The init method _is_ > > the constructor. The alloc method gives you back essentially > > uninitialized memory. The purpose of the init method is to give some > > initial state to the object. [snip] > + alloc and - init are just methods. Like any other method in ObjC, > you can forward it to super, which is how ObjC implements inheritance. > > Treating a constructor differently from other methods is ridiculous > for a true object oriented language like ObjC. To get a new instance > of an object, you send a message to a class - which is also an object. > "alloc" means allocate and "init" means initialize. You give the > instance user the option of initializing the object in different ways. > Aren't more flexible objects a good thing? I think so. Evidently Richard and I haven't been clear enough in communicating the problem. Perhaps an example will help. (I'll do this in C++ since I don't know Objective-C well enough). class Base { public: // Base(); // No ctor since we're using Obj-C style initialization. virtual void Init() {Foo();} virtual void Foo() {} }; class Derived : public Base { typedef Base Inherited; public: // Derived(); // No ctor since we're using Obj-C style initialization. virtual void Init() {Inherited::Init(); mData = new long;} virtual void Foo() {*mData = 100;} protected: long* mData; }; Derived object = new Derived; object->Init(); With C++ this will result in a crash because Base::Init is calling a virtual function before the object is fully constructed. This, of course, is the reason you can't call a virtual function in a constructor polymorphicly. From what everyone has said this sort of thing will also cause a crash in Objective-C. Is this really true? > > I think the convention > > in this case is to call super init first, then carry on with your > > method. FWIW, Java has some of the same "conventions". You're right > > that calling a virtual method in this environment is full of danger, > > don't try an invariant in an init method. > > Full of danger, indeed, for those unwilling to grasp the most basic > of programming concepts. I suppose the language should prevent you > from using unmalloc'd pointers, too? Wait, let's add in array size > checking while we're at it. > > The flexibility is there for those who want to use it. If you're > afraid of it, stay away. Maybe you should all be Pascal advocates. No need for (attempted) slurs; we're just trying to further our understanding of Objective-C. --Jesse
From: red@redpoll.mrfs.oh.us (Richard E. Depew) Newsgroups: comp.sys.next.programmer Subject: ignore: Fix and Go subproject - source (40kb) Control: cancel <5j0ver$nc4$1@newsserver.dircon.co.uk> Sender: johnh@madcow.dircon.co.uk (John Holdsworth) Message-ID: <cancel.5j0ver$nc4$1@newsserver.dircon.co.uk> Date: Wed, 16 Apr 97 01:01:04 GMT Canceling large binary file posted to unmoderated discussion group
From: Joachim F. Kainz <joachim.kainz@esystems.com> Newsgroups: comp.sys.next.programmer Subject: JOB OFFER: OpenStep Software Engineer Date: 17 Apr 1997 00:07:57 GMT Organization: HoloNet National Internet Access System: 510-704-1058/modem Message-ID: <5j3pkt$fbc@colossus.holonet.net> Software production company, specializing in the development of object-oriented software for the marine terminal industry, offers immediate positions for OpenStep software developers. You should have a B.Sc. in computer sciences or equivalent work experience and more than three years in NeXTStep and OPENSTEP environment. EOF experience a big plus. Located in Alameda, CA on "Silicon Island", this mid-sized company offers a competitive salary, benefits, and pension package along with a casual and flexible working environment. Only self-starters who seek a challenging, career-expanding project need apply. Send your resume to Embarcadero Systems Corporation Attention: Joachim F. Kainz 1255 Harbor Bay Parkway Alameda, CA 94502 Fax: (510) 749 3800 E-Mail: Joachim.Kainz@esystem.com (NeXTmail welcome)
From: Luke Blanshard <luke@vnp.com> Newsgroups: comp.lang.objective-c,comp.sys.next.programmer,gnu.gcc.help,gnu.gcc.bugs Subject: Re: Hole in preprocessor support of Obj-C? Date: Wed, 16 Apr 1997 19:47:22 -0500 Organization: VNP Software, Inc. Message-ID: <3355731A.24A@vnp.com> References: <5j117u$oe6@medusa.is.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I submitted a bug report to Next maybe a year and a half ago about this. I haven't tried it again lately, but I doubt if it's fixed. The real issue, I think, is that no one wants to mess with the preprocessor because it's not ObjC-specific. The workaround is to surround your NSString constructor with parentheses. The preprocessor treats parenthesized expressions as indivisible chunks, but not expressions surrounded by square brackets. Josh DuBois wrote: > > Hey, there - > > someone here just noticed what looks to me like a hole in > gcc's preprocesor support for Obj-C. We're trying to implement a macro > for exception raising...
From: Timothy Luoma <luomat@peak.org> Newsgroups: comp.sys.next.programmer Subject: Re: gcc for NeXT Date: Tue, 15 Apr 1997 17:58:19 -0700 Organization: The PEAK FTP site for OpenStep & NeXTStep Message-ID: <Pine.SUN.3.96.970415175604.5568B-100000@kira> References: <33513dad.0@ALPHA.RHODES.EDU> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: Mike Wottle <wotmp@rhodes.edu> In-Reply-To: <33513dad.0@ALPHA.RHODES.EDU> If you did not purchase the developer tools, then you will have to get them. Since you are an edu-folk, you can get the edu price of $300.00. You cannot just get gcc because you need all the libraries, etc that only come with the developer set. TjL -- TjL <luomat@peak.org> http://www.peak.org/~luomat/next/ "Give a man a piece of working code and you solve his problem. Teach a man to write code and you give him a lifetime of new problems" -- me
From: theisen@akaMail.com (Dirk Theisen) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Rejoice! BSD 4.4 is coming Date: Thu, 3 Apr 1997 11:47:07 +0200 Organization: University of Bonn, Germany Message-ID: <19970403114707136312@rhrz-ts2-p5.rhrz.uni-bonn.de> References: <jcr.858895952@idiom.com> John C. Randolph <jcr@idiom.com>: > Well, I just heard it from the fourth source inside NeXT's engineering > groups, and what I'm hearing is that the BSD code in Rhapsody is > *finally* getting upgraded to BSD 4.4! > > This means we get: append-only files and filesystems, the LFS, 64-bit > filesystems (i.e, no more 2 gig partition limit!) I really hope this is true... Dirk -- Site of the Day: http://www.microsnot.com/ Student of computer science, University of Bonn, Germany http://titan.informatik.uni-bonn.de/~theisen/
From: Kresten Krab Thorup <krab@california.daimi.aau.dk> Newsgroups: comp.lang.objective-c,comp.sys.next.programmer,gnu.gcc.help,gnu.gcc.bugs Subject: Re: Hole in preprocessor support of Obj-C? Date: 17 Apr 1997 16:18:28 +0200 Organization: DAIMI, Computer Science Dept. of Aarhus Univ. Message-ID: <xz6d8rtpwaz.fsf@california.daimi.aau.dk> References: <5j117u$oe6@medusa.is.com> and errorString is an NSString*. The problem is that sometimes I'd like to say ERROR(ERRORTYPE1, [NSString stringWithFormat:@"foo : %@", [self bar]]) so I can pass a string generated with printf-style formatting. The problem is that the preprocessor chokes with something like : /CashierPayment.m:209: macro `ISLogError' used with too many (3) args apperantly concerned about the two commas, despite the fact that one of them is, in reality, part of an expression that should (IMHO) be treated as a single macro argument. You can probably work around this problem by enclosing the second argument to ERROR with a pair of parentheses: ERROR(ERRORTYPE1, ( [NSString ... , ... ] )); -- Kresten _ _ ___ _ _ _ _ _ | | _ _ _ __ | |_ / _ \ _| | __ (_)_ _ _(_) __ __ _ _ _| | | _ | |/ | '_|_ \| ' / _ / ` ||_ \| | ' ' | | |_ \ |_ \| | | / ` | |/ | | <| | / . | | | \__( (| / _ | | | | | |_/ _ / _ | | |( (| | < |_|\_|_| \_,_|_,_/\___/\_,_\__,_|_|_|_|_|_(_)__,_\__,_\_,_(_)_,_|_|\_|
From: markfr@markfr .cse.tek.com Newsgroups: comp.sys.next.programmer Subject: Makefile.dependencies for C++ Date: 17 Apr 1997 17:25:12 GMT Organization: Tektronix, Inc., Beaverton, OR USA Distribution: USA Message-ID: <5j5mdo$qsn$1@bvadm.bv.tek.com> Does anyone know how I can get Project Builder to generate the correct dependencies for a project I am building with C++ integrated with Objective C. At the present time, it just ignores the C++ files in 'Other Sources' when I do a build with 'depend' as the target. - Thanks for your help, Mark markfr@markfr.cse.tek.com
From: duboisj@gondolin.is.com (Josh DuBois) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer,gnu.gcc.help,gnu.gcc.bugs Subject: Hole in preprocessor support of Obj-C? Date: 15 Apr 1997 22:59:10 GMT Organization: Integrity Solutions, Inc. Message-ID: <5j117u$oe6@medusa.is.com> Hey, there - someone here just noticed what looks to me like a hole in gcc's preprocesor support for Obj-C. We're trying to implement a macro for exception raising - we'd like to do something like : #define ERROR(errorType, errorString) \ [NSException raise:errorType\ format:[NSString stringWithFormat:@"%@ at %s : %d", \ errorString, __FILE__, __LINE__]] where errorType is one of something like #define ERRORTYPE1 @"ErrorTypeOne" and errorString is an NSString*. The problem is that sometimes I'd like to say ERROR(ERRORTYPE1, [NSString stringWithFormat:@"foo : %@", [self bar]]) so I can pass a string generated with printf-style formatting. The problem is that the preprocessor chokes with something like : /CashierPayment.m:209: macro `ISLogError' used with too many (3) args apperantly concerned about the two commas, despite the fact that one of them is, in reality, part of an expression that should (IMHO) be treated as a single macro argument. part of my problem may be that I'm using gcc 2.5.8 - does anyone know if this problem has been fixed in more recent versions? (also, as may be clear from my examples, I'm on a NeXT). Am I missing something in wanting this feature - i.e., is this not a *bug,* but a necessity for some reason? Thanks for any help, Josh.
From: Matthew.Healy@yale.edu (Matthew D. Healy) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Date: Thu, 17 Apr 1997 13:49:18 -0500 Organization: Yale Center For Medical Informatics Message-ID: <Matthew.Healy-1704971349180001@pudding.med.yale.edu> References: <199704091839.UAA06438@basement.replay.com> <E8Fqu7.Fq2@idm.com> In article <E8Fqu7.Fq2@idm.com>, sjh@idm.com (Steven J Haworth) wrote: ... > > We can have the "Open and Shut Window Technique" Y2K correction > > code inserted into your programs with or w/o testing as desired! > > No problem! Reasonable rates! > > Without testing. What a novel idea. > Now there's a sure-fire way to develop solid code. A friend who works for a utility company that is nearing the end of their Y2K project recently told me that well over half of their project cost was the cost of exhuastive testing. They had to rent mucho hours time on somebody else's mainframe to run all their mission-critical programs in a realistic simulation of their actual environment on future dates beginning in late 1999. They found lots of things they missed with such end-to-end testing of the entire system. Expensive, yes, but the cost of *not* testing could well have been enormous. They are still worried about things like departmental spreadsheets that never got documented so MIS has no record of them. In 988 days we shall all find out which organizations did *not* test sufficiently... Big fun. I can understand why some famous database guru (I forget who) told an interviewer that he planned to spend the entire month of January 2000 in a place where there were neither computers nor telephones! --------- As of 17 Apr 1997, 988 days till Y2K.... Matthew.Healy@yale.edu http://paella.med.yale.edu/~healy "But I thought it was pointed at the rabbit *between* my feet!"
From: ovidiu@bx.logicnet.ro (Ovidiu Predescu) Newsgroups: comp.sys.next.programmer Subject: Re: Hole in preprocessor support of Obj-C? Date: 17 Apr 1997 12:45:17 -0700 Organization: None Sender: ovidiu@bx.logicnet.ro Message-ID: <199704171933.WAA00417@m45> MIME-Version: 1.0 (NeXT Mail 3.3 v118.2) Content-Type: text/plain On Wed, 15 Apr 1997 22:59:10 GMT, Josh DuBois wrote: > Hey, there - > > someone here just noticed what looks to me like a hole in > gcc's preprocesor support for Obj-C. We're trying to implement a > macro for exception raising - we'd like to do something like : > > > #define ERROR(errorType, errorString) \ > [NSException raise:errorType\ > format:[NSString stringWithFormat:@"%@ at %s : > %d", \ > errorString, __FILE__, __LINE__]] > > > where errorType is one of something like > > #define ERRORTYPE1 @"ErrorTypeOne" > > and errorString is an NSString*. The problem is that sometimes > I'd like to say > > ERROR(ERRORTYPE1, [NSString stringWithFormat:@"foo : %@", > [self bar]]) > > so I can pass a string generated with printf-style formatting. > The problem is that the preprocessor chokes with something like : > > /CashierPayment.m:209: macro `ISLogError' used with too many (3) > args > > apperantly concerned about the two commas, despite the fact that > one of them is, in reality, part of an expression that should > (IMHO) be treated as a single macro argument. > > part of my problem may be that I'm using gcc 2.5.8 - does anyone > know if this problem has been fixed in more recent versions? (also, > as may be clear from my examples, I'm on a NeXT). Am I missing > something in wanting this feature - i.e., is this not a *bug,* but > a necessity for some reason? > > Thanks for any help, > > Josh. What you need is macros with variable number of arguments. You can define your macro like this: #define ERROR(errorType, errorString...) \ [NSException raise:errorType \ format:[NSString stringWithFormat:@"%@ at %s : %d", \ ##errorString, __FILE__, __LINE__]] But attention, this a relatively new feature, I don't think NeXT's cc supports it. It works for sure in the 2.7.x compilers and I think in 2.6.x. Ovidiu
From: andreas@lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: Experiences about EOF & OpenBase 5.0 Date: 18 Apr 1997 07:49:30 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5j792a$dh@merkur.lynet.de> Hello, I've just started to do my first steps with EOF using OpenBase 5.0. They provide their own adaptor and the thing seems to work somehow, but I'm not getting further anymore. I studied the ENTERPRISE OBJECT'S FRAMEWORK DEVELOPER'S GUIDE delivered with OpenStep, but this one is only a very rough introduction to the matter. Does anyone has expierences developing software with this combination and is inclined to share it, or at least can give me a book-recommendation to get any further? Andreas Hoeschler
From: Jelske.Kloppenburg@gmd.de Newsgroups: comp.sys.next.programmer Subject: PSDoUserPath & dps_inufill Date: 18 Apr 1997 08:47:49 GMT Organization: GMD, Sankt Augustin, Germany Message-ID: <5j7cfl$glr@omega.gmd.de> I don't know how to use PSDoUserPath with dps_inufill. Could anybody e-mail me a short example, please. Thanks j.k. -- Jelske Kloppenburg, +49 2241 14-2433, <Jelske.Kloppenburg@gmd.de> GMD - German National Research Center for Information Technology "Don't kill the Winners!" Dennis Tsichritzis
From:  wam@zoo.bt.co.uk (Wayne Morrison) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer,comp.sys.next.misc Subject: History keys ^P, ^N, ^B, ^F Date: 18 Apr 1997 09:39:46 GMT Organization: BT Labs, Martlesham Heath, Ipswich, UK Message-ID: <5j7fh2$o45@pheidippides.axion.bt.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit How do I set up Terminal.app so that I can shuffle through the command history list with the Cursor keys (or at least with a Ctrl-Cursor modifier) as opposed to using: ^P move up through history ^N move down through history ^B move left along the current command ^F move right along the current command I saw something on the FAQ that used emacs macros but was unable to get it to work. I've also set up my keymapping for the cursors but Terminal.app refuses to recognise the cursor press. Thanks for any help, Wayne
From: rdogra@nowhere.com Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer,comp.sys.next.misc Subject: Re: History keys ^P, ^N, ^B, ^F Date: 18 Apr 1997 12:53:21 GMT Organization: Internet MCI Message-ID: <5j7qs1$87l$1@news.internetmci.com> References: <5j7fh2$o45@pheidippides.axion.bt.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit  wam@zoo.bt.co.uk (Wayne Morrison) wrote: > > >How do I set up Terminal.app so that I can shuffle through the command >history list with the Cursor keys (or at least with a Ctrl-Cursor modifier) >as opposed to using: >^P move up through history >^N move down through history >^B move left along the current command >^F move right along the current command > >I saw something on the FAQ that used emacs macros but was unable to get it to >work. I've also set up my keymapping for the cursors but Terminal.app refuses >to recognise the cursor press. > >Thanks for any help, > > Wayne Hi From man page of csh: . . . HOW TO ENABLE THE EXTENDED C-SHELL FEATURES To enable the extended C-Shell features, put the line: set editmode = emacs in the .cshrc file in your home directory. If you don't have such a file, create one and add the line to the end. Log out and log in again and you will be using the new shell. . . . Rajnish
From: giddings@menominee.chem.wisc.edu (Michael Giddings) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer,comp.sys.next.misc Subject: Re: History keys ^P, ^N, ^B, ^F Date: 18 Apr 1997 19:23:27 GMT Organization: University of Wisconsin - Madison Message-ID: <5j8hnf$4ns4@news.doit.wisc.edu> References: <5j7fh2$o45@pheidippides.axion.bt.co.uk> <5j7qs1$87l$1@news.internetmci.com> Cc: rdogra@nowhere.com,wam@zoo.bt.co.uk In <5j7qs1$87l$1@news.internetmci.com> rdogra@nowhere.com wrote: > HOW TO ENABLE THE EXTENDED C-SHELL FEATURES > To enable the extended C-Shell features, put the line: > > set editmode = emacs > > in the .cshrc file in your home directory. If you don't > have such a file, create one and add the line to the end. > Log out and log in again and you will be using the new > shell. > > Rajnish > This doesn't enable the arrow keys (or at least I've never been able to get it to do so). The easiest way I've found to get arrow keys (and lot's of other neat features) is intsalling Bash. There is a pre-compiled binary for it at ftp.next.peak.org. Good luck. -- Michael Giddings giddings@chem.wisc.edu giddings@barbarian.com (608)258-1699 or (608) 692-2851 http://smithlab.chem.wisc.edu/PersonalPages/giddings/giddings.html http://www.barbarian.com
From: jan@obed-le0.cs.ualberta.ca (Jan Sacharuk) Newsgroups: comp.sys.next.programmer,comp.sys.next.software,gnu.emacs.help Subject: emacs meta-key on NeXT.. Date: 18 Apr 1997 12:52:45 -0600 Organization: U of Eh? Message-ID: <qrd20886u4i.fsf@obed-le0.cs.ualberta.ca> Is there any way to set the meta key to be anything but the escape key? It's usually not to bad, but it gets tiring to scroll up and hit the alternate key (which I'm used to), and getting weird garbage. Thanks. Jan Sacharuk
From: goldman@visi.com (Matthew Goldman) Newsgroups: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Subject: Re: Y2K Is Rapidly Becoming an Untouchable Problem Followup-To: alt.comp.shareware.programmer,comp.databases.adabas,comp.databases.sybase,comp.lang.cobol,comp.os.os2.misc,comp.os.os2.programmer.misc,comp.sys.mac.misc,comp.sys.next.programmer,comp.unix.misc,comp.unix.programmer Date: 18 Apr 1997 20:23:44 GMT Organization: Vector Internet Services, Inc. Message-ID: <5j8l8g$a74$1@darla.visi.com> References: <199704091839.UAA06438@basement.replay.com> <E8Fqu7.Fq2@idm.com> <Matthew.Healy-1704971349180001@pudding.med.yale.edu> Matthew D. Healy (Matthew.Healy@yale.edu) wrote: : In 988 days we shall all find out which organizations did *not* : test sufficiently... : : Big fun. I can understand why some famous database guru (I forget who) : told an interviewer that he planned to spend the entire month of January : 2000 in a place where there were neither computers nor telephones! Isn't that going to be anywhere in the known world? :-) Matt -- O O __ | \| O O /|\ -/- _ __\ O _\O |/ (/ O/ /\- /|\ / \ / ) / \ | /O _ O/_ _ O_ ^_ / \^_ )\ / \ ------------------------------------------------------------------------ Matthew Goldman E-mail: goldman@visi.com Home: (612) 535-5220 Work: (612) 883-6640 My day today? Nothing major, just Xenon base gone, Scorpio gone, Tarrant dead, Tarrant alive and then I found out Blake sold us out.
From: Chuck_Esterbrook@orcacomputer.com Newsgroups: comp.sys.next.programmer Subject: Re: bugs in OPENSTEP Enterprise 4.1 for NT Date: 18 Apr 1997 21:13:10 GMT Organization: Virginia Tech, Blacksburg, Virginia Message-ID: <5j8o56$4tv$2@solaris.cc.vt.edu> References: <5ilfft$ph3$1@news1.xs4all.nl> jwdb@fygir.nl (Jan-Willem de Bruijn) wrote: > > We recently have become the proud owners of a copy of OPENSTEP > Enterprise Release 4.1 for Windows NT, and have begun to try to compile > our software, that we have been porting to the OpenStep specifications > (on our Mach machines with OPENSTEP 4.0) for the past few months. > > We would like your comments (and commiserations) on the following bugs: > > * One nasty surprise was that the compiler does not grok RTF formatted > source code. (Why does ProjectBuilder have a Format menu then?) I've heard that 4.2 does support RTF source code. Maybe you should hold out... Also, the Format menu is still useful for documentation and resources that are RTF. If you have further problems, I have found that in general, ProjectBuilder crashes less often when indexing is turned off. You may not have noticed this, but gcc crashes when trying to build precompilation files and there is no precompiled header for Foundation or AppKit. I find building projects to be much slower under NT. Good luck. -Chuck
From: woll@msc.cornell.edu (Arthur Woll) Newsgroups: comp.sys.next.programmer,comp.sys.next.software,gnu.emacs.help Subject: Re: emacs meta-key on NeXT.. Followup-To: comp.sys.next.programmer,comp.sys.next.software,gnu.emacs.help Date: 18 Apr 1997 21:17:27 GMT Organization: Cornell-Materials-Science-Center Sender: aw30@cornell.edu (Verified) Message-ID: <5j8od7$jd8@newsstand.cit.cornell.edu> References: <qrd20886u4i.fsf@obed-le0.cs.ualberta.ca> : : Is there any way to set the meta key to be anything but the escape : key? It's usually not to bad, but it gets tiring to scroll up and hit : the alternate key (which I'm used to), and getting weird garbage. : : Thanks. : xmodmap is an X program which can bind keys in the X-environment, and can be used to set up meta-keys. I use xev (another client) to find the "keycode" for a key and the bind it using xmodmap. Actually, xmodmap is run automacially, (from within my .cshrc I think) and I've got the following lines in my .xmodmaprc file: keycode 64 = Meta_L keycode 113 = Meta_R keycodes 64 and 113 are what my left and right alt keys generate. Meta_L and Meta_R are referred to as keysyms. These keysyms can (at least I think this is how it works) then be bound to modifier keys. Typing xmodmap with no arguments will show you what keysyms (with keycodes in octal in parens) are bound to what modifier keys. For me, the above lines were all that were necessary
From: steve.trainoff@wyatt.com (Steven Trainoff) Newsgroups: comp.sys.next.programmer Subject: Openstep Plotting palette Date: 18 Apr 1997 14:11:49 GMT Organization: A client of: Silicon Beach - Business Internet Services Message-ID: <5j7vf5$on7@ocean.silcom.com> Does anyone have a recommendation for a good plotting palette for openstep; preferable with source? I am interested in anything that I could get working quickly, whether PD, shareware, or commercial. -- ...STeve steve.trainoff@wyatt.com (NeXT and MIME mail welcome)
From: "Prince Akim" <prnz@ix.netcom.com> Newsgroups: comp.sys.next.programmer Subject: Over- Clocking cpu Date: 19 Apr 1997 01:08:33 GMT Organization: Anderson & Sons Message-ID: <01bc4c5e$2bc07040$42d123c7@prnz> I have a P166 w/ Endeavor M.B.....how do I over-clock and to what is my limit? thank you... prnz@ix.netcom.com
From: kwong@morgan.ucs.mun.ca (Kai S. Wong) Newsgroups: comp.sys.next.programmer Subject: NeXT Mail Spec? Date: 19 Apr 1997 02:32:00 GMT Organization: Memorial University of Newfoundland Message-ID: <5j9ar1$3u7@coranto.ucs.mun.ca> Hello all, Anyone know where can i find the spec. for NeXT Mail? Info. appreciated. kai kwong@comnetix.com
From: lars.farm@ite.mh.se (Lars Farm) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c,comp.sys.mac.advocacy,comp.sys.next.advocacy Subject: Re: Objective C? (Long) Date: Sat, 5 Apr 1997 15:04:43 +0200 Organization: pv Message-ID: <19970405150443877417@dialup100-3-16.swipnet.se> References: <5eo65r$53l@lal.interserv.com> <petrichE61n5I.DoK@netcom.com> <856715712.25573@dejanews.com> <5eqq6n$s7s@lal.interserv.com> <856776663.22260@dejanews.com> <5etptl$2tb@lal.interserv.com> <856930544.19004@dejanews.com> <33144F92.4095@online.disney.com> <5f5kn3$ndq@lal.interserv.com> <5fbln2$31e$3@news.xmission.com> <5fcss2$93i@lal.interserv.com> <4n7kZb_00iWl070Vg0@andrew.cmu.edu> <5ft5bs$kok@lal.interserv.com> <gn8se=u00iWXA=dXpb@andrew.cmu.edu> <5gddvj$4f5@lal.interserv.com> <gn=3K2S00iWPI2Rn1Q@andrew.cmu.edu> <5gl602$nbl@lal.interserv.com> <5heg3q$a4a$1@nntp2.ba.best.com> <859832225.8762@dejanews.com> <5hrpo0$3ek$1@nntp2.ba.best.com> <markeaton_-0104972114410001@ip28.santa-clara6.ca.pub-ip.psi.net> <slrn5k4c0i.f56.cb@guinan.mm.se> <marke-ya02408000R0204971339250001@news.apple.com> <5i01o1$7vt@mn5.swip.net> <markeaton_-0304972125560001@ip237.santa-clara6.ca.pub-ip.psi.net> <petrichE83q7p.5LA@netcom.com> <5i53ac$jb6$1@nntp2.ba.best.com> NNTP-Posting-User: s-49817 Kenneth C. Dyke <kcd@babylon5.jumpgate.com> wrote: > Here's my current test-bed code: [ ... ] > It is interesting to compare the assembly output of the compiler for > the two test functions. Indeed! > Now, I will be happy to eat my words if someone can show me a) how to > write the C++ vector routines that use operator overloading to generate > the 'efficient' code, or b) someone can show me a compiler that is > smart enough to 'figure it out' on it's own somehow. You satisfied case (a) yourself and Apple's MrC[pp] deals with case (b). See below. > Are there any C++ compilers that will generate code like that using > operator overloading? If not, what's the damned point? I don't think > pretty syntax is a worthy tradeoff for inefficient code. This is what Apple's MrC[pp] does: 1) the vector class straight from your posting: void doit(const Vector &a, const Vector &b, const Vector &c, Vector &d) { d = a + b * c; } Name=".doit__FRC6VectorT1T1R6Vector"(3) Size=76 00000000: 81840000 lwz r12,0(r4) 00000004: 80E50008 lwz r7,8(r5) 00000008: 81440004 lwz r10,4(r4) 0000000C: 81640008 lwz r11,8(r4) 00000010: 80050000 lwz r0,0(r5) 00000014: 81250004 lwz r9,4(r5) 00000018: 7D6B39D6 mullw r11,r11,r7 0000001C: 7C0C01D6 mullw r0,r12,r0 00000020: 81830008 lwz r12,8(r3) 00000024: 7D4A49D6 mullw r10,r10,r9 00000028: 81230000 lwz r9,0(r3) 0000002C: 81030004 lwz r8,4(r3) 00000030: 7D8B6214 add r12,r11,r12 00000034: 91860008 stw r12,8(r6) 00000038: 7C004A14 add r0,r0,r9 0000003C: 90060000 stw r0,0(r6) 00000040: 7C0A4214 add r0,r10,r8 00000044: 90060004 stw r0,4(r6) 00000048: 4E800020 blr void doit2(Vec *a, Vec *b, Vec *c, Vec *d) { vec3muladd(b,c,a,d); } Name=".doit2__FP3VecT1T1T1"(4) Size=76 00000000: 80040000 lwz r0,0(r4) 00000004: 80E50000 lwz r7,0(r5) 00000008: 7D0039D6 mullw r8,r0,r7 0000000C: 81230000 lwz r9,0(r3) 00000010: 7D484A14 add r10,r8,r9 00000014: 91460000 stw r10,0(r6) 00000018: 81640004 lwz r11,4(r4) 0000001C: 81850004 lwz r12,4(r5) 00000020: 7C0B61D6 mullw r0,r11,r12 00000024: 81830004 lwz r12,4(r3) 00000028: 7C006214 add r0,r0,r12 0000002C: 90060004 stw r0,4(r6) 00000030: 80040008 lwz r0,8(r4) 00000034: 81850008 lwz r12,8(r5) 00000038: 7C0061D6 mullw r0,r0,r12 0000003C: 81830008 lwz r12,8(r3) 00000040: 7C006214 add r0,r0,r12 00000044: 90060008 stw r0,8(r6) 00000048: 4E800020 blr 2) The vector class with float instead of int, as you suggested: void doit(const Vector &a, const Vector &b, const Vector &c, Vector &d) { d = a + b * c; } Name=".doit__FRC6VectorT1T1R6Vector"(4) Size=64 00000000: C0A40000 lfs fp5,0(r4) 00000004: C0E30000 lfs fp7,0(r3) 00000008: C0640004 lfs fp3,4(r4) 0000000C: C0C50000 lfs fp6,0(r5) 00000010: C0840008 lfs fp4,8(r4) 00000014: C0050008 lfs fp0,8(r5) 00000018: C1A50004 lfs fp13,4(r5) 0000001C: ED0539BA fmadds fp8,fp5,fp6,fp7 00000020: C0430008 lfs fp2,8(r3) 00000024: C0230004 lfs fp1,4(r3) 00000028: D1060000 stfs fp8,0(r6) 0000002C: ED44103A fmadds fp10,fp4,fp0,fp2 00000030: D1460008 stfs fp10,8(r6) 00000034: ED230B7A fmadds fp9,fp3,fp13,fp1 00000038: D1260004 stfs fp9,4(r6) 0000003C: 4E800020 blr void doit2(Vec *a, Vec *b, Vec *c, Vec *d) { vec3muladd(b,c,a,d); } Name=".doit2__FP3VecT1T1T1"(5) Size=64 00000000: C0230000 lfs fp1,0(r3) 00000004: C0050000 lfs fp0,0(r5) 00000008: C1A40000 lfs fp13,0(r4) 0000000C: EC4D083A fmadds fp2,fp13,fp0,fp1 00000010: D0460000 stfs fp2,0(r6) 00000014: C0640004 lfs fp3,4(r4) 00000018: C0850004 lfs fp4,4(r5) 0000001C: C0A30004 lfs fp5,4(r3) 00000020: ECC3293A fmadds fp6,fp3,fp4,fp5 00000024: D0C60004 stfs fp6,4(r6) 00000028: C0E40008 lfs fp7,8(r4) 0000002C: C1050008 lfs fp8,8(r5) 00000030: C1230008 lfs fp9,8(r3) 00000034: ED474A3A fmadds fp10,fp7,fp8,fp9 00000038: D1460008 stfs fp10,8(r6) 0000003C: 4E800020 blr -- Lars Farm; lars.farm@ite.mh.se - Limt: lars.farm@limt.se
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 5 Apr 1997 18:07:47 GMT Organization: ace dot net internet technologies Message-ID: <5i64dj$ii4$1@darla.visi.com> References: <330E54AC.167E@innosys.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0sgp$10l$1@darla.visi.com> <jesjones-ya023580000304972123560001@news.halcyon.com> <5i2d0h$nvb$2@darla.visi.com> <jesjones-ya023580000404972219590001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > The NeXT Objective-C manual recommends calling [super init] before doing > your own initialization. Am I wrong in assuming that pretty much everyone > does this? You're not wrong. Pretty much everyone does this. However, if you're planning on carelessly using your pointers throughout the object and in methods you override, maybe you'd want to allocate space first and call [super init] second. Technically, you can call [super init] pretty much anywhere. It's up to the programmer to decide when it's appropriate. Most of the time, the appropriate time is the first step in - init, since the rest of your init code might need to call some accessor metthods. > So you object to C++ because it has a special rule outlawing polymorphism > in ctors, but you like Objective-C where you can call an overriden method > of a derived class that hasn't been inited? How can *anyone* prefer this? > Even if this happens to work you're leaving yourself open for a real > maintenance headache. If the difference were that simple, I probably wouldn't mind. I can't stand constructors, but I can tolerate Java. It's the lack of dynamic binding that really makes me vomit. It's the virtual/nonvirtual method concept that makes me ill. It's the half-assed dynamic typing and introspection support that makes me run for the toilet. The reason you're going insane about this is because you're trying to program in Objective-C using C++ concepts. It doesn't model well for the same reasons that I can't program in C++ and use concepts of dynamic binding. To make assumptions about pointers in an overridden method is poor programming practice, plain and simple. I suppose you're arguing that the language a programmer programs in should be more restrictive in order to keep the programmer from making mistakes. This is the same issue as the static vs. dynamic typing argument, and somehow I think neither side will ever be swayed to the other. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: David Young <dwy@ace.net> Newsgroups: comp.sys.mac.advocacy,comp.sys.next.advocacy,comp.sys.mac.programmer.misc,comp.sys.next.programmer,comp.lang.objective-c Subject: Re: Objective C? Date: 5 Apr 1997 18:25:26 GMT Organization: ace dot net internet technologies Message-ID: <5i65em$ii4$2@darla.visi.com> References: <330E54AC.167E@innosys.com> <5hl994$2nm@lal.interserv.com> <5hniko$ao0@news.ml.com> <859829717.6893@dejanews.com> <5hrt9h$6s2$1@nntp2.ba.best.com> <jesjones-ya023580000104972023290001@news.halcyon.com> <3342B315.1B07@claris.com> <5hufks$pip$1@darla.visi.com> <jesjones-ya023580000204972102060001@news.halcyon.com> <5i0tqq$qcg$1@nntp2.ba.best.com> <jesjones-ya023580000304972146300001@news.halcyon.com> <5i2dki$nvb$3@darla.visi.com> <jesjones-ya023580000404972242260001@news.halcyon.com> In comp.sys.next.advocacy Jesse Jones <jesjones@halcyon.com> wrote: > Init methods are not like any other method and you cannot write them > however you please if you care about the quality of your code. So, what is > the canonical way to write an init method? Something like this maybe? [snip] This argument is stale. To write your example is a bug. Objective-C doesn't try to artificially protect you from them. C++ makes a stab at it with a sacrifice in flexibility. > And why do you think I'm an advocate of C++? Because it does some things > better than Objective-C? In fact I think C++ sucks, it just sucks less than > any other language I've used. -- # david young: oo developer, think new ideas east/onramp # vox: 212.629.6800 x170 phax: 212.629.6850 # net: david_young@thinkinc.com (MIME ok, NeXTmail better)
From: steffi@dgs.dgsys.com (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Openstep Developer needed in New York City Date: 5 Apr 1997 13:30:02 -0500 Organization: Digital Gateway Systems Message-ID: <5i65na$32b@DGS.dgsys.com> References: <brucecra-0404971531290001@user-37kbte6.dialup.mindspring.com> What makes you the "Premier" recruiter? I mean you don't even have your own domain name. Q. How many people have you placed in the last 6 months?
From: Joe Franklin<JFrank1069@aol.com> Newsgroups: comp.sys.next.programmer Subject: Save over 50% Date: 18 Apr 1997 17:35:12 GMT Organization: A poorly-installed InterNetNews site Message-ID: <5j8bcg$8pv$5631@PaperBoy.LiveNet.Net> I found some great deals that saved me over 50% on some products. Some deals are better than others. Just browse around and see if you find something you like at the virtual Mall. at http://members.aol.com/Jfrank1069 Happy bargain hunting!!! ---------------------------------------------------------------------- This message is being brought to you by Dynamic Mail software - the powerful online marketing tool to explode your business easier and faster. For more information please visit our web site at : http://www.australia.net.au/~apexpi/dynamail.htm ----------------------------------------------------------------------
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.next.programmer Subject: Re: NeXT Mail Spec? Date: 19 Apr 1997 07:18:22 GMT Organization: Global Objects Inc. Message-ID: <5j9rju$o07$2@news.xmission.com> References: <5j9ar1$3u7@coranto.ucs.mun.ca> kwong@morgan.ucs.mun.ca (Kai S. Wong) wrote: > Anyone know where can i find the spec. for NeXT Mail? Info. > appreciated. There never was one published. However, if you are having too hard a time figuring it out, look for a program called tnextmail on the NeXT archives. It is a portable command line program that can be built on just about any UNIX and allows you to send NeXTMail from the command line. If that isn't help enough, I have some code, eventually destined for the MiscKit once it has been cleaned up enough, that will bundle up NeXTMail that I could email to you. It's really ugly though... -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: Joe Franklin<JFrank1069@aol.com> Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5j8bcg$8pv$5631@PaperBoy.LiveNet.Net> Control: cancel <5j8bcg$8pv$5631@PaperBoy.LiveNet.Net> Date: Sat, 19 Apr 1997 12:56:02 +0100 Organization: A poorly-installed InterNetNews site Message-ID: <cancel.5j8bcg$8pv$5631@PaperBoy.LiveNet.Net> References: <5j8bcg$8pv$5631@PaperBoy.LiveNet.Net> EMP spam cancelled by hweede@berlin.snafu.de. The Breidbart index was 1809. See report "members.aol.com/Jfrank1069" in news.admin.net-abuse.bulletins. Subject was: Save over 50%.
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: emacs meta-key on NeXT.. Date: Sat, 19 Apr 1997 11:14:29 -0400 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <InKC5Jq00iWXM1PTl2@andrew.cmu.edu> References: <qrd20886u4i.fsf@obed-le0.cs.ualberta.ca> In-Reply-To: <qrd20886u4i.fsf@obed-le0.cs.ualberta.ca> Excerpts from netnews.comp.sys.next.software: 18-Apr-97 emacs meta-key on NeXT.. by Jan Sacharuk@obed-le0.cs > Is there any way to set the meta key to be anything but the escape > key? Take a look at Terminal's Info->Preferences->VT100 Emulation panel; it has three choices for the alternate key's behavior (generates escape sequences, special characters, or sets the high bit). -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: qpw9urfl@908u5r.com Newsgroups: comp.sys.next.programmer Subject: *Teen Deepthroat Cocksuckers !!! teencock.jpg Date: 19 Apr 1997 23:49:06 GMT Organization: Earthlink Network, Inc. Message-ID: <5jblli$eju@bolivia.earthlink.net> Check out this site, it has tons of young teens fucking and sucking cock !!! http://www.sexy-girls.com
From: qpw9urfl@908u5r.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5jblli$eju@bolivia.earthlink.net> Control: cancel <5jblli$eju@bolivia.earthlink.net> Date: Sun, 20 Apr 1997 03:39:19 +1 Organization: Earthlink Network, Inc. Message-ID: <cancel.5jblli$eju@bolivia.earthlink.net> References: <5jblli$eju@bolivia.earthlink.net> EMP/ECP spam cancelled by hweede@berlin.snafu.de. This is an ongoing spam whose Breidbart index already is above 20. See my report "sexy-girls.com" or "summary of auto-cancellations" in news.admin.net-abuse.bulletins. Subject was: *Teen Deepthroat Cocksuckers !!! teencock.jpg.
From: <glucas@netusa1.net> Newsgroups: comp.sys.next.programmer Subject: START a FREE Online Business TODAY Date: 20 Apr 1997 00:34:22 GMT Organization: NetUSA1 Inc. Message-ID: <5jboae$8p1@news.netusa1.net> *FREE* TURNKEY ONLINE BUSINESS Build a residual income from time you spend on the Internet placing FREE advertisements. Successful Internet company wants you to help them market their services online. Place FREE advertisements and get paid residual commissions on any sales that you bring to the company. NO cost to start immediately, and all you have to do is place pre-written ads online in your sparetime. Complete training and instructions will be provided to you FREE. You can even choose to get other online entrepreneurs involved and build your own "sales organization" where you can even earn commissions from the work of others. You can get started TODAY absolutely FREE, and you can even check the status of your sales ONLINE! PLEASE WRITE THIS DOWN: GD2854 You will need the above code to join this FREE program. For more information, retrieve an auto-reply from OVERVIEW@NETOPP.COM, or visit: http://www.netopp.com. ---------------------------------------------------------------------- This message is being brought to you by Dynamic Mail software - the powerful online marketing tool to explode your business easier and faster. For more information please visit our web site at : http://www.australia.net.au/~apexpi/dynamail.htm ----------------------------------------------------------------------
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <15479860904022@digifix.com> Date: 20 Apr 1997 03:59:34 GMT Organization: Digital Fix Development Message-ID: <26385861508830@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: sef@kithrup.com Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5jboae$8p1@news.netusa1.net> Date: 20 Apr 1997 03:37:07 GMT Control: cancel <5jboae$8p1@news.netusa1.net> Message-ID: <cancel.5jboae$8p1@news.netusa1.net> Sender: <glucas@netusa1.net> Spam cancelled by sef@kithrup.com
From: emclean@slip.net (Emmett McLean) Newsgroups: comp.sys.next.programmer Subject: Seek work on when OS 4.2 will be released. New features Date: 20 Apr 1997 00:43:31 -0700 Organization: Slip.Net Message-ID: <5jchf3$24q@slip.net> Hi, Has there been any word about when OS 4.2 will be released. There is nothing about it at www.next.com. What new features (especially for Mach) is it expected to have? I'm wondering because I getting tired of waiting for it to come out. Thanks, Emmett
From: johnh@madcow.dircon.co.uk (John Holdsworth) Newsgroups: comp.sys.next.programmer Subject: Very simple subproject to Fix ang Go... (30kb) Date: 20 Apr 1997 12:21:17 GMT Organization: via Direct Connection News service Message-ID: <5jd1nt$536$1@newsserver.dircon.co.uk> This is a subproject and some scripts that allow you to develop Objective-C classes incrementally without having to rebuild or even re-run your application project. Paste the following into a file and pipe it into uudecode to get the gzipped file. The idea is a simple one. Objective-C methods in a category will overload those in the main class so ClassBuilder simply turns the class into a category while you work on it and run-time loads it into the application rather than relinking the entire application. I'm afraid I can't offer much support though it should be easy enough to puzzle out any problems you may have from the ReadMe.rtf file or the source. There isn't allot to it. Happy Hacking. JH. begin 644 ClassBuilder.0.9.s.gnutar.gz M'XL("&`#6C,``T-L87-S0G5I;&1E<BYS=6)P<F]J+F=N=71A<@#L76]P&\=U M/U)4%%Z4,/+4UKCNA%O*F4@T!>#P5P)E"R0(270I@B5(QJFCL@?@`)P-X#"X M`RG&]BAL0<7C+VY5Q1.Y49WQQ!Y;[5B>3C]EFEII_:'?TN_YD';&^9!Q9^(/ MFDD[0QM];^\O@,,?PA#TQ_=`$'M[;W_[=M_NVW=[>[?1/"_+LQ4QGQ;*+KF2 M+)6EY]Q,?XGX/:%0B#"$$,[OI[^$\ZJ_*GD("?J\_E#(ZPT$X:3/'P@Q)-!G M.6RI(BM\F1#F.2E7S+7A`[9,9A`"#9:B=OIWI<6R2Q'[55[.XPEJ>K?1/^?W M>/RJ_@->GQ\8"!?P!H,,\?0G^_;T!=?__/PD\_)(Z_-#JP9%AFI`_W<`_S,8 M_BQ:,\(?G=;#GW[VMS4]_-GWXGIX]U]_RWBB3&D,XY__:<V,_Q'H60U_^IL+ M1OSO__J]2.16)!*),_O_//;8K[7XQW[[]5=^KX6EWYS^[Y\#X*W3->:IM\;^ M][V5N=MS9VL,>_72T"-7;GEJ^VK,\-+IW=@[_WRV]F$-&GMM]]"C!!(`_L'( MBY$SU1?C'U+Y=P\>^IO3-'[7\V)\Y)T7#VCQ8[]XU*W&1T[%F3,O__LM+7[W MT!4UGCD5/SWRS@<Z?PT2:#SQR"=G?D!YQB#^DT,\AF\?V!T;N3U2G8/P)_LP MGGEX"</13Z*U6Y']'UY"?H8YQ3"/_.D^6K=(D?E+1OC6(^,8OE6*W(I&SITU MXC\=6H6TMT!K!ST>YL<1/;[V"X$8X=LC+QOAW:$E(UP;N3ID:/W0'UB:0,32 M&MJT%'O:9^#7;EG"_V4)?W2GPV.6\&E+N-8B;.6QIAVDS/=8^+8EO-LB_*DU MS-S0Z>:GS,.Z"?GV;JMV\E5H7-#:(816?\@2'H;P,/["9Y\6C]\O6<*'H&$B MS^1^AGE8B\?CPUJ\%^+_<&@_C0]#^#$M/`OA/[+P'[6$ERWX3Q]FF"_#[SDX M$=&^W]]EF:]_R_Q],&AUO?^?>OQ:%W3C)J0:8\:ZX08^MGM\';D;*2SX^[O! M!VQI;]B=\?7CUS]XY>;:I;UB=\;'^@#TFZ]0V?>.W@J?<:])*KZ*OH8UXU8_ M>+9]N!OYUZ0;-W7T7F7O++]:[R!]@ZQ6J7O!QU]L+VL2?G]=ZZY?=(NOHM,Z M'UN37H=:^B7$-<IM5YKFLEGQ45;\Z/V(]F[(X=K-7_ZNUF,93/RU2ZA/K'/, M`]%1AALW:1D^Z#4''7]U746OU5ZA]6ZV&#4'+`/J`?-@/E`_#4CVL;K\8RK6 M*S=?OZG*;[8--8<;D`/6V^KZQ#IS$Y#H5T.^6?^UJQ]F3$=?E4S;"-SP4;51 M@3)^'']M+#G^[B7M#,W!BJCRV^)##K3N+V&[:>B%;Z@YO#WVVMC'ZZ^-)<:O MJ3F\H7[K>3'.%A]RL+>1F`)S2(PGQ]4<DN,_>]4.7<_5'E^W[DVM&+%>Q7.) M\<2X7H:).,;3\Y:^K/*VPF^4W"@S1:(YC-$R4#UXXR92(V\[?$L/?563Z54M MU%B&TZ;\C;Q[D/]5YI*>1LW!JH?6O.WDKZO_2_@QSC24X=HEO;3UO'N0ORY- MLQ[>O=2*MTOY)4@CJ6>LM60M@X$HX6>/\M>EL>;0K(>>\-<AS;JE9.MV94B, MU_.VJ1_@,'F:CXU<#3V\#9I(CE/KNHXYM,.'\W'U:W#18^LY(ZR5X5=Q_(\? M\WQ+_#C]6+GBUMSJ8FD.#)1!K:FWQF@.G?!/JU\#I^Y8BSUMQ(^II7AM[#5: M#K!B9EK[^C?0+"C:MSY',X<$R/YQ/#6>H&71>;OW;]L3(&J:2%!MJVVI?_AJ M:V4:VE(W^/8>C^U14UOJI_Q(ZOB$]9_2VY*]?C'G<?IQM_ZE/&Z-4_\UVM+; M>EOJH_Q4-HJ/;0EK*#D.WDU?\?5:TMM2`G/H*WY]6\+^T&]\JVU]&WN;[D&O MJSGWXV/Z2R8^$-O'CU8&^#7Q&0CW[:/61T9B[GMJ/X.%$Z?_<YBQG<'"V2:< MP:(S3989+$QS6(MG'C)GL&X?-F>P=@^;,UCX;36#Q5`\]?-@SEPYU`O9WO^; M*97R8HI71*D8Y14A*Y6W7.WNC74@SN/QM[[_1[B`G]/N_P9](0QSH6#0X]S_ M&P2Y)UG4@:W&Z9DG[8BEIYZ&*B/GI'Q:WI3*BLH>A<--?D,@2V4I6^8+,EE0 MTBZ5?R4GRD26,LHF7Q8(A,4B47("*562D#E)2P5>+&J\,T3.B]F<DM^"^'1V MB^AB$2FC2LNG4%H`X!4`4H1R2B@I,@5,\?D\15$D>CQ1%#8G2$%0<E*:0!K> M+"U!]2ND4D)>X6()"D*36%@HDI1\3D@!GRP6LR0MRDI93%84(:V=D%WLI)O% MRIPDCR](V;!]C4YMD,>195G8$&7,G7/A[>Z3)T-NC]_-!0CQ>L)^+NR!$&V0 MR'Q>VH!\XC0?<4,X'B4I*2U@F26S5I8D&3HPL#?`^RSP$/9ZP[Y@V.>SP"?$ M`DB:T>L#JO<\_[R0$?.";(/GU?$XM]=#\0+P=\**)Z2D8IJL"65,8@/!F1#< M20KA]X<#(0O$?%%41#YOQ7"S[!$0%-5S"G3SO*A8K90K]Q3+1F@KR/`IP5KY M1VT4<0S!,FDA0^9BLZMG6?8)`BUDFKC=!.JZG)?X--0X5"]MF7*NKL%T:@F` M+1338@8$@E^V<Q>\J]2U_2_TGD<'^^_S!XWU/UPPX*?V/\0Y]G\0U,;^%^YM M^Z]UQWO&_G<S`!1L!H!0PP#`A7U<V&NUT&?$BUAJZ)W'4]A=\<!:A)14,"UA ML[T--H\PH3#T/S.#F33:.X`I"$7%!B%@.T8%^S5&&4.@S\V=H`."YT08UX09 M\(O"ICI."62CY;CBLPQ-$/:`B)ZPSSHTQ<IEJ4S*`FH9]<C3<O,P6BEB>@L: M0=<#WLG!#'C6,4H?_B9L/8L)"X,>J]9W;@+'M8Q83,O6T4WK#;124>T43R;- M*`O(K\,LJ=V`=CH$HGTX62FF03,X=*@#8*0>E70<CPG1QF#H022N"2G7]7.U MY0.++OEF3DSET(ID*WR9!P.@#ME)M?L+R"!`5Z_O[6B`L,.KO&8_)O6EU7JU M"TR6`.T%I9FEA0P;]48M31$.99G/`EQRB]J-V;JZ,%PI5TF"?`M).`7Y(IY6 MH)3>.=1*E%VH^1>HR8&JP)(0J2QFQ2*TCH9:!2OPK+6&H&XND`PT<"@PJ`7R M*X(K!'`-!IY,`L.\?O[)>I`2>%!2N1`W&LIY6M[P>JJ0OC"MRX5'A,]+T(<V M125')F0AGYG`2H'ZIOYD2E0(7\Y64%PLLE9MF4HQI38T;.`:&A12PGH@?*,: MC%(<5;5M*@P:GH*9'M,+^.RS#6DIZ@6`$!4JN%FG91Q%H%U`<X*B0L5J$&5! MJ91I>]%K9YI]27/C=*?N;H_7_29;_T]MQ$M:?_[<R\&[7O\=\'K]/C2X05_0 M6?\]$.I&_U:>)3XO*(JPIS:!^@\$NEO_[_-X<83T!CE'_X.@7O7?Z!VTRX/S M=M?_@WX/YPF!W^?C/`$O0[PNEQO^]I+5WLG1?S_TWW9VH!?]!_VM]/\Y)B+L MR-%_;_IOCFO9,SO,_T`XJ-I_;R`8Q#"VA(`S_S,(LDZJRNYY?095;Q$-\ZHV M6@_/SVHA\H+A+=_M4CG4+?6S_[>RS)WZOS?H,_L_WO^#_L\Y\[\#(>NTD9U) MGV@S(<3:S/38@+#L<9Q^$N6<>EFMB#PU%NQHAVMV=E2[(L<+_6G'N-P)ZF?_ M;_7$</O^7_?\K]\;PNN_$.=W^O]`")___?)#=UN*?I'S])HMOO/TVA[QG:?7 MVN,[3Z\UR^\\O>8\O>8\O:;%.D^O[4U^Y^FU]OC.TVM6?.?I->?I->?IM1[) M>7JMVQR<I]><I]?,I]=N/-3YZ35\1U*GI]?^Z2'SZ;6?/=3=TVNSA_?^])KS MYCKGS766UN"\N>Z+&;Y/WESWT6'[-]?A,\.=GOMM]^8ZI'\#*SO\\(/^YCJ' M>J%>[__%BEE\,LZ5[^*%T5VO_\3UOR%\P"3@\?B<]9^#H/[HW^YN<%%,:NVB M._U[0Z&0S^\)<+C^S^]WUG\/A%QNESNR(!6S"V+Q^3N4AZ9B^U]L"P$/J6L+ MG"?D\3)DX0[)4T>Z_LN2I+3CV\P)0GX0`@V6[FS_[_.+Y!WJ.PU`_UV^_]]J M_[U^K_/^CX&0L_['6?]C8#OK?S1\9_U/>WQG_4^S_,[Z'V?]C[/^1XMUUO_L M37YG_4][?&?]CQ7?6?_CK/]QUO_T2,[ZGVYS<-;_..M_G/4_SOH?9_V/L_[G MO@T[ZW^<]3\.M:1[X_Z_K_G^?\"Y_S\(NK/W?].\PKOHBTX%^6Z7U"$[&H#^ M.]S_Q]?]-*[_\OI]?N?^_R`(7_2KO7SG2?)"8G4IMAQ=F$DDX$A]F_<T>6F: M/2.69659D$M24>.<B:[,QQ>1[867IDFK=-9VT81OO#C,9.TLR=VNKP>-[HGQ MWQ]J&O\YCS/^#X(&8/\A<+=+Z5`KN@?&?PX&^Z;QW]G_:S`T\A59*0M\0=DJ M">GM-_=5AR+5:O7@_*PZYLZ!`IEJ]4OJ$;-3'8Z(>#X*U285M-BKU>')"$9: M6L'.Y1'@1:POS58412H"RH&H5%3*4AZ"(VNBL`F_HX93P5R]4OV[*SO5H0Q3 M'<D`#0UMLT/;?\^\P3!JX,H.G!Z)R#*BCBR(LC)TM3HD#E='GO5&+OP((D=7 MA(O*&5'(IYG7KUR'I`\_MOTKYAN(`#]7KE_9^<G.-C,*Q=@G1F3(OOI5(T54 MR.>'JE5VANY/H!V-T-^KU9%)R+9:G;:6<*IQ_QL7:[_Y#6[^$72AS&>@_,.` M]LT,H'WMG)#?$!0QQ1^?A70'F>'+V\P!*&5U6`QC36<RM;_ZAQLWGJH.I8;? MQY.WL`:PBL([ER]'F)W+4,+<W`D?E.^$3R_=R\S.6U@R5JUV6H"?OENM,M5W M_K$Z:N1YD-D>_CY@/@$9OH>YR?+V?S"/OKNSLQWY`7,-``XL/C-?X+,""#PL M3VXGH=9'<#WOY1U(]I^7KU^[#DQ?^[983$N;*T*AE.<58>CJ&]O'AK;CFNJJ MK`@T.0FU%QD:8O[R&[]C0+2#^OMBL0U4?URM[E_BBT+^^O;%O]AY?PB5]2_[ MMIE][S.7K_WD^K7W?_CF,+2DR1]"PC-B7OB63.*;1:'\\_<A=QU)E>)-YDKU MC3>'H#UPD0L@W"%HQ14%.*#=%:&A2F7(_2OSL^;AU>J^"$`CE+[+A@IU^?*5 MG<MWNV\.@GJU__K&)MWDT6G_QV!`>_]SP.<)AG"7.K_'&W+L_R#H"'N$G!6@ M/_&*N8G-HO#,"M'43_3&P2+K8GPE%B9S$@9(*L<7LP*D$&6";8$</]Z8BN"6 M7@I\<;\6%6*IHA"ZK4V&;$F5,DG1H43\GK8!D5BD6+*^BX^Y@PX.4\F\`!"X M8Y/-SCI'DY*2(U()@?C\L:DZ/K(I0J9B,96OI%%FH8#BL(LSYV-PA6G[VMJE MY?C3L>C*6FPY`=>ZP,6Y.'9A9O'LZLQ93*3Y0"R[$(_.+*POQQ+QU>5H+&&/ MAPX1RYY=B,]VP8O/S)"2?L!CL5EZ-:RF:'@COBU$X;NL>5&EC>;Z]CEB,6O9 MYHT]=V9^P0XX9PN<LP"WP85ZB:^<@[I;CB)TDQY-S32KDF7/S_Q)#*6:FU^& MQ.Y%&*;GA`TA+Y6$LF%\9#=?*AFLP*?76`$8V/G%Q,K,PH(M@E8666<ZLS!S M%J4\GB+'97*\0$*!`*NJZ'Q\#J'!@K&4CNMMJ+EELOJIQX]:Y#_F-@^/V:8W MB]U\,BV4!/"/BBD1I.U__^_5_K=3?&,>>]O_(0#^?]#C\QG[/^PEJ[W3%]S^ MWP']-[T&OA?]^P/=Z+\/>X$X^N])_TNS+FV/N\YY=/+_O-Z`Q?_#]W_[O7[' M_QL(T9%_96:6#I_JOH.FGW&TT=&8LO<TIMKZ%\?4;0.I,U#G^!RM<W#JV"Q, M3</LE#$X3MF,H1K,_.)*;/G,C(;1PAW3>,^MZ_Y/8X%S]@7.M2UP3A?A/+B) M+;-'#P\87YIFY^+1V#,KL<6$=D/E*$13CW+^SU`OAG":=NR+0I'L'-;IKOP@ M(^W*=Y:P)>AW9O3HUF[R-'LVMAA;GEF)G9^9QSR_$TM,LQA>G)_5DZC5.6WC M/-/BST?CBX8*CCDW>09(O=K_M)"L9.=G72FYLP\&]C_0[OT?'&?N_Q0*XOM? M_#['_@^&COPQ<2?%HCN%U[&I=*-]F"F59#:;3I*FG:'@RJMINRBGX]YWU&O_ MKQNZ.^31:?^G`,<9[W\*4/\OX,'WOSC]_\X3U6V+D7UTU#U)CO*X\;RQ[[RQ M:(-NO+PH)G%.OD-Z<$_4^<$B7U#3S:>D8H=$Z!^YA9+<D!).QB[B?E11=569 MZC&,CHY"$O`G%)11VRH<DLCU:>C]#-LD(@IDDR(A57#?=)L4,IZQ)+G;BNR1 M>NW_\E:AZSV`]_#^+P\7]$/_]X')<-[_-0CJ6O_:Y8THR*YD%^_\LU+7^W_3 M_9_Q_@\X@L[^SP.AWO4_LU06BRD1'`%ZOLU<;.?Y'Z\^_G,<YZ$+0CEG_!\( MN2?IK$*3,FGLDXW$TNB&=0_JM(3MT@>5?P5O$,I21MGDRP(1Z3T^O,U8JB3S M8HJD);Q)J/'.50J%+=4Q((I$^`U)3!-H;^!E`N:FJ.3(8L+G\I*"?@^(WN5+ M"D3=*U)(4YCD%B322J3Y`P5!R4EI'+H7GU$;.&8@%M-B"O>CE.B$#DE):8'D M>)GD<<H"2T#=`99,DL<7I&RXN::F-LCC>'I9V!!EW`.3`^EPS4?([?&[.6K. MPKY0F`L10AL9,B=PWTPQ@UEC$A#*F,F"TPUPG`[G<W,G*)P'X+A&./"2A$VR M(90Q63L8SNT%J3R><.!DV.>SP"P+Z,^DI\@B`*W5`;EQH]!,6LB0N=CLZEES MV]!34'$I;8Z^<;O@AKHB86W:C!"6?8*DQ33."TUKVWJR1^"_F+E?':G[E/IG M_UO?B^FX_L/KL=A_NO^OQ^O8_X%0"_M?<.Q_E_:_T+7]/]%?^^_MC_WW]VC_ MX1(YFY>24+T;?)D7DZB)O%A\7DBC>JFBH`IQG4=2K6R$$"["T%#$A4-E,DEK MN$QMSQR/-Q)LSJIW#^"2>]JR4773$(P[41_15TZ<DI6T*&E#4</NU(T#4OTX M](*QKB6#C4?)'"6`)564*3)![V"DB?8L6YA\4_YN$457U.#$%&%'1QM*-$4: M"D&.M=S4^FZ-?KW;_^Y7`'9:_^WS!1OLO]_GS/\-AISU?^:-3;.)[V'MGWFW MO'D,-1?6-9DL8E@)?94=&@A<-!?5TY@<*0M'ZG,MJ^MQ79UJPM5E=<VKXF97 M%^<68NO&36PCP0.X7NY!H\]O_TUUM,JCO?_/^3F\"%77_W`AU?_W<3['_@^" MT"+WLPU0$Z^YHX8E*E?0.O,*@9YY#+UN](LT&R$3<,S`K^0K>06B0`@""LD* MBJP.%XT7&T=:76H@,[W22#1?:2RI5QISVI4&LJK>?',!J#M_Q.HW!RS>O)^Z MW_Z@9=[D")E)RE*^`M<0)1['GXSN\59D09/+@N:WO38X::*UNS1HP/+97ACX M&K`:K@L:,+P-5P5<&"X,/"=,C!4QO44J)3J8"N6R5(8K+?3#Q6*V"<QRB8%% MPJKR62XQCI#YHJB(<,VP9I$&?-_^$N2CNC`V/H+^I!+R1*725EG,YA04VC>E MIHE*A1+HLCP%LJ;4`JK-RFC-$$;-D@Q414HJ9L1L!0;W+&UHD$TQS9?3!`90 MZR6J+$LI$5TLA*,71UK/TKL=7(H<4;^KLN92*9JHV&%D`9PF15UK!GB8-4^T M!9A3>(/VN'&@-KXI(I413;]/3\C_M_?D?6TC6>Z_^%-4._1@I[&QS>&T,V2& M#B3-#M</R'3WABP1M@R:V))'LD/8WNQGWW=5J23+V!QQ9CJJF0X@J5Y=KUZ] M>N>.T[Y2/EYO]?6;:RQ!2Z'KDDXSAB/7:MFB""FZ"D:P.:]PYWE8*[CV,]B/ M;-X,VM_J=#SFS!`:DH1(E=SJ917XM"Y,^#DPB4/@^8!`7`&IP`T,9,'S8[:T MHQD5W9<+6D;]%0U+6%%:N$?'*OC_SR[T"_N&'8*;K^?0S=<E;7'<U7;0[\.. M*`(:%"T\H)&U'1_E%0",T`BZ[?@W:3886&.JAXN/``TR7,`47+>H,PO`I&Z_ M>7EZ?GP(W'A%'<#E'9=Q&`PJ/9PKQ,+*=0C_PIS)7/_B7D1#MM\I`XA#Y++. MD1NLJ&TO)+>X&^@3-'M]Y0'&5`,M&A%4AK%?Z@L#3//"`A[BI8,`$16'1VN` M<@3<*,#$MT<]OELX.-J`<8])O-+5`6K[RAM"*Z,0VH@&;ALH($].ZD91QC:W M=XYW_[ZS?0Y,\%C?S=ZD2P8T%@*&A-Y'?(HC@.I;>WOG+]GEHZ*VX#/L4K?G M7$:P7R*L+[/>;I?J9=7!VJ'L]_[`Z_$:(8HMT/VAPN.%J8=9[0GECG>B'*FT M.V4_+BMWB-1EP5PI*JH'MRGGDK8G3[VU27$NKT,/:OJJI$_+HEQ"BKB0.P>O M]W9/?@8X%T'0<P''<$!$.-"7:+&D6RH#>VYJ0L7_W#K:.M@YV9FQYG\Z`\=W M(Q>KIOV>8`P!K+CW/S"#L(YPNVOK38Y&($O1LO+(!*.,<R5#`SAC3E$PH8%? MR0*6J)>ZI%7T(8=?)>DKHV8P&@)M-^0),>'H"(U/H:JU<FP-(E^(>2KVJ1.T M/\3O$)'HS8Z$0JFH$\';B+^*W#9OYNLK6#84CN$QX7YRVR,RFU*$0?H"61&I M9TIFQ;L.<$*&C4@CU\H*4".*EY+US;[^YI"V`"M>`(\K+Q7/Y7@MW(XOD]5N M__CHY!?]>7407<<?69C+G^W;W_4G?7CRYB=94II-LVUHV8FNQ-_RI1._$V%N M=.OG\9U9#ZWO16VW!YO.#4:1LO`KJ^;>[L'?=K:Q4_9T^,$0B/002!>LJQ,? M_C)G*,_T<1%IG?=V?\+&][R+T$$6FOA@P`EF!PA%@.`3).`=F$`2J?OIS>OS MV2N386Y<'>;SU1UJP[")QS'UK=$?)E$C='%_,B++Z18`D]^[=FY@?Q-XX;5Q MEYWK&WW&6:/)70!P@'N@TP6X=21`%O>+^\V67MP*PY8@Q-6@SFDP4'PV]EV4 M7WE1/^;L-#LR&)"H8]F6>R`<RY+>;AW7BZ1+%TB\B8FAHPLZ`^S`DCQ:TI-: MP#L,B\Z$DA.#..K'[,,$-A*FG3@Y8*3H,P#4#7K`#_#"\ZGPT>F-B.7$RF$P M")'OK-HGM-<%S,UBC@&>^\F+AD"G`7SD:E@T.&+\3(?I=/"%S^$)JN+`@,L; M9PJS_#22TKF$V(;&";T$<,@&71.OU_.`&6*)8R3'<Y\5.-!)KX.L$33WT</- M3-?(J(J,NT5>%+=!%\X8/T[*L%V%,8NA&Z3CL0/C?7GI(L\=NA6"#HAM(%AB M.(5S<#@8>IJ3X[,TYBJ8@7!#X.`.CTYW]W?_:PM/#V9'T`'U$"&\(EZ$]U)V MY9>'^_NZ&G9@L224\_SD:.?E[JO=E_*NK"J7JO(+,D,J!CT.$U?3#\(^7,Z6 M`'&6](L(&CLX/-[?VK,;2S1?A@?C@RE/:VV)2%6B(29VD]NI;&OK@]LA"QF+ M81>>("%$\G,+\,%E]D"@6:F=U?"-TVX7GOQF/(@[A`(8HB*Z\OC:#.PWG#81 M\0)`T?3IIRE%%I%X(K3F?.OD_,W)#@IK,4*55E`]P6MB2..^PGL8'1E!HM;K MX\,W1U"-`E?I6J_#8#3@:I?A0*JIN-[1SO'^[HGV1(I;V^WBCE^V^MF^Z@>= MI<AF9VA7>I'>`CA:O+K"YAD0\RRW22*PHLN-'_F=^#'P:?$;@`;LWX"YE]X- M;+SC'60\R6GM_.3T>/?H'!:-YOZ3JHP`BW[;VS[',R?Y<DM5X"0>>UYX<GIX MN)=^!D?F\=;Q;^/P3V@^D)BV\`\:7<2G[B62X>BF?Q'T`.&8XJ+".-$@#C3= MH";=,%MPS1O>X,$SY*NMW'BAA4!D#%Y(-^_.#=PYX)1$41JURU=BI,LL/0CH MUKY8RIB-,M+JQ[L?BU*'K_0X!N1[.G1"7;AP;'BP]L1760?;?OI0.[T9`/O= MDVMQ6-&W>H:*M\X+%Y#(U6("QAA;<*!*P#C#)1.FRE\:,MXP%)P1_S+B,T1_ MC3?$P6`9#TKHV0TU`1,;'\+Q-1I`&0*_=;1;7A9N`ZO(J/'\N*0S\6.`.G#N M;-Q)@JB;!GAR`0Y'/IY3)R.`QI",:,.Z!=-600!+K=828!C<#3XIN(!?\<7& M1X#`?L(8>RAZZ*%@+<$;0#-(A*!+?>F.B"CQ+!M6J_`Y;*B]PZWML2`0^.)H MZ_3GE+G^!#DQ?0T'499*#5XQT\[$E\&BLD?JE$6H;#\0-1+N^*UMHH+L$X[, MI].I#JD"_X$C[KM1A%?HQ&6NJSRZ/\,D^+2'`L4U;+EH++8MZ-V(Q)&Y:;UN M<JRT6H6%Q9+N4YD'@W^4U?O!=>=]U@AP-?!.$+HLXX;FMLC6)6610,PX7![Q MYF#?=B/A3@H%2Q78NE79MP`,;J"*F<86,)%G1>@FWSW+9\7BV7/U8O&OA8*E M=6RI^(LL:+%=`T)[CSS8^QB2^MJJC;S,4!Y#]R-<_L0VINC_&K75=<O^`Y4B M&_7:1J[_FT=Y+/V?,<ZPSTHZ?3W#"0(!PS-'J^Q16\:J#"9]^MP1@<Z<]7_Z MJCJF_EO+5+*MW4G)MOJ82C9;8U>C#M4;+32A,AURX0#I)'1LTY5TZU]?2:=5 M2+F.[NOHZ+Z$SNP)+!9/OYNI90$.XV79W`%(Z,2?D-S%Z44!Z\J>P(S`5Y[H MV)`;\]T(_YHT(0`/;R5D8U;9789+//SWAFZ:"*ZR)PWIMH/8GLW(N>03P]U; M_?[]Y<O/U"]6;TC=RB&^K!PVX(X0N5EL6=78EIU+P`SF:($'WSUXN?=F>^=< MV.W*[N+O]J>?QY^@&Z:8H)WO[9Z<0JWWQ*?%C)OZ7X5=7HI6U,KRRN72^UN% M)R741HJBED9R"9-V2-JJ,MN=Q0*4RL`;P(BWD?.ENS@PO3NO#X]_@\FQA_(Y MJT7`TK&V#B_^\9(58[JMO6UI;$&,S,P#916Z,9*NRM*6.9J=/]K:VSD]S:PY MH>)`!P"$U665SHU<^*Y(WQ(95;.N%E_:R*8]NHI5B,%H&'D=1F$XP7JL\$7$ M&@HXU3&2Y$OO([#_J/1\\]/>[LOSGW?PAD$B\Q+W0,N9$1SL9Q*:TH[8ANO] MX>'I,BN(4=_NW^#>$"DZRW/%XEX/@S71`DIP`,CB:`CG)`:)[?5NY+HH-R!1 M;!)QA%M^Z"3OZK1;JH7QSF^JY$-8!OW@Z'CGY>'^$0KU9WII\*^0)"[7)-FV M;=#1W@CI*=_A99O'.A"Z[_N]&ZV%1W!$H3`*K,A`M<X.",T`*K_*>.5%#*43 M^*[ZZ#D(`T'15\M:R,D"KE@N*29.?-TSX@<M/.CBN?`D)81`K81(V,6.PE;! M$(,%>)$8/N$HU9;]=*CEU4DX/>\BU@F1%,ZY1)O=H2KQ8+F[9E>B.NDN,$30 MFX1B*;;N`BLUA1I:K.?:)#'W/DI?]$KI):?97BQIC3?ILW_;.2D*#/W<ZA2# MD?[?'5!ZC`S.#('&.2NL]`AW15-IT3K&,M29//W@!]=/"8-<8+>#2/2*1BI" M=,0/4,HH6(-?T,9V9*":Z"&\T/WGR",,Y0-5Q$?H+4.Z(I^$+SX+7(:LP-%J M%8_.3FMG"F44Y9I22=L1@(3&#@[LN>ZHAY)0@-1WAUX?-:YN&T4\X4U56QW' M,V)3@ZO@6@O]\-PF,9<F`1:BV5JG95';$C>X3`0V83>R+,P%26_"CFV%9(GJ MJ`V2@(OEB:762NN6#>:2$<_VSM'.P3:==4_(V&6HGK(4\2FW2H0H5G*O")\C M8'8/=D]WM_;.3[>.7^^($%LZD5#A:X-\/C60)UR)149V\+5L4F$TO>1QU0\^ M,ISW9*O41NN1)25@7F\=_\3&\B@@M@X8??PP%%X;(R^]L6UL5-!NCT)C)]8) MG>OJH%R08T'OA%,AIAGP['/+3!2K.JSYQB$"[0Z'(R2JJ&:)C^12$(M95\K2 M1GSR"BXOEF+=<!G'*YQ.-PSZZ6M$08YJZ?V)R\K<6%H+,(D"H.B2%*".SY\$ MA&VQ1!WZ"+-#:A$`1+-/^SS!'!O>N,-7H"5KJ:K`.^YL'9SC?-C&%WRXHBZW MC[,87$3M$>UH"Y%HCR/OZ(PBUZAC87*2_`-S%P%NVUBT;FFFH5+02Q$!N@5X MEC1<[@$("SA&GO;BR6@@5V2%06BBHF4M%E_93HF;CV`].VC+9MGA(;30C8C- MQV6:W&[<:.(8=2X`_9G,N3?$WPES9B@=48)J/[JTV[4O:?`*[?-(0,^F<?W" M_LEK:^]5@;F*)E;W+A-5MW=>G=AU\3U7+?F!#:H\'=;^;MP-C0U.3`A^=GL# MLTV,TKX$7QA<L.W7G$@5F1HAK&-MSV6OF;'P,R<',49Z4I$LA(Q%=(14(VB8 M4")V`VT'`\\^8L@R@^T?`15V60=UE>XY]C?"Q`@10O-=7FJ]]G(3MT#QB0?G M9'M`!A#8,I^G4E5C#%];H6<I116S+E4A2#_O[!TAEZS)V3:IKQR]^5@M1+,[ M\N'7*$D3NIB:2R'SR0U;M]=8S82R"-SVWRGC?D7'N&9#/3_SIOJUA9-Y^>+E M_K+?V2,`3_/_K-5M_W]TL8#?<O^?N93,X+,945JS`]).C#F;C";+^)093#9& MJ^Q`LAG182>Z&SXO9$4SCH/[6JK-9=NC4N+U6G&/QUPY)\<P?MRPQ58HXO%` M,[;/J#T`'7`XP<&E>B8&K/%CM$'1G^5Y%;_9<G_Z/WL$P-GB_S'];Z!C'?RS MWLSCO\VC9*Y_.@KZ`]N8%O^UN:KCOZXVUNOKE!&JF>?_G4N1^#_I%<\,__/E MH_]L2:P>#"'FNQUSF^KH./O\!.Y!:+Z%]RZQY-*R,`2"UE,`$N4";6U2X/FV M4TU4);&`MA:3`##8MP@^(2#F^IH,(B1FC"+^Q&N51V:;%"\&?V?Y8(=,[BEV M4!PH#>Z.'[SA"O^@^#1VK+3D"K387Z?P.P:(J0#K`J=UF<?*Q+E5@F%&0PF6 M4^8.'3G#*QU.;<;UGV7_/S3+RI3]O[;1;.K]O[I1:^+^WUBKY_M_'B5[_V>' M_\KW_SWVOQT[;"R=RGCHL+54L('55JW16JU90;JVW:@=>F)?3V*FC%A?JUDQ M"VIVK"\,\66FYQ^P"V@TVX>J#?>5H0%J$;!B^I`HQJ]N2X=23`>+Q'\J9+][ M]4*MK%##^.R<UW4_Z*#(JU0NC$?P2MDFKSQ5$5M?M77$N#1F\(NVX5YQ2$15 M(P395A1@[BFW7!)+-(=^+,<6:8[YK2Q1PKQN*?%TP0X9YH;ALBJ^\;5MOIGG M[Z,X/GD<-LS`J;S07YZC0_&RLM]@)7JLY`;G]LAXH23=G=H)NU6N4GEAPZ-_ M)#A9B:>E7'M^CP,(5D6V5B<5[(,%[?*[%@UG10O@;D?Z4[;AQK!\3@_0LW,# M1`%=:CDH&ZYV/^BPYRW%X$`WP"#HQ9'^2"),F,VNFFBL1])8'_TT/Y(2/AA= M:H>424U5&7MPH@1]<-NS:G)3U9XC-ONC_H7+#@_TW()H06)*A7-W,>IVW?#M M_M:O:"RSMW/PCL"001&Y9":"BO!%?V=/X601U=I4?XW<'@FS2T+)9$'-Z)]J M^0C1:L(#[@7]SH]Q(.U@Y&.D/?P;%C%T!R$Z<A2K*T7ERW"RIY8Q`[L+$X35 M84^7&!Y.C'HNO_]9H,C?/_R`6!MIK.6I^(%>`>Y"JV6:"VB@XW9A\>)61[[W MSY$+#7)OTR"H%0#Q?534UG:(FQ2`3V]?[LD+Z%T9&Y%#!5!-+[RLU$(&;5*E M@U]/*'$V;I)EV2^EI^52BG24RP*W',\K4UC"08W?&A5E]N3QIGK[UHS8Z?6" M]CN%!K6O@M!XG[9XQ.^>FW%])[7+ZO<D1>!(AF]\[:SEL9VG%YD#3:@#@\0N MZV"%!X<,_S,/PL(>[*39T+;`RNZ1_?W4;MGT8H8.+9AFWMK-A)Q8/#H-6GJK MO$-D2WPD/C'Q%[)(A!H__#!.%^W*W^G,7F7>^.S@0;V'[6K%$V42BK,M,DD, M_8CS%HT&9%OE#77#;^E5./)?`:'<&@S^%K_*#!OY8/[O5O[_*(@>X?H_/?[O MFMS_FQNKM?4ZW?\Q_T/._W_YDN+_9<6SV/\OS_W3MX97$C8>K9LD=*]V[B<. M'!W]VAD!,P@21F(QM5"3;$[?X"/P11YPS3Z9$9OFJMRZMAL?!GR*Z>9T=OAT M=`ZY#_R`M#P.,(R/MM#8RFF;+E%?JRF1P"VQT_EI*;$P90Q7*S3K$`;"U&B? MVFV5@"LH:TZ`++E:CL]0B"6;92Q.,E:R^"Z3VR`0+^SZC.T_8HN5+SMB/SY\ M']R'1V[U<2C\[64&^O_@)+M3Z/]&?6-5YW^IKZ^O$?UOY/1_+B6G_U^1_A=3 MTYXI*1$A2>Q+ARV0M3M0$3NLDW"<'CK.C<M;N/W)L+2`*P820XDCJFMT"?RN M2P$MR'<\7CQ>D(@,F"(3R<?!Z,^J[U"H'-<)JVIW:"R0R5J*6?_4G!M:.Q83 M*P@-_8S$*4HBL\OT,Q;$`'CTU&P0?K"]#GG5(K%UAMN?ZY,@`+_P@^LJ+I@: MDT-EG\YXM]/H"_V09"<FZ%\2>;/.PHDH*\-(H"R=$5H,T8'.[B8@EO`A+^<R M20S.V_W.LH(%4]13;3RN44G:3G4+,'A$=IR](/@@$110-J*Z(Y^0.Y:(C`N? M#H*LE9.&OB=:H*52Q>7"`G0234-*U%-57H;;K[Y%T862HNR],S=IN1#Y7N^Y M)<_;W3^BB4Z?U-BM<`2PZ#8O<)_:\V,X"9J>+17UT.\073M&%Q16R`R9<25R M,6HAV0^&A#*XM&+ZJ;,$9DZJ]@TT,DM"#.0)QB?KKCB1)$(1BO=PUBS!%4Z0 M_CR),7@EE8EA,*^"L*5GY9TM/;IRVA].@V.R__[%"4G6OBG(QD(P;:>/42F` MR5FMKJK19=4"08,_#&%Q'"U'R(!:>>%%SG,1N,7+Q]T[IUE^JG?PYAC,R@MY M)Q@#ZX91OLR>)U$$";XP+P,L.JR#^\FLI_X,UX%W2W*ZQ!P:9G:!Q5U:U*7^ MK.OJ'IRS^`O>_?"#XG:SQZ2'`Z#^E(:!PWW;AH58T.O(+\96D1^;>M!MF$*N M!8/<31X;3HSXZ$KBJX-?WY!P[608BD!O04M84H!)>KRY&0/XTY\*"PL+F;WZ M;G,2UI6ACNSEK)K/L<^3SP+LWF=>/<0;%:`XTG<_#6]9K1ACTE.,%1.2+M0P ML)$T'E5H2TN6N"*GTR0H17J)'GWEF]KO=@<G$$2WUUVVR%[Z"7J\R!E6OLN0 MOM`@6#8VJ0?)^81#X9VH+K[Z[?%+K,17N9`^?#7F<:/-RUU*]OT_\?!C.WI8 M&]/LO^#F']M_HZZ[OM'<R.__<RFK#557SQ3^NP;_J]'_ZO5GA41,%B]R"Q>" M#^WHRGH,K'MA`HP?!<:VV\Z&8K^8#*=1$SAO_`EP[!<(YVO/Z;]3R=S_LZ?V MFJE,U?_4M/U7H[FQCN%M@!#D^W\N)<__%?NB2)_OE_PK]JTWED_],8.OE)RU M?V8R#BIUBPE5(I-81D-78_:[:8&NU=!MIEJ%@G8+`3K0'PPYP**RHRT"3QI^ M]-HN__6`9&3*(N'V/"@UQGZH8]<!SK(:#KOWS6`FI&U2"K-O-E'9K?1_>FJO MF<J4^'_KM8U8_]]<0_U/LY'K?^93)L;_RTKM-9X0.+O\^T8!G)P%;,.RJ%U7 MJE%KK=43(?SV*1:&+5EK<R`W&+,9%)/C=$2^S`QC-2NBWW1CW>E9QC:2,0(G M9AF+9DDS]JQ5:R:[)U$0[Y1F;-5*>[:3C'HH(1?P!!]R;,0\5]BW$H<PSQ66 MYPK+<X7EN<+R7&%YKK`\5UB>*RS/%9;G"LMSA>6YPO)<87FNL#Q76)XK+,\5 M]OBYP@@/^BA91'-LO,;&[!)"PWEFY^K"3[L'P-5L_M_*&]_[M'+A^91YB^4/ M@,T<D;*`O^-Q"J1ZX:]D02D/Y&(`N*M=]$6CI)[#:JBSPL)"&YBR1?V]J)V> MQTV@&65'5:OP$[ZFP.O/L0_M8'"CM4J*@R30I&)\6M@8E&2`XI,BB44[*&R8 MU"_B"8M=!8;GK?H.2#-L!QYI6;V#EBCDYQF;0G(JK+^+1$?Q9V;V:%L%.(DV MSTFZ3IR_(G>;X'P"YJS.?[L]W7(W;GG%-G-(]Z+GJTID:]&L'ILF:-SC"K5' M>=_U>-Y=/\+HP`XB$&)ZA,[ID7=A^?A?=B[(_Y6V!5HQ&VFVF:2"?`.+4+D, MW8%*1B'#-!E'/U4U(.H`S=CBXE]00YN]2/J/8KP6]XYX5A18+UYD]45/QD6H M0S#KL5\E+]YXS-WT<8?QL/'V@YL$UJ_25L6PCQB`P=6>HD,([@7\_+DL]WN: MFLI'Q;N"<X=8??E?Y5Q_4$LK\7A7U.\2GJ3(7Q=ARAJJ2/#5YZ7W"@D\VEY' M+;-)(^T<;E:.N@D??FV%55X>M4S1_4U+[393F:+_K:_5;/N_!MG_-==S_>\\ MR@SZW]CNYH^N_;U+#KAG">7O#!K0S!QP_YH:T#P16YZ([5M(Q/9(B=#R]&9Y M>K,\O5F>WBQ/;Y:G-\O3FTU/;U9XI`1G)+/(LYSE6<[R+&=YEK,\RUF>Y>Q^ M6<Z^:9%VINSO-A>Q>[0QS?^S@8X)'/\?,W\HU:@WZGG^K[D4">AUJU,@?G"K MP'<.>0&@]G#D#=%BR\B(4R&VXB0!.HR9Q%NS0_#?-M",</SU3,^<YH/BZ*>B M?JI"5MS/R?TLWS?J?:&2#"S\"]R&T`T@%<G=P6<4.&3;FE"*]D'W)S)?-S>" M:A9DJHWF"LQR<,83-:);FK9^%T>!"CSF`&/<97H]K^"7>;DS_;]/,-`I]+_1 MJ-5B^K]1(_I?:^3T?QYE.OW/S@7S!Z3_6>E8LNG_LX?E49DU60I*'H;NRL&O M+P/?9_\0#,(Y%I83`^Y!@[!U/]U0/,Y)X2KO>*C$$VI%VWSH0>+$<5'U*DE4 M2,P8@B<$G1E%/LB*YNK10]N\`:.1%<W0GASU%-JG*(:)IZ%[Z:$;VW$0#%OF M'*,.4Q??63DAOB,(Y=L3%&B`^@R+C\6SXO?16?',W\6+&HM4]'@#0&^8-1P@ M'X3&]^TO9SXF.<!$,`>I]"Z%A;?4H9D2`CS^(<Q3K.Q5[=]0'S<E_I=OS5\R M,E@VAG#U/!C8OTS)//]G3^T\4YEV_ZMOU*SX/TARU]=6\_-_+B4K8[*5!SDK MJLWR>!ZS=%R;Y5O/V:G)E+6_WN.E5UZV[627QPU:EZT0,QFIF+-B[HQ-PU5Z M&JYNG8;;LS:;],QV()[E1"2>Y60H'L[C/#%/=U92[UER=\>>E9GYNV429T[> M_;7Q/2_)DDG_X[WP*&U,H?_-C;6&OO\U&T+_&[G\;R[E]S-8Y=J9XT?>[V?= MP!\.+WIG\*`;77O`"?Z,"@-4<CT_Z];/NOT`T`2N$U>];O3\<^%LX`S<\/K' M9VLU^?T*?H7?^TYXV</(C?1;2+\-G+!S-ORTWJC!O_7:!OW8J.$/O._CCPUZ MN-J@AX`+^&.M00_7GM'#=7B)W;LX\VIGHYX?^"YT=>W96;==.VMW:V)&JCWY M_UZKUL\*A;,+'%!C+?L^NHQN,/3XKQ?>91=N"56X=&`UZ?*/W-<?N9//GE'O M8*!6MYKTR09WN;E!GSS;H$]^Q#'J[IU)+$OMI4+6#;'Z4L*9H(H47\1!3.#6 MP0K-V.V467515N(-B?1;K)7"3]UNETR^4(4#S+@O+MLX;.,XATI65L6&;H7= ML(=6E@348[IXV71"#RX'R-UKV\VLU!OLW4%J*2LBO</N7<8+3;()L"=:'#N0 M+R:.OH3:&5_YEB(9.J1G+BMDTX'UQ76L#^<^ZHWA14_G\8M[1-.#)F$NFBYP MH@FH%D2NY7HVM'IJ$DB<%<X*IP&9U=F$DSM]HT0MF'IGK6Y26T@:+CB(.;\A M+34:1H<\(+).(XDN&V5X>@:T78:QH[6"[;.R6.ED&+06V$PBU@CY2;&)2NP[ M%*\=Z<QB[R[+2H`\U&2,[00>"R="B,DZ-]O'"M]4,>X\&Y98P]41P"FE!&!I M!>U@:,[ILFV63)3OQE6L>"KP5])Q:HLTRW@/C7MI:?0ST=,;&OVK&%TGE/M& MT4H&R[`]40^9Z2)D+7:5;8AI/+@"EDVKW2EA3)/VEK)EE)55)HWH1@DO0?$M M77!L!$7I#CRR&Q0*4%6'B/'8(2(7:)M/YIR4/_4FN;NG3;H==[?(1,1,O$SY MA=/^0)[W9`.MXX\#6TX*]JKZC;:`I53N.SY+(MCLQNJ-MEY(S[P]Y[@_;31# M8C$V+=I/3Q-%0SOM(.A""-H)KP1F](W\!WH\\DW`&!*:$!YGT2Z[5^(O1TM^ MA;IV/\J@R+PB3,Z<.)C*K01&W"KH4#'92X+.Y4TB+XT]&6S"AMJGMCL8DI6` M>FO==Q`'WU$L5G,V<78%"PC':D6+3!LR\E7#T8#6)-X*MR\@8BI;-@F=I-/* MR`(]$Q46YT>R=Q/$Y`*958RM&N(!B[),7L'P>C?:FDHL]H#".Y3/M3_J#;U! MRHG%2Z0`3Z7U-7$ED&S0<#C]J]O1UA2XIZW<N=)1$1:G>Y?,E+QD:_2J8J0O M\<7\,?M#C=[Z+*!DHY';B5W#T;R1EN?01VN>OB?'.'><I/CJ@^L.R`X8]@T& M2_'$/B?M4@[5R",$N15G*#%%$`=@_T<8>2-&_SC?D\ZYRXLM`3FLN$S:\--0 MN2%O7MJM-.N4<L>)]-IQWZX=G=_8LL32"""':-]U>"UC,Y.,<]UH5C5\D[W; M4JV2_0I9S@6$<T-#871^:K(QCT.,:4<1L3K-ZJ4U1)UY>@LM=9`WH/32O!G] M&W79"RZ`I,;AY8CAXTZ6AD!1X+^RZ=%%"`OBBN_&$Z\+Y*NK]@ZWMDE@\!+N M[Z\/CW]++!=O!01X96QH);2`IN>)[>'')"LQ[88"DBN0.3@Z!D&3J$&A>82> MQ<:4.(DI?]JD`5;H)C9"YO66W&\U4Q,G?B-K?[3)!>(-6(O=-%:%T`P'LNM5 MU<LK%UXCL<:6B^R_6R0+IFP3(XUFM*8`$A[U8?^2N7TOZ9",?DL8UB$R'+\< M%8XXT,2DP'+Z)<9&(L!8:?-BI^<BG#E#(/Z<R2A&<D##F7V@Y3.;6@-"0A=H M[NQ5XZ"&8<B?,.LE#6<G&;MP62T":$X<-L?TB=@XS4E,T!$YKPQ=0"=M,:&G MCE^YB3L43KO%;LHG%%`%O59V?V)F!8]NF+W,>Q&=8[BK'0G^A^<8]?,5!DOI MHCL8!>-P/#3GOA0/OHA,NR7*A!]HUKRJ?G(Y-5AOU/Y`8%AQ"K^2"")U!_W\ MA25FF1O$NA<\1AOU6FU]?7UR_L]FO6'I_]%/<GVCV<SE/_,H3[Y3>,E;P2M@ MI4L>G'KUHZN$R^^]_'"GZ_=C/UQ;0C_9`]=6Q-=K#PB1O)H9(OG9_4(D9X8W MQK3F=W/NS30]J*_4?X3^K;;J&XFHR[L2H<%V."X4T"'ND)@P>+:Y6(<G0-6` M_2ZI1?-<E1_!C9A7&2]\(@SRR4Z>EP!>MI'R69EB6AP>PW4^P.)?^PJ.VAXY M@,=<U=A%'<_Z935$TDJR$"",-$(B6QQ?\0@@;"XVTH^WO7!S,?59ZRK^"HWI M\<HV_I'5PD'\@?Z^%>(PZ)R;<`LK8/B:9$]BB/(Y]BZ+]!9TBD**0"-@XCIH MF9`%JEI=27]:0.UZ`3@/@G6MTL-4979L6DA77+$U3O)'<JC%,5@>Q[?$J+/$ M"72"!%_=)H[)HZ"J?RFJHN&@\'?@5SQ_Y.*O>!7J%16,T:`L2N+@4@#C)G1J M`!8M+'#\'?X<-E,1'V$HG9*JF2_K]I?<!E_V;^"@QQJ$B=&U?%ZS/X?>T9T& M#O#DXF.]3A^8F]3SP@(&"[S&.?>ZO`>-*I"1(D9':Z9GB3K#$2!I_KIQ^!RG M![T'ND$W!)N9YA7'&$+C'5A)=OJQ,4#WB<-"6NM9Q/1PB!ONO\#:3@*<6$`# M&CI.Y)H%7C3]J4E,"$A3VSY)$O'3C%4I<N@J7W*!HGR@*\"C)"IAFYN9Z_J[ MH5:?+;L]K'M,(CE<HHFUJQ.J<W0UBB>D1:JVU%\S[ZDQ)I-Q$V^!$"JN6CHK M+-;5_ZF5_TZ9IZTLZ`A%\![016%X(EB7/1$#&X._<E%])B#?W0ZEAI\MJ3^G MU^K%HCV5LLQCJ/Q"+29GC5?A1*2@FV-4>26AA]=_%19UC:),]@HZ%YT&1?5^ M<-UYOY+LS/C7U$#VQP6-X(]ZBNMI)J$M+RL.5!_EB71MCWJ8.\.,HUP_9,II M?Z*/<6=H'>*)#PS<`_W2/KXG[`O3'.P(JT8FO_$>IB*-)N^_]HZ!'TW^\>S. M^\2>/MPGR?$6"AR6[+9I>FR<Y#S08PSEOQ46WA75QJ:9)E\>IHF2F6\^NNYW M_\N\_R?._X??,=5:K=EL3L[_"?<ER?_4;#2:E/^SOEK_#[7^\*:GEV_\_C]] M_:LH7Z<O3KW^O2+!U6NUC=OROZJZSO_5K&]L;&!RI68CC_\VE^*M/MLX#R[^ MD1OF?9ME^OY_>#+8J?;?Z^MQ_$=,KE9O;JSG^?_F4O+\KV3+S!A_A\RO^]JH M6?9*/SL3:N&^^4HI7LB$9*42$ZC2PW4ZCPJ),$R+)?P%H\?$\93TLV\VRVE> M)I7I]/_ASD!3Z#\@]89%_XG_`X8QI__S*!DN&EF>(A/=2F9Q(3D%6I9V'F$4 MRW8;R?!)FNC_(^XR^[&SCB;("<\A(80EIIBI5Y2NB\?^F9Q6=GX]W3G0B4W^ MV%XKT_>_GL_[MS'-_[^YL6;T_^L;3>3_FKG_WWR*^/\;+@;_F)]?OX3,UH:> M.L<IY^[@U%UH`X4Y?8`W=-D&&&.R*O83'`V'`5K&<L"LCLM6YQSLBK-KB(Z) M+9/C2';<@O2"S0_T%&1$`5@=-SY8;]7K5A0`^)B,*Y437HY0U,JV;FAQS?[_ MMQD+U%KKSUKH`V7`G6J;@+&Z::L`Z,IJ:_U'JZXV"_B[-@L`&(GP,^P)OL(_ M,*!``87!N"HEE)#B$-K+XNX-OW]\^TZ5Q17<]@0?>L,>:D/HD_J[YVKEJ>)G MF'?3\=T>NI"G:VFK7:G7X'JG:%%,:9^"SLVM]8,/7+6M7JA5]1>&LOI.M=3! MF[T]`L91RC'0O(D>?<&(D@'/Z0'.^!BASX!=TV#7$F#[7@<M0">#8N-.`V9= M@UE/@.FY7>E<$I)M<_T4P[!MCMMA\_"TU2@9*-KS=,1_\+--=?#K:W>XU7/# M(;TH\>HL:\/I915\@"N2'O^R&*>6Q9O_+?8!XS1\A)<G;J_;@K.9>T!VB=P* M?9"T7$5<0P"LYRTQH'#D[P<=I_<J"%M4$W!*CG:2ZA_\>KZUMW-\NKWS:NO- MWFE+<7*<DMKY=??T_.3-2SCV3Z!OV'QJ4?7NURMB@]O:.]TY/MC".ZL%[M76 M[MZ;XYVG=0&87-G;X!''T*)3*P->0^#1$L\`;>?X^'`RM%6!AM%AU0>T-X%] MX9(9D0#[S!.=47=-Z@)10J-&-^S$-9,6A=//?TQ%\[`S!N7_M]C_Q?)_X/]7 MUTG^WVRLY?+_>93,];>]S.>N_\$3;J.VWLS7?QYE^OK/6_^#\1]K&^NY__=< M2J[_^;;+]/T_9_U/`\__YGJSGN__>91<_T/B2,;X.^A_XB!)LEDF*H!R_4^N M__G7+=/I_QST/W6;_M=)_U/+Z?]<2H;^YQ[JEUN4+%88-7EBQ9?3M'-*[++[ M*ID8?+:2*4O+];47XRN4Z?M?K]']VYBF_UE=;9K]WUQ;8_XOU__.I8C^QS`Q M^,<\XSI'20U0*J['>"05"D8#?"6:2W<X;*]O90@QZA<=IH"MP0'\1X_CY$A$ MFW;@=Q+J'ST#,ZA_ZJW59ZVU54OGPNY!09=C,`MCW)E5];.^=E_5SUJKWKB# MZ@<3@*>#5A8Q>C1,^P!C'HP&,@_LF=82?_WJU*#48R&H[Z52HE`7H008CO5* M*U8`Z4Y"UR`X0;;S:6`<98/\&6QETPIC!`:;L$*&Q+G..-R&Q)8^HN5\RJN: MCBO=YE]/`XIL'/?=CB<M-?%0U,#*-5)])"),NV&8B#`MH/%7>^@2[?S[B"-, M6Q,AP5XDE+2R)A*.UH4)N@I1(I`.H4>90DOJ;2D52^=IF<>0P(MX;M^I[^A` MG3(FBJ(B$X[=IUY:*R2=R>II/>YI6MUAZX56)&6T#KIR^+?J%P^>\`<HT\__ M.>M_V/^#Y+^Y_/_+E^P`.0E_Q@>W<0_]3V,]]_^92YEA_1^L`+J3_@?7OU&O MK>7V_W,IN?[GVRXS[/\'*X"FZW^:EORO0?:?&WG\I[F47/]#DD(=L^$>#D!Z ML^0>0+D&Z-^OS$#_'ZP`FJK_::Q9]!]CL=7JS=S_>R[E<?0_EON-(8?W];]Y M="V0]"A7`V65&?:_6='[MC%-_U/;L/F_-=K_N?_W?(KH?V(FQE8`S=\#B`(C M]>*L$>SQ(_Y`U;LY_234.V:`&?J=#*7,C\DDSW=4RC3J7\$?QQNZ_3'5R5.3 MZE$G<1@&`U1S"'>=X<:"9-V&(RXZ.B:=A.D>.#3[\(<&;)Q0HJ%[$3AA!SU1 MS.^;ZJWUAIQ9&/$HTTK2L>AFX$;8?5'O#16TC'1\&,(O)64Z:%Q5,OUDXJPH MZ"AC)RBAK!#:385;J[TCAQD=B.F(NGD*KYZ+>HS"%R8F(1Z.],(:;<=M]P#W M$4#4HA:4/^JWZBJXAJM6R_=ZT,>Q6M0&UFEE=D5UG*'3,J/'6;D<7K7@AZUQ M.OCUR`UAQ'V))P<X)(BQK*RVRD9ODZ4>,E.;J6S)]2I_G#++^?]0!=!=]#]K M-?+_K:UMY/+_>91)"1(>P>W'E)G7O]ELU!L8_V>ML9ZO?U[RDI>\Y"4O><E+ M7O*2E[SD)2]YR4M>\I*7O.0E+WG)2U[RDI>\Y"4O><E+7O*2E[S<6OX?1I4M %20`(`@#D ` end
From: mmalcolm crawford <Malcolm_Crawford@plsys.co.uk> Newsgroups: comp.sys.next.programmer Subject: Re: Seek work on when OS 4.2 will be released. New features Date: 20 Apr 1997 18:04:24 GMT Organization: P&L Systems Message-ID: <5jdlr8$ivb$1@ironhorse.plsys.co.uk> References: <5jchf3$24q@slip.net> In-Reply-To: <5jchf3$24q@slip.net> On 04/20/97, Emmett McLean wrote: >What new features (especially for Mach) is it expected >to have? > I'd expect it to be a lot more robust, and a lot faster than 4.1. The developer version should support options for deployment on W95. Documentation etc. is likely to have suitably altered copyright notices. ;-) >I'm wondering because I getting tired of waiting for >it to come out. > I'm sure it'll be worth the wait. Particularly if prices come down. Best wishes, mmalc. -- Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk Tel: +44 (0)1494 432422 P & L Systems Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm
From: cjs@occs.cs.oberlin.edu (Miles Standish) Newsgroups: comp.sys.next.programmer Subject: Apple Dev Conference -- when where howe much Date: 20 Apr 1997 19:32:13 GMT Organization: Oberlin College Message-ID: <5jdqvt$9gu@news.cc.oberlin.edu> I'd like to attend the upcoming Apple Developer's conference, when is it where is it how much is it discounts for stduents? Thanks in advance!
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Apple Dev Conference -- when where howe much Date: 20 Apr 1997 22:04:21 GMT Organization: Digital Fix Development Message-ID: <5je3t5$sv8$1@news.digifix.com> References: <5jdqvt$9gu@news.cc.oberlin.edu> In-Reply-To: <5jdqvt$9gu@news.cc.oberlin.edu> On 04/20/97, Miles Standish wrote: > >I'd like to attend the upcoming Apple Developer's conference, when is it > >where is it > San Jose, CA >how much is it $995 > >discounts for stduents? > Nope. check out devworld.apple.com for more information -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: akki@sic.co.jp (KAWAMATSU Akira) Newsgroups: comp.sys.next.programmer Subject: [Q]fetch problem in EOF1.1 Date: 19 Apr 1997 09:23:19 GMT Organization: Software Industrial Co., Ltd. Tokyo Japan. Distribution: world Message-ID: <5ja2u7$t5v$1@inetserv.sic.co.jp> Hi all. I have a problem about using EOController's Fetch in EOF1.1. When I tried to fetch, fetch progress SOMETIMES failed with error messages. Not ALWAYS. The message like this... "DBPROCESS is dead or not enabled" my writing code that's all. [eocontroller fetch:self]; Does anyone knows why my fetch progress failed. Please e-mail to me!! thanks.
From: pwoqiue@as;dlfj.com Newsgroups: comp.sys.next.programmer Subject: -Teen Masterbation * teen69.jpg Date: 20 Apr 1997 22:15:06 GMT Organization: Earthlink Network, Inc. Message-ID: <5je4ha$iu5@argentina.earthlink.net> Check out this site, it has tons of young teens fucking and sucking cock !!! http://www.sexy-girls.com
From: rbraver@ohww.norman.ok.us (Robert Braver) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5je4ha$iu5@argentina.earthlink.net> Date: 21 Apr 1997 02:09:01 GMT Control: cancel <5je4ha$iu5@argentina.earthlink.net> Message-ID: <cancel.5je4ha$iu5@argentina.earthlink.net> Sender: pwoqiue@as;dlfj.com Spam cancelled. Autocancel spam type: SEXYGIRLS Original Subject: -Teen Masterbation * teen69.jpg
From: lhow@ecr.mu.oz.au (Luke HOWARD) Newsgroups: comp.sys.next.programmer Subject: Re: Seek work on when OS 4.2 will be released. New features Date: 21 Apr 1997 02:58:28 GMT Organization: Comp Sci, University of Melbourne Message-ID: <5jel4k$3ve@mulga.cs.mu.OZ.AU> References: <5jchf3$24q@slip.net> Emmett McLean (emclean@slip.net) wrote: : Hi, : Has there been any word about when OS 4.2 will be : released. There is nothing about it at www.next.com. : What new features (especially for Mach) is it expected : to have? According to the release notes (I know nothing else), NetInfo is somewhat improved. -- Luke
From: stanj@cs.stanford.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer Subject: Image Filters w/o NSApplication Date: 21 Apr 1997 10:07:18 GMT Organization: Stanford University Message-ID: <5jfe8m$5oh$1@nntp.Stanford.EDU> Hello all, I wonder whether someone also has run into this problem: I have a small applet where I need to load images which happen not to be tiffs. Nothing works - in 3.3, I just had to create an instance of Application, and its mere presence fixed the problem. Under 4.2, this doesn't help. It loads TIFFs just fine. Any suggestions are welcome. The only condition is that I can't call [[NSApplication sharedApplication] run] The "no run" condition is important :-) Thanks for any suggestions you may have! - Stan --- Nature photography: http://www-leland.stanford.edu/~stanj NeXTmail and MIME: stanj@cs.stanford.edu
Message-ID: <335B7CF1.BCAEB16D@iphysiol.unil.ch> Date: Mon, 21 Apr 1997 16:42:57 +0200 From: Sean Hill <shill@iphysiol.unil.ch> MIME-Version: 1.0 Newsgroups: comp.sys.next.programmer Subject: D'OLE problems Content-Type: text/plain; charset=iso-8859-1 I'm trying to use D'OLE (Doh!) and I do something very simple, i.e: id <NEXTORB> olebridge; id <OLEObject> matlabApp; olebridge = (id <NEXTORB>)[[NSConnection rootProxyForConnectionWithRegisteredName:@"NEXTORB.NSDO" host:@"*"] retain]; if (!olebridge) { NSLog (@"Did not get connected..."); return 0; } else { NSLog (@"Connected to NEXTORB"); [olebridge setProtocolForProxy:@protocol(NEXTORB)]; } matlabApp = [[olebridge objectWithRegisteredName:@"Matlab.Application" protocol:@"OLE" host:nil] retain]; And it connects fine to the ORB starts Matlab and crashes with the following output. I've tried with other OLE registered apps and it crashes in the same manner. Anybody have any ideas!? BTW This is on 4.2pr1. Thanks! Sean shill@iphysiol.unil.ch Apr 21 16:35:36 MyApp[186] Connected to NEXTORB Apr 21 16:35:47 MyApp[186] *** Uncaught exception: <NSInternalInconsistencyException> deserializeObjectAt: class "NSDistantIDispatchProxy" not loaded stack: 0x3203fa36 0x3203feb2 0x310119bd 0x31011a8f 0x3203fb04 0x3202db87 0x3202ebf5 0x32040100 0x310177b7 0x40121c 0x77f1afc1 exiting!
Message-ID: <335B5750.E03DAC9C@iphysiol.unil.ch> Date: Mon, 21 Apr 1997 14:02:24 +0200 From: Sean Hill <shill@iphysiol.unil.ch> MIME-Version: 1.0 Newsgroups: comp.sys.next.programmer Subject: using Windows DLLs with OpenStep/NT Content-Type: text/plain; charset=iso-8859-1 Does anyone know how to link an OpenStep/NT (4.1 or 4.2pr1) project so that it can use functions in a regular Windows DLL? I've tried adding it as a library or framework but that doesn't work. I've tried linking it by hand. Perhaps I have a fundamental misunderstanding of what to do. Thanks very much! shill@iphysiol.unil.ch
From: jth9904@chenext1.tamu.edu (Jeromy Hollenshead) Newsgroups: comp.sys.next.programmer Subject: Executable Size vs Machine Specs Date: 21 Apr 1997 18:34:14 GMT Organization: Texas A&M University, College Station, Texas Message-ID: <5jgbv6$3q8@news.tamu.edu> NNTP-Posting-Date: 21 Apr 1997 18:34:14 GMT Problem: We currently have 2 machines running NeXT/OpenStep. We are compiling fortran software (using the same version of f2c). When we increase the size of given arrays, the ld (link) fails on Machine 2, but not on Machine 1. The linker messages complain about crossing segment boundaries. The 2 major differences between the 2 machines are the version of the compiler and the amount of RAM. Can anyone tell me which is giving me the problem, and why? Machine 1. PentiumPro, 64Mb RAM, running OpenStep 4.0 with cc Compiler version 475 with gcc version 2.5.8 Machine 2. Pentium, 40Mb RAM, running NeXTStep 3.3 with cc Compiler version 432.2.6 with gcc version 2.5.8 --
From: alanf@izzy.net Newsgroups: comp.sys.next.programmer Subject: Addressbook format? Date: 21 Apr 1997 20:22:45 GMT Organization: "Comshare, Inc." Message-ID: <5jgial$5ot$1@inet-prime.comshare.com> greetings etherial composite mind, Can someone point me an example of how a browser is populated by a "standard" .addresses file? The contact:group M:M relationship would be handled nicely by a SQL engine, but I don't think there's a working Public Domain one. Any help is greatly appreciated. Regards, Alan Frabutt (alanf@izzy.net)
From: Paul Dorrell <pdorrell@atinternet.com> Newsgroups: comp.sys.next.programmer Subject: Re: [Q]fetch problem in EOF1.1 Date: Mon, 21 Apr 1997 23:14:05 +0200 Organization: Joanne CVCB Message-ID: <335BD89D.BCC@atinternet.com> References: <5ja2u7$t5v$1@inetserv.sic.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: KAWAMATSU Akira <akki@sic.co.jp> KAWAMATSU Akira wrote: > > Hi all. I have a problem about > using EOController's Fetch in EOF1.1. > > When I tried to fetch, fetch progress SOMETIMES failed > with error messages. Not ALWAYS. > The message like this... > > "DBPROCESS is dead or not enabled" > > my writing code that's all. > [eocontroller fetch:self]; > > Does anyone knows why my fetch progress failed. > Please e-mail to me!! > > thanks. Yes, for some reason, you have been disconnected from sybase.
From: icardena@sumter.cso.uiuc.edu (Ian Patrick Cardenas) Newsgroups: comp.sys.next.programmer Subject: Re: Image Filters w/o NSApplication Date: 21 Apr 1997 21:46:22 GMT Organization: University of Illinois at Urbana Message-ID: <5jgn7e$203@vixen.cso.uiuc.edu> References: <5jfe8m$5oh$1@nntp.Stanford.EDU> stanj@cs.stanford.edu (Stan Jirman) writes: >I wonder whether someone also has run into this problem: I have a small >applet where I need to load images which happen not to be tiffs. Nothing >works - in 3.3, I just had to create an instance of Application, and its mere >presence fixed the problem. Under 4.2, this doesn't help. It loads TIFFs just >fine. > Are you using NSImages to do the rendering? The AppKit classes assume the existance of a DPSContext to draw in which is provided by creating an instance of NSApplication. I had a similiar problem and solved it with the following category to NSImage...it basically walks through the TIFFRepresentations and returns the first one that can provide the data (NSImageReps don't use a DPSContext for the rendering). A simple solution, but I knew that my images only contatined one rep...you'd have to do a little more work to select a specific representation. Hope this helps.... -------------------------------NSImage.ICNoDPSContext.h------------------ // NSImage requires a DPS context in order to make a TIFFRepresentation // Rather that create a dummy NSApplication (I just don't like that solution) // I added a category that iterates through NSImage's NSImageRepresentations // and asks if they can give us a TIFF representation. The first that can // is the one we return. // -Ian P. Cardenas (icardena@uiuc.edu) #import <AppKit/NSImage.h> @interface NSImage (ICNoDPSContext) -(NSData *) firstTIFFRepresentation; @end -------------------------------NSImage.ICNoDPSContext.m------------------ /* NSImage.NoDPSContext.m created by icardena on Sat 10-Aug-1996 */ #import "NSImage.ICNoDPSContext.h" #import <Foundation/Foundation.h> @implementation NSImage (ICNoDPSContext) -(NSData *) firstTIFFRepresentation { NSArray *allReps = [self representations]; NSEnumerator *repIterator = [allReps objectEnumerator]; NSImageRep *aRepresentation; while(aRepresentation = [repIterator nextObject]) { if ([aRepresentation respondsToSelector:@selector(TIFFRepresentation)]) { return [aRepresentation performSelector:@selector(TIFFRepresentation)]; } } return nil; } @end -- Ian P. Cardenas (icardena@uiuc.edu) CCSO Sites Technical Support "I am of the opinion that pizza and beer together are far superior to either in isolation." -James E. Quick on the Apple/NeXT merger
From: rbarris@quicksilver.com (Rob Barris) Newsgroups: comp.sys.next.programmer Subject: [Unicode] Looking for text editor Date: Mon, 21 Apr 1997 15:14:47 -0700 Organization: Quicksilver Software, Inc. Message-ID: <rbarris-ya023280002104971514470001@news.intelenet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit I'm looking for a plain text editor that understands Unicode. I am new to the NeXT OS, is it generally considered to be Unicode or ASCII based? Are there tools for the NeXT environment that can edit 16-bit Unicode text directly? Thanks for any help. Rob Barris Quicksilver Software Inc. rbarris@quicksilver.com * Opinions expressed not necessarily those of my employer *
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: [Unicode] Looking for text editor Date: 22 Apr 1997 03:41:07 GMT Organization: Digital Fix Development Message-ID: <5jhc0j$4nd$1@news.digifix.com> References: <rbarris-ya023280002104971514470001@news.intelenet.com> In-Reply-To: <rbarris-ya023280002104971514470001@news.intelenet.com> On 04/21/97, Rob Barris wrote: > I'm looking for a plain text editor that understands Unicode. I am new >to the NeXT OS, is it generally considered to be Unicode or ASCII based? >Are there tools for the NeXT environment that can edit 16-bit Unicode text >directly? > >Thanks for any help. > TextEdit.app appears to be able to load a number of different encodings, including Unicode. Although I don't have a Unicode file to try.. -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: paul maddox <pmaddox@ridgecrest.ca.us> Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Developers Coalition idea Date: Mon, 21 Apr 1997 18:50:16 -0700 Organization: RidgeNET Message-ID: <335C1958.CE3@ridgecrest.ca.us> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Apple's strategy for the future seems solid. They have superior hardware, the PowerMac, which just this week hit 300 MHz-- a clear win for the PowerPC Platform over the competition. To run this great hardware, they have a superior OS on the way -- Rhapsody, which will bring new meaning to the word modern and its associated buzzwords, and give some already impressive hardware a large performance boost. What Apple does not seem to have, however, is the crucial third piece of the computer puzzle-- applications. In order to make their new strategy compelling to the average consumer, Apple needs the support of developers to make office tools, games, and other applications that take advantage of this great hardware and OS. Without this support, and a large measure of it, Apple will go nowhere. Enter the Developer1s Coalition, a well-researched, hard-thought answer to this problem, and one that should put all support for Be and other alternatives out of the picture for good. Picture: * A new organization in which the various, usually competing, Mac hardware vendors *all* come together to encourage and fund development for the Mac OS-- a group composed of not just the AIM triad (Apple, IBM, Motorola), but also the 12 or so cloners, both large and small. * The stability and harmony such a group will bring the platform with its 3we1re all in the same boat2 message. * The reaction of developers to an organization with this breadth and resource level. * This same forum taking on many of the other platform-wide duties, such as evangelism and advertising-- like that PowerPC commercial everyone is longing for... * The tremendous boost in public confidence that will result from this move. Sound good? Then I need your help. The above organization exists only on paper. However, a group of enterprising people have hatched a plan to publicize the idea, hoping to create two reactions: one, let the press and developers know that there is a huge cadre of 3average Joe2 Mac users out there eager to see more programs developed for the Mac; and two, to get the different hardware vendors to either form such a group, or start contributing to an Apple-led effort to provide these benefits. This plan entails a massive e-mail campaign targeting all the Mac hardware vendors with cc's to all the Mac software developers. Address lists for these will be posted on the eve of the campaign. Following is the form letter. Pleae help us out by sending it to the provided mailing lists on or between the dates of *Sunday, April 20th* and *Saturday, April 27*. Thank you. * DC Home: http://www.geocities.com/Hollywood/2633/dc.html * Complete Mac http://www.dol.net/~Ragosta/dev.htm * MacMarines http://www.macmarines.com/dcnews/dcnews.html
From: stephane@lysis.ch (Stephane Corthesy) Newsgroups: comp.sys.next.programmer Subject: Re: D'OLE problems Date: 22 Apr 97 07:36:41 GMT Organization: Lysis S.A. Message-ID: <335c6a89.0@news.planet.ch> References: <335B7CF1.BCAEB16D@iphysiol.unil.ch> Cc: shill@iphysiol.unil.ch In <335B7CF1.BCAEB16D@iphysiol.unil.ch> Sean Hill wrote: > I'm trying to use D'OLE (Doh!) and I do something very simple, i.e: > > id <NEXTORB> olebridge; > id <OLEObject> matlabApp; > > olebridge = (id <NEXTORB>)[[NSConnection > rootProxyForConnectionWithRegisteredName:@"NEXTORB.NSDO" host:@"*"] > retain]; > > if (!olebridge) { > NSLog (@"Did not get connected..."); > return 0; > } else { > NSLog (@"Connected to NEXTORB"); > [olebridge setProtocolForProxy:@protocol(NEXTORB)]; > } > > matlabApp = [[olebridge > objectWithRegisteredName:@"Matlab.Application" > protocol:@"OLE" host:nil] retain]; > > And it connects fine to the ORB starts Matlab and crashes with the > following output. I've tried with other OLE registered apps and it > crashes in the same manner. Anybody have any ideas!? BTW This is on > 4.2pr1. > > Thanks! > Sean > shill@iphysiol.unil.ch > > Apr 21 16:35:36 MyApp[186] Connected to NEXTORB > Apr 21 16:35:47 MyApp[186] *** Uncaught exception: > <NSInternalInconsistencyException> deserializeObjectAt: class > "NSDistantIDispatchProxy" not loaded > stack: 0x3203fa36 0x3203feb2 0x310119bd 0x31011a8f 0x3203fb04 0x3202db87 > 0x3202ebf5 0x32040100 0x310177b7 0x40121c 0x77f1afc1 > exiting! > > Extract from NeXTanswer 2501: Reference: 68449 Releases: OPENSTEP 4.0, 4.1, 4.2 Platforms: Windows Disposition: None Problem: Cannot get a proxy for a distributed OLE object using OPENSTEP D.O. Description: When trying to get a proxy for an OLE object, you may get the following error: "deserializeObjectAt: class `NSDistantIDispatchProxy' not loaded". Workaround: Include nxorb.m (from NextDeveloper/Libraries) in your client. Although the D'OLE Developer's Guide states that nxorb.m is only needed for use with NXConnections, it's needed in some circumstances for NSConnections as well. Workaround: None Hope this helps. StÝphane -- "L'ordinateur n'a pas l'intelligence qu'on lui prete, mais celle qu'on lui donne." Stephane Corthesy Lysis S.A. Rue des Cotes de Montbenon 8 CH-1003 Lausanne Switzerland Tel. +41.21.312.91.91 Fax +41.21.312.93.43 E-mail: stephane@lysis.ch (NeXTMail welcome)
From: stephane@lysis.ch (Stephane Corthesy) Newsgroups: comp.sys.next.programmer Subject: Re: using Windows DLLs with OpenStep/NT Date: 22 Apr 97 07:38:19 GMT Organization: Lysis S.A. Message-ID: <335c6aeb.0@news.planet.ch> References: <335B5750.E03DAC9C@iphysiol.unil.ch> Cc: shill@iphysiol.unil.ch In <335B5750.E03DAC9C@iphysiol.unil.ch> Sean Hill wrote: > Does anyone know how to link an OpenStep/NT (4.1 or 4.2pr1) project so > that it can use functions in a regular Windows DLL? > > I've tried adding it as a library or framework but that doesn't work. > I've tried linking it by hand. Perhaps I have a fundamental > misunderstanding of what to do. > > Thanks very much! > shill@iphysiol.unil.ch > > Hi Sean, I think you need to do the link with a .LIB file, not a .DLL. You can make a static library from the .DLL with some utility programs (IMPLIB.EXE in Borland C++ distribution files), and then link your Project with that static library. This library contains code which will link dynamically to the .DLL during runtime. I didn't test it yet :-) StÝphane -- "L'ordinateur n'a pas l'intelligence qu'on lui prete, mais celle qu'on lui donne." Stephane Corthesy Lysis S.A. Rue des Cotes de Montbenon 8 E-mail: stephane@lysis.ch CH-1003 Lausanne (NeXTMail welcome) Switzerland Tel. +41.21.312.91.91 Fax +41.21.312.93.43
From: rbarris@quicksilver.com (Rob Barris) Newsgroups: comp.sys.next.programmer Subject: Re: [Unicode] Looking for text editor Date: Tue, 22 Apr 1997 11:05:02 -0700 Organization: Quicksilver Software, Inc. Message-ID: <rbarris-ya023280002204971105020001@news.intelenet.com> References: <rbarris-ya023280002104971514470001@news.intelenet.com> <5jhc0j$4nd$1@news.digifix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5jhc0j$4nd$1@news.digifix.com>, sanguish@digifix.com (Scott Anguish) wrote: > On 04/21/97, Rob Barris wrote: > > I'm looking for a plain text editor that understands Unicode. I am > new > >to the NeXT OS, is it generally considered to be Unicode or ASCII > based? > >Are there tools for the NeXT environment that can edit 16-bit Unicode > text > >directly? > > > >Thanks for any help. > > > > TextEdit.app appears to be able to load a number of different > encodings, including Unicode. > > Although I don't have a Unicode file to try.. I got one reply in e-mail that indicated [ paraphrased ] "The Text object is Unicode based as of OpenStep 4.1, but there is no standard text-entry method for other languages." True? ( It could be a tad difficult to create Chinese text in Unicode if there's no way to enter those characters :) ) Rob Barris Quicksilver Software Inc. rbarris@quicksilver.com * Opinions expressed not necessarily those of my employer *
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.marketplace,comp.sys.mac.programmer.codewarrior,comp.sys.mac.misc From: sc@netcom.com Subject: FS - wwdc ticket Message-ID: <scE9247u.HA8@netcom.com> Organization: Netcom On-Line Services Date: Tue, 22 Apr 1997 20:43:06 GMT Sender: sc@netcom11.netcom.com World wide dev conference ticket for the week. $900. SC@netcom.com
From: rbarris@quicksilver.com (Rob Barris) Newsgroups: comp.sys.next.programmer Subject: Re: [Unicode] Looking for text editor Date: Tue, 22 Apr 1997 14:25:41 -0700 Organization: Quicksilver Software, Inc. Message-ID: <rbarris-ya023280002204971425410001@news.intelenet.com> References: <rbarris-ya023280002104971514470001@news.intelenet.com> <5jhc0j$4nd$1@news.digifix.com> <rbarris-ya023280002204971105020001@news.intelenet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit > I got one reply in e-mail that indicated [ paraphrased ] "The Text > object is Unicode based as of OpenStep 4.1, but there is no standard > text-entry method for other languages." True? I actually meant to say "NSString" and not Text object above. (The same thing? Still learning...) Rob Barris Quicksilver Software Inc. rbarris@quicksilver.com * Opinions expressed not necessarily those of my employer *
From: paoiuroaiue@;lkajdfalksj.com Newsgroups: comp.sys.next.programmer Subject: Mariah Carey car.jpg Date: 22 Apr 1997 21:56:03 GMT Organization: Earthlink Network, Inc. Message-ID: <5jjc5j$3kl@argentina.earthlink.net> Check out this site that I found, it has tons of Nude Celebrity Pictures. http://www.sexy-stars.com
From: cberry@cinenet.net (Craig Berry) Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Subject: Re: Warning: Michael Kagalenko post has imbedded JavaScript SPAM bomb! Followup-To: comp.lang.scheme,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel,comp.sys.next.programmer Date: 22 Apr 1997 23:55:40 GMT Organization: Cinenet Communications,Internet Access,Los Angeles;310-301-4500 Message-ID: <5jjj5s$q6n$3@marina.cinenet.net> References: <rcybba5k9c.fsf@redwood.skiles.gatech.edu> <jack.860328432@news.cwi.nl> <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com> <33493144.392C859E@cs.cmu.edu> <5ihoo2$vvd@lynx.dac.neu.edu> <334CD10A.2208@hal-pc.org> Michael D. Kersey (mdkersey@hal-pc.org) wrote: : Michael Kagalenko wrote: : > : Warning to Netscape users!! : : The above poster, Michael Kagalenko, has inserted the following : JavaScript code in his e-mail: [script snipped] : This will open windows in your browser until memory is exhausted and/or : your system hangs. This is annoying and rude behavior on MK's part -- but I must admit that I also see it as a loud "Get another newsreader!" wake-up call to Netscape users. Any newsreader which allows *message content* to crash your machine is fundamentally and perhaps irreparably broken. You should abandon it with all due speed -- the next fun little trick somebody finds may do far more than simply cost you a reboot. --------------------------------------------------------------------- | Craig Berry - cberry@cinenet.net --*-- Home Page: http://www.cinenet.net/users/cberry/home.html | Member of The HTML Writers Guild: http://www.hwg.org/ "Every man and every woman is a star."
Date: 23 Apr 1997 01:39:01 GMT From: clewis@ferret.ocunix.on.ca (Chris Lewis) Sender: paoiuroaiue@;lkajdfalksj.com Message-ID: <cancel.5jjc5j$3kl@argentina.earthlink.net> Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5jjc5j$3kl@argentina.earthlink.net> Control: cancel <5jjc5j$3kl@argentina.earthlink.net> CELEBRITY spam cancelled by clewis@ferret.ocunix.on.ca Original Subject: Mariah Carey car.jpg Total spams this type to date: 1453 Total this spam type for this user to date: 2
From: chrisp@sax.sax.de (Christoph Pfisterer) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Tue, 22 Apr 1997 22:10:03 +0200 Organization: private site, Dresden, Germany Message-ID: <chrisp-ya023080002204972210030001@gimli> References: <335C1958.CE3@ridgecrest.ca.us> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit paul maddox <pmaddox@ridgecrest.ca.us> wrote: [intro - Apple needs the developers] > Enter the Developer1s Coalition, a well-researched, hard-thought >answer to this problem, and one that should put all support >for Be and other alternatives out of the picture for good. > > Picture: >* A new organization in which the various, usually competing, Mac >hardware vendors *all* come together to encourage and >fund development for the Mac OS-- a group composed of not just the AIM >triad (Apple, IBM, Motorola), but also the 12 or so >cloners, both large and small. >* The stability and harmony such a group will bring the platform with >its 3we1re all in the same boat2 message. >* The reaction of developers to an organization with this breadth and >resource level. >* This same forum taking on many of the other platform-wide duties, such >as evangelism and advertising-- like that PowerPC >commercial everyone is longing for... >* The tremendous boost in public confidence that will result from this >move. > > Sound good? Yea, real good. I wish we'd already have such an organization - we'd finally get the PowerPC ads we've been longing for so long. What do you guys think? -- Christoph "bIQHurgh" Pfisterer "Now the world has gone to bed, chrisp@sax.sax.de Darkness won't engulf my head, http://www.sax.de/~chrisp/ I can see by infra-red, PGP key available How I hate the night." -Marvin
From: Patrick Miller <support@registerline.com> Newsgroups: comp.sys.next.programmer Subject: ANNOUNCE - DESIGN yourWARE Date: Wed, 23 Apr 1997 02:22:56 -0400 Organization: Regi$ter Online! Message-ID: <335DAABF.21E6@registerline.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Regi$ter Online! has implemented a terrific new type of "software" concept called, "Design-YOURware." "Design-YOURware" is a unique programming proposal and creativity tool for software users and software developers alike. Using "Design-YOURware," a software user may design his or her software anyway desired while submitting several personal choices to a programmer, who will in turn consider developing the user's "creation" upon a private Work-For-Hire Contract between user and developer. Software developers may use "Design-YOURware" as a creativity tool, reviewing all options for creating unique programs. In particular, software developers may especially enjoy using what we have named, "What the @#$!?" This tool (What the @%$!?) is a random idea developer, spitting out random concepts unique to the developing environment geared to jar new ideas. All credit for this random idea developer goes to Javascript editor Don. You may experience this new concept, "Design-YOURware," at www.registerline.com All comments, criticisms, and questions are welcome. Thank you Patrick Miller -- REGI$TER ONLINE! http://registerline.com Download the shareware version of AutoText TXT EXE Compiler http://www.demon.co.uk/hubbard [A FREE promotion for Regi$ter Online! Shareware Authors]
From: don_arb@wolfenet.com (Don Arbow) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Tue, 22 Apr 1997 12:01:02 -0700 Organization: Wolfe Internet Access, L.L.C. Message-ID: <don_arb-2204971201020001@news1.wolfenet.com> References: <335C1958.CE3@ridgecrest.ca.us> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox <pmaddox@ridgecrest.ca.us> wrote: : Apple's strategy for the future seems solid. : They have superior hardware, the PowerMac, which just this week hit : 300 MHz-- a clear win for the PowerPC Platform : over the competition. : To run this great hardware, they have a superior OS on the way -- : Rhapsody, which will bring new meaning to the word : modern and its associated buzzwords, and give some already impressive : hardware a large performance boost. : What Apple does not seem to have, however, is the crucial third piece : of the computer puzzle-- applications. In order to : make their new strategy compelling to the average consumer, Apple needs : the support of developers to make office tools, : games, and other applications that take advantage of this great hardware : and OS. Without this support, and a large measure of : it, Apple will go nowhere. : Enter the Developer1s Coalition, a well-researched, hard-thought : answer to this problem, and one that should put all support : for Be and other alternatives out of the picture for good. : Someone already beat you to that idea. Check out AIMED, the Association of Independent Macintosh Engineers and Developers. The group was formed over a year ago, but I haven't heard much from them lately. Their home page is located at: http://mcf.com/aimed/ Don -- -------------------------------------------------------------------------- \ | / Don Arbow, Partner, CTO | don_arb@wolfenet.com -- EDO -- EveryDay Objects, Inc. | ^ delete underscore / | \ Seattle, WA | http://www.edo-inc.com -------------------------------------------------------------------------- My Prographing web page: http://www.wolfe.net/~donarb/Dataflow.html "The fix is only temporary, unless it works" - Red Green --------------------------------------------------------------------------
Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 From: hammond_g@drkclu.meng.ucl.ac.uk (Java G) Subject: Re: Developers Coalition idea Sender: news@ucl.ac.uk (Usenet News System) Message-ID: <1997Apr23.132544.68046@ucl.ac.uk> Date: Wed, 23 Apr 1997 13:25:44 GMT References: <335C1958.CE3@ridgecrest.ca.us> Organization: UCL Dept Mech Eng In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox <pmaddox@ridgecrest.ca.us> writes: |> What Apple does not seem to have, however, is the crucial third piece |>of the computer puzzle-- applications. In order to |>make their new strategy compelling to the average consumer, Apple needs |>the support of developers to make office tools, |>games, and other applications that take advantage of this great hardware |>and OS. Without this support, and a large measure of |>it, Apple will go nowhere. Interestingly, Apple are dumping GameSprockets and going for a corporate image when they really should be competing with MS's w95 gaming strategy. -- /** Java G <hammond_g@meng.ucl.ac.uk> * Virtual Reality ROV Docking Planner * http://www.ucl.ac.uk/~zcemm23 * You broke the light, and now... it's dark. */
From: andreas@lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: Books about OpenStep-Programming Date: 23 Apr 1997 10:53:41 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5jkpnl$rt@merkur.lynet.de> Hello, I'm going to develop software for OpenStep and therefore seek some good books about this matter. I tried to get through DISCOVERING OPENSTEP: A DEVELOPER TUTORIAL, but this book is quite hard stuff and I quickly lost the overview. I would appreciate literature with more smaller steps, to be easily introduced to OpenStep-Programming. I already have DEVELOPING BUSINESS APPLICATIONS WITH OPENSTEP, but this one is rather a rough introduction to the matter and not enough detailed to really get it working. Any suggestions?
Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 From: nagle@netcom.com (John Nagle) Subject: Re: Developers Coalition idea Message-ID: <nagleE93n0E.715@netcom.com> Organization: Netcom On-Line Services References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> Date: Wed, 23 Apr 1997 16:26:38 GMT Sender: nagle@netcom6.netcom.com don_arb@wolfenet.com (Don Arbow) writes: >In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox ><pmaddox@ridgecrest.ca.us> wrote: >: Apple's strategy for the future seems solid. >: They have superior hardware, the PowerMac, which just this week hit >: 300 MHz-- a clear win for the PowerPC Platform >: over the competition. The Alpha is faster and still isn't selling. See the Business week article on it. >: To run this great hardware, they have a superior OS on the way -- >: Rhapsody, which will bring new meaning to the word >: modern and its associated buzzwords, and give some already impressive >: hardware a large performance boost. But it's vaporware. Last year at this time, we had Copland, which was also vaporware, and more compatible. Realistically, nothing is going to happen on the application front until Rhapsody ships to developers. That may or may not happen; Ellison may succeed in his hostile takeover of Apple, the Saudi prince may buy a controlling interest, or Apple may just screw up again. John Nagle
From: mmalcolm crawford <malcolm@plsys.co.uk> Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: 23 Apr 1997 18:06:24 GMT Organization: P&L Systems Message-ID: <5jlj30$guk$1@ironhorse.plsys.co.uk> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> In-Reply-To: <nagleE93n0E.715@netcom.com> On 04/23/97, John Nagle wrote: > But it's vaporware. Last year at this time, we had Copland, >which was also vaporware, and more compatible. > Hardly vaporware -- it's built on the solid foundtion of OpenStep / Mach. > Realistically, nothing is going to happen on the application front >until Rhapsody ships to developers. > Wrong. We're porting applications at the moment (including Mesa, the leading spreadsheet for NEXTSTEP), and so are others. We might even have stuff to show at WWDC (a bit of a tall order, but a possibility). Best wishes, mmalc. Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk Tel: +44 (0)1494 432422 P & L Systems Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm -- Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk Tel: +44 (0)1494 432422 P & L Systems Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm
From: Great Opportunity<money@maker.com> Newsgroups: comp.sys.next.programmer Subject: Earn Upwards of $10000 per month Date: 23 Apr 1997 22:59:51 GMT Organization: Successful People R Us Message-ID: <5jm497$7ut$2085@orb.direct.ca> ---------------------------------------------------------------------- This message is being brought to you by Dynamic Mail - the easier and faster's way to explodes your business on the internet. For more information please visit our web site at : http://www.australia.net.au/~apexpi/dynamail.htm ---------------------------------------------------------------------- That's right! NO Selling! NO Sales Pitches! Just simple distribution of full color catalogs. Distribute catalogs to your friends and family, co-workers, or any body who is interested in Video's and/or CD-ROM's. They will appreciate not having a sales pitch thrown at them. Everybody loves looking at catalogs and now you have the opportunity to cash in on this business. We will send you a full color catalog of the selection of Video's and CD-ROM's. We will also send your information on how you can start your own business for less than $30. Just for taking a look at the video catalog we will send you a certificate for $10 off your first order, should you decide to place an order with us. What's the risk? You receive a $10 off certificate just for looking at the program. You get a full color catalog of VIDEO's/CD-ROM's. You also receive information about an amazing financial opportunity. Simply send $10 to D.S.I. Marketing Services Inc. Box 42167, Calgary, Alberta, T2J 7A6 ** If you are not happy with the information supplied to you simply send everything back for a full refund. Our return policy is 30 days subject to the discretion of D.S.I. Marketing Services Inc. **
From: J.C.Highfield@lboro.ac.uk Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: 23 Apr 1997 23:19:32 GMT Organization: Loughborough University, UK. Message-ID: <5jm5e4$g54@sun-cc204.lboro.ac.uk> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> <5jlj30$guk$1@ironhorse.plsys.co.uk> Originator: cojch@sun-cc201 In article <5jlj30$guk$1@ironhorse.plsys.co.uk>, mmalcolm crawford <malcolm@plsys.co.uk> wrote: >On 04/23/97, John Nagle wrote: >> Realistically, nothing is going to happen on the application front >>until Rhapsody ships to developers. >> >Wrong. We're porting applications at the moment (including Mesa, the >leading spreadsheet for NEXTSTEP), and so are others. We might even have >stuff to show at WWDC (a bit of a tall order, but a possibility). Um, what exactly are you porting to - OpenStep? Regards, Julian.
From: jon@clarke.exnext.com (Jonathan Hendry) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Followup-To: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Date: 24 Apr 1997 02:43:26 GMT Organization: Internet Access Cincinnati 513-887-8877 Message-ID: <5jmhce$n9s$3@ocoee.iac.net> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> John Nagle (nagle@netcom.com) wrote: : don_arb@wolfenet.com (Don Arbow) writes: : >In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox : ><pmaddox@ridgecrest.ca.us> wrote: : >: Apple's strategy for the future seems solid. : >: They have superior hardware, the PowerMac, which just this week hit : >: 300 MHz-- a clear win for the PowerPC Platform : >: over the competition. : The Alpha is faster and still isn't selling. See the Business : week article on it. The Alpha doesn't run anything worth having. That Businessweek article can be summed up with "Software sells hardware". All that speed won't help me if it doesn't run the software I want to run. (Yes, it runs linux. Yes it runs a smattering of NT software. In neither case is there a compelling reason to buy an Alpha over some other platform. At least not compelling enough for a lot of people to buy it.) The Mac runs software that a lot of people like to run. Therefore, speed matters. -- Jonathan W. Hendry jon@exnext.com
From: "m.kangas" <kangas@lily.ee.cornell.edu> Newsgroups: comp.sys.mac.scitech,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 00:19:54 -0400 Organization: Cornell University Sender: mgk3@cornell.edu (Verified) Message-ID: <Pine.HPP.3.93.970423235642.4609C-100000@lily.ee.cornell.edu> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In-Reply-To: <1997Apr23.132544.68046@ucl.ac.uk> On Wed, 23 Apr 1997, Java G wrote: > Interestingly, Apple are dumping GameSprockets and going for a corporate > image when they really should be competing with MS's w95 gaming strategy. Hmm, I've got two comments here... one, an improved "corporate image" in itself is definitely NOT a bad thing. I've personally worked at a fortune 500 firm that effectively outlawed Macs because they were "such a pain in the corporate environment". It's rubbish, of course, but it's the action they took is what's important. Also, most of the Macs were in use IMO by sales-types and secretaries, groups that'd be hard-pressed to fight back at accusations of technical inferiority. (ahh, victimization) Secondly, wrt. "dumping GameSprockets"... I don't know the low-level details, but I'm guessing that making GameSprockets work on Mach would be extremely non-trivial. Perhaps by not commiting to delivering GameSprockets, they've simply allowed themselves to bring Rhapsody to market sooner (and on a more solid shipping schedule). They can always slip it in later. Strategically, to "compete with MS's win95 gaming strategy" (which NOBODY, imo, gives a hoot about) would amount to shadowboxing and Apple knows it. -- \7\3\d\e\k\b\8\u\o\x\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \m\a\t\t\.\k\a\n\g\a\s\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\g\k\3\@\c\o\r\n\e\l\l\.\e\d\u\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 24 Apr 1997 04:24:22 GMT Organization: Digital Fix Development Message-ID: <5jmn9m$2j5$1@news.digifix.com> References: <5jkpnl$rt@merkur.lynet.de> In-Reply-To: <5jkpnl$rt@merkur.lynet.de> On 04/23/97, Andreas Hoeschler wrote: >Hello, > >I'm going to develop software for OpenStep and therefore seek some >good books about this matter. I tried to get through DISCOVERING >OPENSTEP: A DEVELOPER TUTORIAL, but this book is quite hard stuff >and I quickly lost the overview. I would appreciate literature >with more smaller steps, to be easily introduced to OpenStep-Programming. >I already have DEVELOPING BUSINESS APPLICATIONS WITH OPENSTEP, >but this one is rather a rough introduction to the matter and not >enough detailed to really get it working. Any suggestions? > There is a list of available OpenStep books at http://www.stepwise.com/Resources/Books -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: nejeh@gdi.net Newsgroups: comp.sys.next.programmer Subject: ADVERTISE TO OVER 100 MILLION PEOPLE FOR FREE!!! Date: Wed, 23 Apr 1997 20:43:48 Organization: Global Datalink, Inc. Message-ID: <5jma6m$65g@news.gdi.net> Please take the time out to read this email. it is worth your time. ADVERTISE TO OVER 100 MILLION PEOPLE FOR FREE!!! Or send a message to millions of people... NOW YOU CAN ADVERTISE FREE AND GET DRAMATICALLY MORE RESPONSES THAN ADVERTISING ON NATIONAL TELEVISION With E-mail your potential customer is forced to read at least the headline of your letter. Unlike TV, magazines, newspaper ads, and direct mail where more than 99.99% of the recipients will skip right over your advertisement. TURNS YOUR COMPUTER INTO A CASH REGISTER: Conservative estimates indicate well over 100 MILLION people will have E-mail accounts in the next year! E-Mail Blaster turns your computer into a cash register by giving you FREE, immediate access to all of them. Do you think some of the more than 100 million people with E-mail addresses would be interested in your products or services? Even if you don't have your own products or services you can still make money buy promoting our computer software!!! You can make money with our new software called E-MAIL BLASTER Here's how: * By Using E-Mail To Sell Your Products & Services * By Using E-Mail To Sell our Computer Software such as: Email Blaster, Web Walker, Email Lock Box etc. * By Renting or Selling Your E-mail Addresses * By Becoming A Distributor for e-mail BLASTER MUCH FASTER: With bulk E-mail you get responses back in 1 to 4 days instead of waiting weeks or months like with television or print advertising. You can begin filling orders the same day you send E-mail. FREE ADVERTISING WORTH MILLIONS: It costs millions of dollars to mail out millions of letters using the United States Postal Service! Now you can send your ad to MILLIONS of people for FREE using E-Mail BLASTER E-MAIL BLASTER IS ACTUALLY 3 PROGRAMS IN 1: E-Mail Blaster is amazing new technology and the most advanced bulk E-mail software on the market today. (1) E-Mail BLASTER automatically extracts E-mail addresses from America Online, CompuServe, Prodigy, and the other online services, the Internet, web pages, news groups, and hundreds of other sources. (2) E-Mail BLASTER automatically stores the E-mail addresses in your computer along with keywords that describe hobbies and interests to created highly targeted E-mail addresses. (3) E-Mail BLASTER sends your marketing letter or ad to MILLIONS of targeted E-mail addresses at the push of a single button! HOW DOES E-MAIL BLASTER WORK? E-Mail Blaster has dozens of special filters to automatically harvest E-mail addresses from major online services such as: America OnLine, Compuserve, Delphi, Genie, and of course the internet. AOL AUTO EXTRACTOR: E-Mail Blaster has many special features like the AOL Auto Extractor that let's you use a regular dial-up Internet connection to collect names and addresses from America Online. Collect America Online addresses without being a member. Allows you to download names and addresses from America Online without paying membership fees or online charges. Auto Extractor for all of the online services and Special E-mail database search engines will also be available at no additional charge. SIMPLE TO USE: E-Mail Blaster does all the work for you. Unlike other programs where you must cut & paste addresses, E-Mail Blaster does it for you automatically. And, unlike other E-mail programs, with E-Mail Blaster there is no need to purchase any additional software SPEED: Your time is important. E-MAIL Blaster is DRAMATICALLY FASTER at extracting and sending E-mails than all the other programs on the market that we tested it against. NO SPECIAL EQUIPMENT NEEDED: E-Mail Blaster runs on a PC with Windows 3.xx Windows 95, Windows NT, a 386 or faster processor, 4 MB RAM, and a hard drive with at least 10 MB free and your own SLIP or PPP connection. No other software needed. Also runs on a Macintosh with Soft Windows installed. ****************************************************************** This message was sent using E-Mail Blaster. E-Mail Blaster is The World's Leading Bulk E-mail software. With E-Mail Blaster you can advertise to over 100 million people for FREE! Cost: We are giving away Email Blaster your only cost is $165.00 License fee. THAT'S IT!!! Our company is in the software business of developing cutting edge products, so we know if you have the opportunity to use our software FREE you will be our future customers. We know we need you to make our software business a true success! (Please if our lists are incorrect put "remove" in the subject and just hit "REPLY" and you will not be bothered again. Please forgive our mistake). ************************************************************************************************************** To take advantage of this opportunity, please fill out the order form below and fax to 1-407-380-3545. Don't miss out on this opportunity! Sales Rep: (Nejeh Yusuf @ 407 380 3545 ) Name: _____________________________________________________ Address:____________________________________________________ City:___________________________________________ State:___________________________ Zip:_____________________________ Telephone::_____________________________________________ E-Mail Address:__________________________________________ #of Copies @ $165.00 each ______________ If you would like to run Email Blaster on multiple computers or if you would like to resell Email Blaster for up to $499. you may purchase additional copies of Email Blaster for only $165.00. Retails for $499.00 This price is only available at the time of this order! So, Take advantage now and reserve your additional copies now! **************************************************************************** WE DO ALSO ACCEPT CHECKS BY FAX AND PHONE. WHY WAIT WHILE YOU CAN GET AHEAD. ********************************************************************************* If you would like to pay by check, money order, or cashiers check please make payable to: Nejeh Yusuf mail to: 2168 River Park Blvd. Orlando Florida 32817 or Fax to 1-407-380-3545 along with this order form. nejeh@gdi.net
From: novinger@eecs.ukans.edu (Nantes) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 10:04:26 -0600 Organization: University of Kansas Computing Services Message-ID: <novinger-ya02408000R2404971004260001@news.cc.ukans.edu> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> <5jlj30$guk$1@ironhorse.plsys.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <5jlj30$guk$1@ironhorse.plsys.co.uk>, mmalcolm crawford <malcolm@plsys.co.uk> wrote: > On 04/23/97, John Nagle wrote: > > But it's vaporware. Last year at this time, we had Copland, > >which was also vaporware, and more compatible. > > > Hardly vaporware -- it's built on the solid foundtion of OpenStep / Mach. > > > Realistically, nothing is going to happen on the application front > >until Rhapsody ships to developers. > > > Wrong. We're porting applications at the moment (including Mesa, the > leading spreadsheet for NEXTSTEP), and so are others. We might even have > stuff to show at WWDC (a bit of a tall order, but a possibility). > > Best wishes, > > mmalc. > > Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk > Tel: +44 (0)1494 432422 P & L Systems > Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm > > -- > Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk > Tel: +44 (0)1494 432422 P & L Systems > Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm Guys this is all well and good to debate, but what about this Developer's Coalition idea? What do you think? I think we as Mac programmers should be very interested. Just my $.02 Nantes -- Remove ".nospam" for a valid e-mail address.
From: novinger@eecs.ukans.edu (Nantes) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 10:23:27 -0600 Organization: University of Kansas Computing Services Message-ID: <novinger-ya02408000R2404971023270001@news.cc.ukans.edu> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <1997Apr23.132544.68046@ucl.ac.uk>, hammond_g@drkclu.meng.ucl.ac.uk (Java G) wrote: > In article <335C1958.CE3@ridgecrest.ca.us>, > paul maddox <pmaddox@ridgecrest.ca.us> writes: > > |> What Apple does not seem to have, however, is the crucial third piece > |>of the computer puzzle-- applications. In order to > |>make their new strategy compelling to the average consumer, Apple needs > |>the support of developers to make office tools, > |>games, and other applications that take advantage of this great hardware > |>and OS. Without this support, and a large measure of > |>it, Apple will go nowhere. > > Interestingly, Apple are dumping GameSprockets and going for a corporate > image when they really should be competing with MS's w95 gaming strategy. > > -- > /** Java G <hammond_g@meng.ucl.ac.uk> > * Virtual Reality ROV Docking Planner > * http://www.ucl.ac.uk/~zcemm23 > * You broke the light, and now... it's dark. */ While i share the feelings about game Sprockets, Apple has commented that they are not being dropped from macos, and could make it into rhapsody. However, they've also said that the openstep environment already has comparable APIs. But back to the point, let's all get this coalition rolling. Despite all of Apple's faults, they still make the best damn computer in the world! Let's help 'em by telling the world. Check out http://www.macmarines.com/dcnews.html for Developers Coalition news and an e-mail campaign packet. nantes -- Remove ".nospam" for a valid e-mail address.
From: novinger@eecs.ukans.edu (Nantes) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 10:36:27 -0600 Organization: University of Kansas Computing Services Message-ID: <novinger-ya02408000R2404971036270001@news.cc.ukans.edu> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <don_arb-2204971201020001@news1.wolfenet.com>, don_arb@wolfenet.com (Don Arbow) wrote: > In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox > <pmaddox@ridgecrest.ca.us> wrote: > > : Apple's strategy for the future seems solid. > : They have superior hardware, the PowerMac, which just this week hit > : 300 MHz-- a clear win for the PowerPC Platform > : over the competition. > : To run this great hardware, they have a superior OS on the way -- > : Rhapsody, which will bring new meaning to the word > : modern and its associated buzzwords, and give some already impressive > : hardware a large performance boost. > : What Apple does not seem to have, however, is the crucial third piece > : of the computer puzzle-- applications. In order to > : make their new strategy compelling to the average consumer, Apple needs > : the support of developers to make office tools, > : games, and other applications that take advantage of this great hardware > : and OS. Without this support, and a large measure of > : it, Apple will go nowhere. > : Enter the Developer1s Coalition, a well-researched, hard-thought > : answer to this problem, and one that should put all support > : for Be and other alternatives out of the picture for good. > : > > Someone already beat you to that idea. Check out AIMED, the Association > of Independent Macintosh Engineers and Developers. The group was formed > over a year ago, but I haven't heard much from them lately. Their home > page is located at: > > http://mcf.com/aimed/ > > Don > > -- While I like to see groups like AIMED, they are not the saem thing as the Developers Coalition. From what I unbderstand, the DC would be an outspoken pro-mac force. they would not only help developers with resources, amrketing, job recruting, but would also evangelise the Mac in general. The idea is that the coalition be funded by the Mac powers that be (Apple, Motorola, UMAX, Power, APS, etc.). They would advertise the platform as well as the superior PowerPC processor. Nantes -- Remove ".nospam" for a valid e-mail address.
From: Mark Cruver <mcruver@objectgems.com> Newsgroups: comp.sys.next.programmer Subject: NeXTStep Opportunity Date: Thu, 24 Apr 1997 11:51:27 -0400 Organization: OBJECTGems Message-ID: <335F817F.4062@objectgems.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit CC: mcruver@objectgems.com OBJECTGems, a leader in applying Object-Oriented Technologies to solve problems in Business and Industry, is searching for software engineers. We will consider both permanent employees as well as independent contractors. Immediate openings for: 1- NeXTStep: Development 2- NeXTStep: Testing 3- NeXTStep: Architecture These are long term (6 month plus) opportunities located in Washington, D.C. metropolitan area. The Development and Testing opportunities are available immediately; Architecture after June '97. We offer excellent compensation and benefits, whether independent contractor or employee, and the opportunity to work at the leading edge of technology. Visit our Web Site:http://www.objectgems.com for further information, profile of the Company and additional employment opportunities. For consideration, please send your resume in text format to: mailto:resumes@objectgems.com or call: Office: 703-917-6625 Fax: 703-893-8283 Ask for Dennis Laibson or Mark Cruver
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.mac.scitech,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: 24 Apr 1997 06:43:50 GMT Organization: Digital Fix Development Message-ID: <5jmvf6$5ap$1@news.digifix.com> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> <Pine.HPP.3.93.970423235642.4609C-100000@lily.ee.cornell.edu> In-Reply-To: <Pine.HPP.3.93.970423235642.4609C-100000@lily.ee.cornell.edu> On 04/23/97, "m.kangas" wrote: >On Wed, 23 Apr 1997, Java G wrote: > >> Interestingly, Apple are dumping GameSprockets and going for a corporate >> image when they really should be competing with MS's w95 gaming strategy. <snip> >Secondly, wrt. "dumping GameSprockets"... I don't know the low-level >details, but I'm guessing that making GameSprockets work on Mach >would be extremely non-trivial. Perhaps by not commiting to >delivering GameSprockets, they've simply allowed themselves to >bring Rhapsody to market sooner (and on a more solid shipping >schedule). They can always slip it in later. Strategically, to >"compete with MS's win95 gaming strategy" (which NOBODY, imo, gives >a hoot about) would amount to shadowboxing and Apple knows it. Actually, GameSprockets capabilities are being built into Rhapsody according to the sprockets guy.. You'll be able to do everything you can with Sprockets from Rhapsody.. -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: chrisp@sax.sax.de (Christoph Pfisterer) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 19:55:34 +0200 Organization: private site, Dresden, Germany Message-ID: <chrisp-ya023080002404971955340001@gimli> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit don_arb@wolfenet.com (Don Arbow) wrote: >In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox ><pmaddox@ridgecrest.ca.us> wrote: > >: Apple's strategy for the future seems solid. >: They have superior hardware, the PowerMac, which just this week hit >: 300 MHz-- a clear win for the PowerPC Platform >: over the competition. >: To run this great hardware, they have a superior OS on the way -- >: Rhapsody, which will bring new meaning to the word >: modern and its associated buzzwords, and give some already impressive >: hardware a large performance boost. >: What Apple does not seem to have, however, is the crucial third piece >: of the computer puzzle-- applications. In order to >: make their new strategy compelling to the average consumer, Apple needs >: the support of developers to make office tools, >: games, and other applications that take advantage of this great hardware >: and OS. Without this support, and a large measure of >: it, Apple will go nowhere. >: Enter the Developer1s Coalition, a well-researched, hard-thought >: answer to this problem, and one that should put all support >: for Be and other alternatives out of the picture for good. >: > >Someone already beat you to that idea. Check out AIMED, the Association >of Independent Macintosh Engineers and Developers. The group was formed >over a year ago, but I haven't heard much from them lately. Their home >page is located at: Well, AIMED is just an association of developers and AFAIK it's not backed up by any bigger company. The idea with this "Developers Coalition" is that _Apple itself_ and the clone makers launch a joint effort to support software developers, especially small, innovative start-ups and the like. Get the picture? -- Christoph "bIQHurgh" Pfisterer "Now the world has gone to bed, chrisp@sax.sax.de Darkness won't engulf my head, http://www.sax.de/~chrisp/ I can see by infra-red, PGP key available How I hate the night." -Marvin
From: jrudd@cygnus.com (John Rudd) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer,comp.sys.mac.advocacy,comp.sys.mac.programmer.tools Subject: Re: DISCUSS: Changes to Objective C syntax by NeXT (Java)? Date: 24 Apr 1997 19:33:19 GMT Organization: Cygnus Solutions Message-ID: <5joci0$20q$1@majipoor.cygnus.com> References: <5jkdar$328$1@nntp2.ba.best.com> Cc: kcd@jumpgate.com For those who were concerned that Apple was going to destroy the grace and beauty of Nextstep/Openstep, you may find the discussion with this subject on comp.lang.objective-c to be worth reading. Apple wants Objective-C to have a more C++ like syntax. -- John "kzin" Rudd jrudd@cygnus.com http://www.cygnus.com/~jrudd =========Intel: Putting the backward in backward compatible.============ Smalltalk == Astronaut's tools. Awkward at first, but exceptional design C++ == A hammer. A SLEDGEHAMMER. Not cast metal, a big rock on a stick.
From: andylee@ucla.edu (Andy Lee) Newsgroups: comp.sys.next.programmer Subject: NXBrowser: How to resize column dynamically? Date: Thu, 24 Apr 1997 07:31:47 GMT Organization: University of California, Los Angeles Message-ID: <335f0ab2.14430314@news.ucla.edu> Hello All, Time for a real programming question. :-) How do I dynamically set a NXBrowser's visible column? I have an inspector panel with a 2 column NXBrowser that is sufficient half of the time. So I would like to make it 3 columns only when it is needed. I have experimented with [NXBrowser setMaxVisibleColumns:3] and [NXBrowser setMinColumnWidth:] without success... Any help or suggestion is greatly appreciated. Thanks. Andy Lee andylee@netcom.com andylee@ucla.edu
From: kolbjorn.aambo@ub.uio.no (Kolbjørn Aambø) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 09:48:07 +0100 Organization: UBO Message-ID: <kolbjorn.aambo-2404970948070001@ubmac86.uio.no> References: <335C1958.CE3@ridgecrest.ca.us> In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox <pmaddox@ridgecrest.ca.us> wrote: > Apple's strategy for the future seems solid. > They have superior hardware, the PowerMac, which just this week hit > 300 MHz-- a clear win for the PowerPC Platform > over the competition. > To run this great hardware, they have a superior OS on the way -- > Rhapsody, which will bring new meaning to the word > modern and its associated buzzwords, and give some already impressive > hardware a large performance boost. : > Picture: > * A new organization in which the various, usually competing, Mac > hardware vendors *all* come together to encourage and > fund development for the Mac OS-- a group composed of not just the AIM > triad (Apple, IBM, Motorola), but also the 12 or so > cloners, both large and small. That Idea is allready taken by 100%Pure Java. I think Apple should rather cooperate with 100%Pure Java and make a Operating System that are implementing threading as well between application processes as it seems to be able to do within Application Processes now. If the Mac in a year is not the best Java Machine to develop on and to use I guess a lot of people will look for something else. At least my impression of things like Java2D is just as well as that of NextSteps Display PostScript. In a year I think that will be obvious to more people. As many other people I am angry because apple is playing catch-up on Java because it had all it brains emerged in OpenDoc and or Copeland. May be Apple should hire more women since they seems more able to have more than one thought in their head simultaneously.
From: gerald@kurt.in-berlin.de (Gerald Erdmann) Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 23 Apr 1997 21:10:05 GMT Organization: Private NEXTSTEP site, Germany Message-ID: <5jltrd$u1l@mimi.in-berlin.de> References: <5jkpnl$rt@merkur.lynet.de> Cc: andreas@lynet.de In <5jkpnl$rt@merkur.lynet.de> Andreas Hoeschler wrote: > Hello, > > I'm going to develop software for OpenStep and therefore seek some good books > about this matter. I tried to get through DISCOVERING OPENSTEP: A DEVELOPER > TUTORIAL, but this book is quite hard stuff and I quickly lost the overview. > I would appreciate literature with more smaller steps, to be easily > introduced to OpenStep-Programming. I already have DEVELOPING BUSINESS > APPLICATIONS WITH OPENSTEP, but this one is rather a rough introduction to > the matter and not enough detailed to really get it working. Any suggestions? Hi Andreas! The next release of the NEXTTOYOU magazine (http://www.nexttoyou.de) will cover almost all books about NEXTSTEP and OPENSTEP which are available at this time. This issue will be available in two month. During this time take a look at Backlin: Developing NeXTSTEP Applications, ISBN 0-672-30658-1. Gerald -- --------------------------------------------------------------------- | GERALD ERDMANN | email: gerald @ kurt.in-berlin.de (NeXTmail welcome) | voice: +49 30 397 31 400 (Germany - Berlin) | crypt: pgp2 public key available |
From: devon@onyx-tech.com (Devon Hubbard) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 11:25:20 -0700 Organization: Onyx Technology, Inc. Message-ID: <devon-2404971125210001@cust5.max2.phoenix.az.ms.uu.net> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <novinger-ya02408000R2404971036270001@news.cc.ukans.edu> In article <novinger-ya02408000R2404971036270001@news.cc.ukans.edu>, novinger@eecs.ukans.edu (Nantes) wrote: > While I like to see groups like AIMED, they are not the saem thing as the >Developers Coalition. From what I unbderstand, the DC would be an >outspoken pro-mac force. they would not only help developers with >resources, amrketing, job recruting, but would also evangelise the Mac in >general. This is exactly what AIMED was created for. AIMED needs to grow into a outspoken pro-Mac force with a large body of developers behind it. >The idea is that the coalition be funded by the Mac powers that be (Apple, >Motorola, UMAX, Power, APS, etc.). They would advertise the platform as >well as the superior PowerPC processor. In order to successfully achieve aforementioned goal, it'd be pretty hard to be out-spoken if the Mac powers we may criticize at times are paying the bills. This is the same reason we didn't want to be directly sponsored by a large vendor or publication. You can't truly remain independent when your hand is in someone else's pocket. Let's continue this thread on the <aimed-talk@aimed.org> mailing list. Subscription is possible through the web site at <http://www.aimed.org/>. Cheers, dEVoN Hubbard Onyx Technology, Inc.
From: devon@onyx-tech.com (Devon Hubbard) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Thu, 24 Apr 1997 10:50:26 -0700 Organization: Onyx Technology, Inc. Message-ID: <devon-2404971050290001@cust5.max2.phoenix.az.ms.uu.net> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> <5jlj30$guk$1@ironhorse.plsys.co.uk> <novinger-ya02408000R2404971004260001@news.cc.ukans.edu> In article <novinger-ya02408000R2404971004260001@news.cc.ukans.edu>, novinger@eecs.ukans.edu (Nantes) wrote: >Guys this is all well and good to debate, but what about this Developer's >Coalition idea? What do you think? > >I think we as Mac programmers should be very interested. Just my $.02 Well said. Since this thread seems to be of interest to a few folks I'd really like to suggest discussion like this continue on the aimed-talk@aimed.org mailing list. There you can discuss the coalition topic with a group of people already working toward a similar goal and discuss other topics as well in a more realtime environment (a losely used term considering newsgroup postings aren't as timely as a mailing list). Subscription information for AIMED mailing lists can be found on the web site at <http://www.aimed.org/>. Cheers, dEVoN Hubbard Onyx Technology, Inc.
From: andreas@lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 25 Apr 1997 07:43:46 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5jpnbi$e5@merkur.lynet.de> References: <5jkpnl$rt@merkur.lynet.de> <5jmn9m$2j5$1@news.digifix.com> Cc: sanguish@digifix.com > There is a list of available OpenStep books at > > http://www.stepwise.com/Resources/Books > Most of these books are a few years old! (1991-1993) Is this a problem or are they still valid and uptodate with OpenStep 4.1 Mach ?
From: Žiboehme@abm08.abm.de (Ivo Boehme) Newsgroups: comp.sys.next.programmer Subject: Re: NXBrowser: How to resize column dynamically? Date: 25 Apr 1997 11:33:45 GMT Organization: Nacamar Data Communications Message-ID: <5jq4qp$hdp$1@news.nacamar.de> References: <335f0ab2.14430314@news.ucla.edu> Andy, I experienced the same behavior. However, it was ok for me to drag the NXBrowser (in Interface Builder) to the desired column size. I'd be interested too in a dynamic solution. >Time for a real programming question. :-) Absolutely true. Just state that you prefer C++ Syntax over ObjC's and this group becomes unreadable for month ;-) Cheers, Ivo andylee@ucla.edu (Andy Lee) wrote: >Hello All, > >Time for a real programming question. :-) > >How do I dynamically set a NXBrowser's visible column? I have an >inspector panel with a 2 column NXBrowser that is sufficient half of >the time. So I would like to make it 3 columns only when it is >needed. I have experimented with [NXBrowser setMaxVisibleColumns:3] >and [NXBrowser setMinColumnWidth:] without success... > >Any help or suggestion is greatly appreciated. > >Thanks. > >Andy Lee >andylee@netcom.com >andylee@ucla.edu
From: mmalcolm crawford <malcolm@plsys.co.uk> Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: 25 Apr 1997 11:19:21 GMT Organization: P&L Systems Message-ID: <5jq3vp$4vp$1@ironhorse.plsys.co.uk> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> <5jlj30$guk$1@ironhorse.plsys.co.uk> <5jm5e4$g54@sun-cc204.lboro.ac.uk> In-Reply-To: <5jm5e4$g54@sun-cc204.lboro.ac.uk> On 04/24/97, J.C.Highfield@lboro.ac.uk wrote: >In article <5jlj30$guk$1@ironhorse.plsys.co.uk>, >mmalcolm crawford <malcolm@plsys.co.uk> wrote: >>Wrong. We're porting applications at the moment (including Mesa, the >>leading spreadsheet for NEXTSTEP), and so are others. We might even have >>stuff to show at WWDC (a bit of a tall order, but a possibility). > >Um, what exactly are you porting to - OpenStep? > Yes, which should give a good basis for Rhapsody. As soon as we have a copy of Rhapsody we will ensure it runs on it. Best wishes, mmalc. -- Malcolm Crawford (NeXTmail) malcolm@plsys.co.uk Tel: +44 (0)1494 432422 P & L Systems Fax: +44 (0)1494 432478 http://www.plsys.co.uk/~malcolm
From: johns@efn.org (John Selhorst) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Fri, 25 Apr 1997 05:37:19 -0700 Organization: himself Message-ID: <johns-2504970537200001@dynip113.efn.org> References: <335C1958.CE3@ridgecrest.ca.us> <don_arb-2204971201020001@news1.wolfenet.com> <nagleE93n0E.715@netcom.com> <5jlj30$guk$1@ironhorse.plsys.co.uk> In article <5jlj30$guk$1@ironhorse.plsys.co.uk>, mmalcolm crawford <malcolm@plsys.co.uk> wrote: >On 04/23/97, John Nagle wrote: >> Realistically, nothing is going to happen on the application front >>until Rhapsody ships to developers. >> >Wrong. We're porting applications at the moment (including Mesa, the >leading spreadsheet for NEXTSTEP), and so are others. We might even have >stuff to show at WWDC (a bit of a tall order, but a possibility). This is rather interesting. Are you porting from NextStep (sp?) to OpenStep? It seems that porting to the PowerPC is rather trivial, if the tools are ready. What hardware/software are you using to port Mesa, which I assumed was already OpenStep compatible. I hope Apple is actively supporting your efforts. Johnny
From: andreas@lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: Dynamically loading a DialogWindow from a Bundle Date: 25 Apr 1997 14:19:22 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5jqeha$5v9@merkur.lynet.de> Hello, in the file CreatingDynamicallyLoadableBundles.rtfd of the OnlineDocu is described, how I can store resources in a bundle. I first gave the pricipal class of the bundle a method like (NSString *)getAString; and tried to call it from the main-project like it is described in the document mentioned above. It worked very fine and I could print the String on the screen. Next I defined a Window in the nibFile of the bundle and wanted to open and close the window with the following methods of the principal class. - (void)showWindow:(id)sender { [myWin makeKeyAndOrderFront:sender]; } - (void)closeWindow:(id)sender { [myWin close]; } I have made the definition 'id myWin; ' in the headerfile of the principal class and connected this outlet to the window in InterfaceBuilder, but when I call showWindow: from the mainProject (this shall be my loadPanel-method) nothing happens. Why that? Can anyone give me an example of the loadPanel-method mentioned in the Document CreatingDynamicallyLoadableBundles.rtfd of the Online-Docu? I do not get any further on my own. Thank you in advance!
From: don@globalobjects.com (Don Yacktman) Newsgroups: comp.sys.next.programmer Subject: Re: Libraries and Framework with OpenStep Date: 24 Apr 1997 17:40:10 GMT Organization: Global Objects Inc. Message-ID: <5jo5tq$1qo$2@news.xmission.com> References: <5jnof0$a15@hpuniv.univ-lr.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit yannick buisson (université de La Rochelle) wrote: > [...] > I manage to compile my project but when i try to run it, i have this followinf error !! > > -- Task 'PERSONNEL.app' started on 1997-04-24 15:38:08 +0200 -- > Apr 24 15:38:25 PERSONNEL[3963] *** Uncaught exception: <NSArchiverArchiveInconsistency> *** class error for > 'SwapController': class not loaded That error typically appears if the app wasn't linked right. Remember to do this with the linker: a -L flag to point to where the library is installed use the -ObjC flag so everything in the library gets linked add the library to the project The new PB should be able to help you manage all that stuff... This is a FAQ, BTW. Very common problem and those three things above are almost always the solution to the problem. See also: http://www.misckit.com/faq/using.html -- Later, -Don Yacktman don@misckit.com <a href="http://www.misckit.com/don.html">My home page</a>
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 25 Apr 1997 19:47:00 GMT Organization: Digital Fix Development Message-ID: <5jr1nk$k3s$1@news.digifix.com> References: <5jkpnl$rt@merkur.lynet.de> <5jmn9m$2j5$1@news.digifix.com> <5jpnbi$e5@merkur.lynet.de> In-Reply-To: <5jpnbi$e5@merkur.lynet.de> On 04/24/97, Andreas Hoeschler wrote: >> There is a list of available OpenStep books at >> >> http://www.stepwise.com/Resources/Books >> >Most of these books are a few years old! (1991-1993) >Is this a problem or are they still valid and uptodate with >OpenStep 4.1 Mach ? > The language based books are probably still very useful.. The new OpenStep specific books are both VERY good. The older stuff doesn't cover the current APIs, but does give you a good sense of the overall environment for development. -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: mem@jhu.edu (Mel Martinez) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Fri, 25 Apr 1997 10:57:52 -0400 Organization: horse and dog Message-ID: <mem-ya02408000R2504971057520001@news.jhu.edu> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <1997Apr23.132544.68046@ucl.ac.uk>, hammond_g@drkclu.meng.ucl.ac.uk (Java G) wrote: > > Interestingly, Apple are dumping GameSprockets and going for a corporate > image when they really should be competing with MS's w95 gaming strategy. > According to information reported on MacInTouch (http://www.macintouch.com and other sources, the GameSprockets team is still pretty much intact and GS is still alive at least on MacOS 7/8 & Rhapsody Blue Box for the next few years. The only unknown is whether they will port GS to Rhapsody Yellow Box - the comment on this from one of the team members was essentially that even _they_ don't know if that is worth doing or not. If it seems viable and worthwhile (developer demand and no worthy alternative) then they will probably be steered towards doing so. Otherwise not. I am beginning to believe this is the case with several of the Apple Technologies that have been supposedly 'dropped'. Most are actually simply going into maintenance mode. While this is aggravating in several particular instances and seems to pull the rug on many developers (okay, it IS pulling the rug on many OpenDoc developers) it does allow Apple to keep their promises to a minimum and hopefully ensure a quicker native delivery of Rhapsody. Later, Apple could pull a change a heart on any one or more of these items as circumstances dictate. I just hope they do a full and robust implementation of AppleScript that allows strong communication between the Yellow and Blue boxes. But we are off-topic. A strong pro-mac/rhapsodyOS developer coalition would certainly not be a bad thing, but the devil is in the details. Gotta go. Mel Martinez The Johns Hopkins University Dept. of Physics mem@jhu.edu
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: 25 Apr 1997 21:36:04 GMT Organization: Digital Fix Development Message-ID: <5jr844$m66$1@news.digifix.com> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> <mem-ya02408000R2504971057520001@news.jhu.edu> In-Reply-To: <mem-ya02408000R2504971057520001@news.jhu.edu> On 04/25/97, Mel Martinez wrote: > >In article <1997Apr23.132544.68046@ucl.ac.uk>, >hammond_g@drkclu.meng.ucl.ac.uk (Java G) wrote: >> >> Interestingly, Apple are dumping GameSprockets and going for a corporate >> image when they really should be competing with MS's w95 gaming strategy. >> > >According to information reported on MacInTouch (http://www.macintouch.com >and other sources, the GameSprockets team is still pretty much >intact and GS is still alive at least on MacOS 7/8 & Rhapsody Blue >Box for the next few years. The only unknown is whether they will >port GS to Rhapsody Yellow Box - the comment on this from one of >the team members was essentially that even _they_ don't know if >that is worth doing or not. This is pretty much right from the sprockets-mouth While Game Sprockets on its own isn't necessarily an easy sell, the capabilities it offers are coming to Rhapsody... When it comes right down to it, thats what is important. From http://www.stepwise.com Date: Wed, 9 Apr 1997 From: Chris De Salvo To: mac-games-dev@solutions.apple.com Subject: The state of Sprockets I don't know where the rumors start about the fate/state of Sprockets, but let me set the record straight... Nothing is dying, nothing is being cut, nothing is being omitted. Period. All of the Sprockets will continue to exist in the Mac OS world. Mac OS will continue to exist for at LEAST another two years, probably more. As far as Rhapsody goes, there is no guarantee that the Sprockets API set will be present. However, ALL of the FUNCTIONALITY will be present, it just might be part of a different API. For instance, the new OpenStep NSDirectScreen class provides all of the context and CLUT operations that DrawSprocket provides. It will soon provide the double-buffering functionality we need as well. -- Scott Anguish <sanguish@digifix.com> NEXTSTEP/OpenStep Information <URL:http://www.stepwise.com>
From: Alessandro Sforza <mc4217@mclink.it> Newsgroups: comp.sys.next.programmer Subject: NextStep Developer 3.x Date: Sat, 26 Apr 1997 01:23:57 +0200 Organization: MC-link The World On Line Message-ID: <33613D0D.372E@mclink.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Just a question: is NeXTStep Developer 3.3 POSIX compliant ? If not, which is the version number I should buy to have all the POSIX stuff ? Incidentally, I use NS 3.3 for Intel. Thanks. Mario. P.S. Please, reply to mc6983@mclink.it
From: Jonathan Hendry <jhendry@cts.com> Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: Fri, 25 Apr 1997 19:13:14 -0700 Organization: CTS Network Services Message-ID: <336164BA.6A1E@cts.com> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> <mem-ya02408000R2504971057520001@news.jhu.edu> <5jr844$m66$1@news.digifix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cache-Post-Path: optional.cts.com!unknown@p46156242.cts.com Scott Anguish wrote: > > On 04/25/97, Mel Martinez wrote: > > > >In article <1997Apr23.132544.68046@ucl.ac.uk>, > >hammond_g@drkclu.meng.ucl.ac.uk (Java G) wrote: > >> > >> Interestingly, Apple are dumping GameSprockets and going for a > corporate > >> image when they really should be competing with MS's w95 gaming > strategy. > >> > > > >According to information reported on MacInTouch > (http://www.macintouch.com > >and other sources, the GameSprockets team is still pretty much > >intact and GS is still alive at least on MacOS 7/8 & Rhapsody Blue > >Box for the next few years. The only unknown is whether they will > >port GS to Rhapsody Yellow Box - the comment on this from one of > >the team members was essentially that even _they_ don't know if > >that is worth doing or not. > > This is pretty much right from the sprockets-mouth > > While Game Sprockets on its own isn't necessarily an easy > sell, the capabilities it offers are coming to Rhapsody... > > When it comes right down to it, thats what is important. > Exactly. If all Apple did was directly port the old technologies over, it would be as bad as Microsoft's Mac software. Microsoft's Mac apps are Windows at the core, with only the slightest accomodation of the Mac way of doing things. And you can tell. Apple has to look at the old Mac OS technologies, and figure out how they would best be implemented in the new OS. Things like Game Sprockets should be redesigned to take the most advantage of the capabilities of Rhapsody. MacOS didn't have Mach messages, or distributed objects, or a dynamic OOP language as the preferred implementation language. Rhapsody does, and Apple should rearchitect their technologies to take advantage of them. - Jon
From: "Margaret" <margaret@osgcorp.com> Newsgroups: comp.sys.next.programmer Subject: NeXTSTEP Consultants NEEDED Date: 26 Apr 1997 17:38:14 GMT Organization: OnRamp Technologies, Inc.; ISP Message-ID: <01bc5269$3907fdc0$1bc832ce@margaret.onramp.net> NeXTSTEP MENTORS AND DEVELOPERS Object Systems Group is a OO technology-based consultancy that provides assistance to Global 1000 corporations. These clients have already made the commitment to move to objects. That means that we can offer you the opportunity to build robust infrastructures, develop good designs, and direct state of the art implementations for large scale OO projects. Our Chief Technical Officer is Bruce Webster who has been involved in software engineering for 20 years and in commercial Object Oriented Development since 1989. Bruce has written numerous articles in technical publications and has also contributed to more than a dozen commerical software products. His most recent books are The Art of Ware and The Pitfalls of Object-Oriented Development. Because OSG has a proven successful OO process and a reputation for excellence, we can keep you progressing in OO technology while you are making contractors wages. OSG pays well, offers good benefits, and requires a minimum one year commitment. Please visit our Web Site at http://www.osgcorp.com PROCESS MENTORS Minimum five years total experience with one year NeXTStep or OpenStep. You will participate in the development of Object Models and will perform all the analysis and design functions for your team as well as educate team members in process, methods, and techniques. TECHNICAL MENTORS Minimum three years experience in NeXTSTEP with at least one of those in a Mentoring role. Also must have strong knowledge or experience with one or more OO Methodologies. NeXTSTEP and or OpenStep Developers If you have a minimum of 2 years experience in a NeXTSTEP environment at any level, we want to talk to you. The project is a new development (no legacy issues). All work must be done on-site. Email resume(No NeXTMAIL accepted) and current salary info in Word, TEXT, or ASCII to: margaret@osgcorp.com
From: maharaj@CSLAB.BEMIDJI.MSUS.EDU (Pradeep Bashyal) Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 Subject: Re: Developers Coalition idea Date: 26 Apr 1997 22:45:08 GMT Organization: BEMIDJI STATE UNIVERSITY Message-ID: <5ju0hk$ktg@Urvile.MSUS.EDU> References: <335C1958.CE3@ridgecrest.ca.us> <1997Apr23.132544.68046@ucl.ac.uk> <mem-ya02408000R2504971057520001@news.jhu.edu> Mmultimedia evangelist for Apple Developer relainos, Tony Tamas, concerning Game Sprockets : GCS Cys: Tony, what is Apple looking towards to replace the GCS Cys: Game Sprockets Developement Package? TonyT: First of all... TonyT: Game Sprocket development continues so we have no TonyT: immediate need to replace Game Sprockets. As far TonyT: as high performance bit mapped graphics for the TonyT: yellow box in Rhapsody, there currently exists an API TonyT: called Interceptor which allows for direct access to TonyT: the frame buffer for high performance drawing which, TonyT: for example, is how ID delivered Quake for OpenStep For full interview, check out.. http://www.devworld.apple.com:80/mkt/WWDC/chat_424transcript.html Pradeep maharaj@vax1.bemidji.msus.edu
From: Mark Purdy<mpurdy@mail.tds.net> Newsgroups: comp.sys.next.programmer Subject: 2 Million E-Mail Addresses $35.95 Date: 26 Apr 1997 23:03:47 GMT Organization: ComPurdy MicroSystems Message-ID: <5ju1kj$nq8@news2.tds.net>
Payment by: Visa, MasterCard, American Express http://www.tds.net/compurdy/2_million
From: sanguish@digifix.com Newsgroups: comp.sys.next.advocacy,comp.sys.next.announce,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.bugs,comp.sys.next.programmer Subject: NEXTSTEP/OpenStep Resources on the Net Supersedes: <26385861508830@digifix.com> Date: 27 Apr 1997 03:59:44 GMT Organization: Digital Fix Development Message-ID: <25195862113623@digifix.com> Topics include: Stepwise NEXTSTEP/OpenStep Information WWW site eduSTEP WWW site NeXT Computer, Inc. WWW site comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers Stepwise NEXTSTEP/OpenStep Information WWW site =============================================== This online community resource includes - ISV company pages - ISV product descriptions - NEXTSTEP Developer Directory - NEXTSTEP Community WhitePages - Mailing List archives and information You can connect via the world wide web at: http://www.stepwise.com/ Suggestions or comments can be directed to me at sanguish@digifix.com If you would like to get your company and product information on Stepwise, please contact me at sanguish@digifix.com. eduSTEP WWW site ================ http://www.nmr.embl-heidelberg.de/eduStep/ eduStep aims to provide up-to-date information on: - NextStep tools and projects for scientists. - Third-party products interesting for the educational and scientific community (with educational discounts noted, where they exist). - A listing of resellers and shops interested in working with customers in the educational community. - Conferences, meetings, workshops - Major projects, such as SciTools, EMBL's project to develop a NextStep scientific work environment - Status reports on GNUStep, a freely-available implementation of OpenStep now being developed NeXT Computer, Inc. WWW site ============================ http://www.next.com comp.sys.next.* newsgroups ========================== news:comp.sys.next.advocacy This is the "why NEXTSTEP is better (or worse) than anything else in the known universe" forum. It was created specifically to divert lengthy flame wars from .misc. news:comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) This is a moderated newsgroup, meaning that you can't post to it directly. Submissions should be e-mailed to next-announce@digifix.com where the moderator (Scott Anguish) will screen them for suitability. Messages posted to announce should NOT be posted or crossposted to any other comp.sys.next groups. news:comp.sys.next.bugs A place to report verifiable bugs in NeXT-supplied software. Material e-mailed to Bug_NeXT@NeXT.COM is not published, so this is a place for the net community find out about problems when they're discovered. This newsgroup has a very poor signal/noise ratio--all too often bozos post stuff here that really belongs someplace else. It rarely makes sense to crosspost between this and other c.s.n.* newsgroups, but individual reports may be germane to certain non-NeXT- specific groups as well. news:comp.sys.next.hardware Discussions about NeXT-label hardware and compatible peripherals, and non-NeXT-produced hardware (e.g. Intel) that is compatible with NEXTSTEP. In most cases, questions about Intel hardware are better asked in comp.sys.ibm.pc.hardware. Questions about SCSI devices belong in comp.periphs.scsi. This isn't the place to buy or sell used NeXTs--that's what .marketplace is for. news:comp.sys.next.marketplace NeXT stuff for sale/wanted. Material posted here must not be crossposted to any other c.s.n.* newsgroup, but may be crossposted to misc.forsale.computers.workstation or appropriate regional newsgroups. news:comp.sys.next.misc For stuff that doesn't fit anywhere else. Anything you post here by definition doesn't belong anywhere else in c.s.n.*--i.e. no crossposting!!! news:comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. Generic UNIX questions belong elsewhere (comp.unix.questions), although specific questions about NeXT's implementation or porting issues are appropriate here. Note that there are several other more "horizontal" newsgroups (comp.lang.objective-c, comp.lang.postscript, comp.os.mach, comp.protocols.tcp-ip, etc.) that may also be of interest. news:comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. news:comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. Related Newsgroups ================== news:comp.soft-sys.nextstep Like comp.sys.next.software and comp.sys.next.misc combined. Exists because NeXT is a software-only company now, and comp.soft-sys is for discussion of software systems with scope similar to NEXTSTEP. news:comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. news:comp.object Technical talk about OOP in general. Lots of C++ discussion, but NeXT and Objective-C get quite a bit of attention. At times gets almost philosophical about objects, but then again OOP allows one to be a programmer/philosopher. (The original comp.sys.next no longer exists--do not attempt to post to it.) Exception to the crossposting restrictions: announcements of usenet RFDs or CFVs, when made by the news.announce.newgroups moderator, may be simultaneously crossposted to all c.s.n.* newsgroups. Getting the Newsgroups without getting News =========================================== Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep next-advocacy next-announce next-bugs next-hardware next-marketplace next-misc next-programmer next-software next-sysadmin object lang-objective-c (For a full description, send mail to listserv@antigone.com). The subscription syntax is essentially the same as Majordomo's. To subscribe, send a message to *-request@lists.best.com saying: subscribe where * is the name of the list e.g. next-programmer-request@lists.best.com The ftp sites ============= ftp://ftp.next.peak.org - The main site for North American submissions formerly ftp.cs.orst.edu ftp://ftp.informatik.uni-muenchen.de: - (Peanuts) Located in Germany. ftp://ftp.dn.net/pub/next - Peanuts mirror in the US ftp://terra.stack.urc.tue.nl - (Dutch NEXTSTEP User Group) ftp://cube.sm.dsi.unimi.it - (Italian NEXTSTEP User Group) ftp://ftp.nmr.embl-heidelberg.de/pub/next - eduStep ftp://ftp.next.com: - See below ftp.next.com and NextAnswers@next.com ===================================== [from the document ftp://ftp.next.com/pub/NeXTanswers/1000_Help] Welcome to the NeXTanswers information retrieval system! This system allows you to request online technical documents, drivers, and other software, which are then sent to you automatically. You can request documents by fax or Internet electronic mail, read them on the world-wide web, transfer them by anonymous ftp, or download them from the BBS. NeXTanswers is an automated retrieval system. Requests sent to it are answered electronically, and are not read or handled by a human being. NeXTanswers does not answer your questions or forward your requests. USING NEXTANSWERS BY E-MAIL To use NeXTanswers by Internet e-mail, send requests to nextanswers@next.com. Files are sent as NeXTmail attachments by default; you can request they be sent as ASCII text files instead. To request a file, include that file's ID number in the Subject line or the body of the message. You can request several files in a single message. You can also include commands in the Subject line or the body of the message. These commands affect the way that files you request are sent: ASCII causes the requested files to be sent as ASCII text SPLIT splits large files into 95KB chunks, using the MIME Message/Partial specification REPLY-TO address sets the e-mail address NeXTanswers uses These commands return information about the NeXTanswers system: HELP returns this help file INDEX returns the list of all available files INDEX BY DATE returns the list of files, sorted newest to oldest SEARCH keywords lists all files that contain all the keywords you list (ignoring capitalization) For example, a message with the following Subject line requests three files: Subject: 2101 2234 1109 A message with this body requests the same three files be sent as ASCII text files: 2101 2234 1109 ascii This message requests two lists of files, one for each search: Subject: SEARCH Dell SCSI SEARCH NetInfo domain NeXTanswers will reply to the address in your From: line. To use a different address either set your Reply-To: line, or use the NeXTanswers command REPLY-TO If you have any problem with the system or suggestions for improvement, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY FAX To use NeXTanswers by fax, call (415) 780-3990 from a touch-tone phone and follow the instructions. You'll be asked for your fax number, a number to identify your fax (like your phone extension or office number), and the ID numbers of the files you want. You can also request a list of available files. When you finish entering the file numbers, end the call and the files will be faxed to you. If you have problems using this fax system, please call Technical Support at 1-800-848-6398. You cannot use the fax system outside the U.S & Canada. USING NEXTANSWERS VIA THE WORLD-WIDE WEB To use NeXTanswers via the Internet World-Wide Web connect to NeXT's web server at URL http://www.next.com. USING NEXTANSWERS BY ANONYMOUS FTP To use NeXTanswers by Internet anonymous FTP, connect to FTP.NEXT.COM and read the help file pub/NeXTanswers/README. If you have problems using this, please send mail to nextanswers-request@next.com. USING NEXTANSWERS BY MODEM To use NeXTanswers via modem call the NeXTanswers BBS at (415) 780-2965. Log in as the user "guest", and enter the Files section. From there you can download NeXTanswers documents. FOR MORE HELP... If you need technical support for NEXTSTEP beyond the information available from NeXTanswers, call the Support Hotline at 1-800-955-NeXT (outside the U.S. call +1-415-424-8500) to speak to a NEXTSTEP Technical Support Technician. If your site has a NeXT support contract, your site's support contact must make this call to the hotline. Otherwise, hotline support is on a pay-per-call basis. Thanks for using NeXTanswers! _________________________________________________________________ Written by: Eric P. Scott ( eps@toaster.SFSU.EDU ) and Scott Anguish ( sanguish@digifix.com ) Additions from: Greg Anderson ( Greg_Anderson@afs.com ) Michael Pizolato ( alf@epix.net ) Dan Grillo ( dan_grillo@next.com )
From: Me<Someone@nowhere.com> Newsgroups: comp.sys.next.programmer Subject: COME SEE THE HOTTEST SITES ON THE WEB!!!!!!!!!!!!!!!! Date: 27 Apr 1997 12:19:54 GMT Organization: Netcom Message-ID: <5jvg9a$3gh@dfw-ixnews6.ix.netcom.com> http://ads.sexroulette.com/cgi-win/trax.exe?972 (FREE XXX VIDEO 24/7) (TONS OF PIXXXS and MOVIES) http://megatrondata.com/PleasureIsland/index.htm ( LIVE VIDEO SEX FROM AMSTERDAM!!!! ) (LIVE WOMEN and MEN at your disposal as low as $.89 a minute....bettter than $2.99) FANTASTIC!!!!! Satisfaction Guaranteed!!!!!!!!!!!!!!!!!!!!!! ---------------------------------------------------------------------- This message is being brought to you by Dynamic Mail software - the powerful online marketing tool to explode your business easier and faster. For more information please visit our web site at : http://www.australia.net.au/~apexpi/dynamail.htm ----------------------------------------------------------------------
Date: 27 Apr 1997 12:33:50 GMT From: clewis@ferret.ocunix.on.ca (Chris Lewis) Sender: Me<Someone@nowhere.com> Message-ID: <cancel.5jvg9a$3gh@dfw-ixnews6.ix.netcom.com> Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <5jvg9a$3gh@dfw-ixnews6.ix.netcom.com> Control: cancel <5jvg9a$3gh@dfw-ixnews6.ix.netcom.com> SEXROUL spam cancelled by clewis@ferret.ocunix.on.ca Original Subject: COME SEE THE HOTTEST SITES ON THE WEB!!!!!!!!!!!!!!!! Total spams this type to date: 1908 Total this spam type for this user to date: 1739
From: hugues@precipice.fdn.fr (Hugues RICHARD) Newsgroups: comp.sys.next.programmer Subject: Re: [Unicode] Looking for text editor Date: 27 Apr 1997 10:05:03 GMT Organization: Individual - France Message-ID: <5jv8cf$lv2@precipice.fdn.fr> References: <rbarris-ya023280002104971514470001@news.intelenet.com> <5jhc0j$4nd$1@news.digifix.com> <rbarris-ya023280002204971105020001@news.intelenet.com> rbarris@quicksilver.com (Rob Barris) wrote: > > I got one reply in e-mail that indicated [ paraphrased ] "The Text >object is Unicode based as of OpenStep 4.1, but there is no standard >text-entry method for other languages." True? > > ( It could be a tad difficult to create Chinese text in Unicode if >there's no way to enter those characters :) ) There's one standard text-entry method : for Japanese (but you have to buy NS-J...). Otherwise, you could do you own text-entry method (ala NS-J input manager) by using NSText notifications : - (void)textDidBeginEditing:(NSNotification *)aNotification - (void)textDidChange:(NSNotification *)aNotification - (void)textDidEndEditing:(NSNotification *)aNotification with notifications sent data being NSStrings. Hugues. -------------------------------------------------------------------- hugues@precipice.fdn.fr - French, English, Italian and a few JP ->OK ------------ NS3.2 ------------ NS3.0J ------------ :-) ------------
From: planetary <planet@xmission.xmission.com> Newsgroups: comp.sys.next.programmer Subject: EOF question Date: 27 Apr 1997 20:20:15 -0600 Organization: XMission Internet (801 539 0900) Message-ID: <5k11gv$dr0@xmission.xmission.com> I want to connect an RTF text object to an attribute in an EODisplayGroup. Ctrl-dragging a connection doesn't work. I know I don't have to do it programmatically, because the Movies example application, which has an RTF text object connected to an attribute in an EODisplayGroup, doesn't have any custom code. But the Movies application doesn't contain a connection from a text object to an EODisplayGroup--if it did, I could just select the connection in the connections inspector. How can I do this? ......................kris -- Kristopher Magnusson kris@xmission.com (no NeXTmail, please) --------------------------------------------------------------------------- Contains freshness saver packet. DO NOT EAT.
From: "Steve Loranz" <sloranz@king.net> Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin Subject: BIND 4.9.5-P1 on OPENSTEP 4.x Date: 28 Apr 1997 06:29:03 GMT Organization: Kiwi InterNet Group, Inc. Message-ID: <01bc5395$03ddc7b0$09b429ce@fisher> Has anybody built BIND 4.9.5-P1 on OPENSTEP 4.x? I running into problems while building the named binary. It was complaining about _inet_aton being defined multiple times so I put -m in the ldflags to get it to use the symbol defined in libresolv.a within the bind source tree. Apparently, NeXT's cc doesn't understand -m as a linker option. I commented out the cc line in the named makefile and replaced it with a call to ld but then I had a number of undefined symbols. ld should look in the standard lib and include directories, no? I'm including all of the object files and libraries that the cc line had... I'd be happy to get any insight from people who have gotten this package to build. Thanks in advance. -steve
From: yannick buisson (université de La Rochelle) Newsgroups: comp.sys.next.programmer Subject: NSTableView and her subclasses Date: 28 Apr 1997 10:05:44 GMT Organization: Universite de La Rochelle Message-ID: <5k1spo$8r0@hpuniv.univ-lr.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi all, I'm trying to do a subclass of the NSTableView class. I believe lots of things have been changed, so i can't find the initFrame method ... So can someone tell me, the allocation methods that have changed ? When i try to run my app, using this new subclass of NSTableView, i get the followinf message : Apr 28 12:02:18 Swap[1414] *** Assertion failure in -[MagicTableView rectOfColumn:], NSTableView.m:207 Apr 28 12:02:18 Swap[1414] *** Uncaught exception: <NSInternalInconsistencyException> Invalid parameter not satisfying: (column >= 0) && (column < [self numberOfColumns]) Any help would be appreciated !! Best regards, YANNICK -- //// (. .) ----oOO--(_)--OOo-------------------------------------------- Yannick BUISSON Centre de Ressources Informatiques Université de La Rochelle tel prof. : 05 46 45 82 14. fax prof. : 05 46 45 82 45. yannick@cri.univ-lr.fr
From: Jelske.Kloppenburg@gmd.de Newsgroups: comp.sys.next.programmer Subject: Re: Addressbook format? Date: 28 Apr 1997 10:13:03 GMT Organization: GMD, Sankt Augustin, Germany Message-ID: <5k1t7f$sm1@omega.gmd.de> References: <5jgial$5ot$1@inet-prime.comshare.com> In-Reply-To: <5jgial$5ot$1@inet-prime.comshare.com> On 04/22/97, alanf@izzy.net wrote: >greetings etherial composite mind, >Can someone point me an example of how a browser is populated by a >"standard" .addresses file? The contact:group M:M relationship would be >handled nicely by a SQL engine, but I don't think there's a working Public >Domain one. > >Any help is greatly appreciated. > >Regards, >Alan Frabutt (alanf@izzy.net) > > If you want to program, I have made me an Application with a browser for searching a name in my "Addresses" and then to call the telefone number whith the ISDN telefone. If you enclose the content of the .addresses file in curly brackets NSString propertyList makes a NSDictionary of it! The elements concerning the .addresses files are: NSString *addressbookDir; NSDictionary *bookContent; === addressbookDir = [[[NSHomeDirectory() stringByAppendingPathComponent:@"Libra ry"] stringByAppendingPathComponent:@"A ddresses"] retain]; === - (void)getBookNames (get names using NSDirectoryEnumerator) === bookContent = [[[[[NSArray arrayWithObjects:@"{", [NSString stringWithContentsOfFile:fullPathName], @"}", nil] componentsJoinedByString:@"\n"] propertyList] objectForKey:@"Contents"] retain]; === Regards j.k. -- Jelske Kloppenburg, +49 2241 14-2433, <Jelske.Kloppenburg@gmd.de> GMD - German National Research Center for Information Technology "Don't kill the Winners!" Dennis Tsichritzis
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: bugs in OPENSTEP Enterprise 4.1 for NT Date: 14 Apr 1997 14:37:44 GMT Organization: Rockwell Collins Message-ID: <5itffo$2qm2@castor.cca.rockwell.com> References: <5ilfft$ph3$1@news1.xs4all.nl> Cc: jwdb@fygir.nl In <5ilfft$ph3$1@news1.xs4all.nl> Jan-Willem de Bruijn wrote: > > * pswrap does not automatically create the intermediate subdirectory > with name of the subproject, inside the derived_src directory. I have > to do it by hand. > Dit it ever ? I would like to know how to use that feature. > > So far, for the rest it seems to compile OK. Although we have found > some UNIX specific things in our code, like popen, crypt. And 'struct > tm' from <time.h> is not the same, but these can all be worked around. > > Oh, one thing: maybe somebody has a pointer to a yacc/lex replacement > for Windows NT, that can be called from within the Makefiles? > MKS LEX/YACC are good products.
From: josh hoge <joshhoge@coe.uga.edu> Newsgroups: comp.sys.next.programmer Subject: HELP! C++ problems/questions NS3.2 Date: Mon, 14 Apr 1997 20:02:15 -0400 Organization: The University of Georgia Message-ID: <3352C587.18C3@coe.uga.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi. I have a simple question concerning programming in C++ in NS3.2: Are there any C++ header libraries (i.e.= iostream.h) in NS 3.2? If not, how do I go about getting/installing them? Any information/help would be greatly appreciated. Thanks. --Josh
Newsgroups: comp.sys.next.programmer From: *NOSPAM~jbk~@world.std.com (Jeffrey Kane) Subject: Re: Seek work on when OS 4.2 will be released. New features Sender: news@world.std.com (Mr Usenet Himself) Message-ID: <*NOSPAM~jbk~-ya02408000R2804971108070001@news.std.com> Date: Mon, 28 Apr 1997 15:08:07 GMT Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 References: <5jchf3$24q@slip.net> <5jel4k$3ve@mulga.cs.mu.OZ.AU> Mime-Version: 1.0 Organization: The World @ Software Tool & Die Any idea on a projected release date (i.e. are they doing final candidates yet)? We've been putting off ordering waiting for the new release (our supplier didn't even reorder, as they were waiting for 4.2 and didn't want 4.1 excess in stock). Jeffrey
Newsgroups: comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.wanted,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.newton.programmer,comp.sys.newton.misc From: sc@netcom.com Subject: FS: World wide dev conference ticket Message-ID: <scE9D0nn.A8x@netcom.com> Organization: Netcom On-Line Services Date: Mon, 28 Apr 1997 17:59:46 GMT Sender: sc@netcom17.netcom.com Apple World wide Dev conference ticket for the week. $900. SC@netcom.com
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 28 Apr 1997 17:24:05 GMT Organization: mother.com Internet Services Message-ID: <01bc53e8$066f8060$042168cf@test1> References: <5jkpnl$rt@merkur.lynet.de> <5jmn9m$2j5$1@news.digifix.com> <5jpnbi$e5@merkur.lynet.de> > > http://www.stepwise.com/Resources/Books > > > Most of these books are a few years old! (1991-1993) > Is this a problem or are they still valid and uptodate with > OpenStep 4.1 Mach ? I think it is a problem, especially as Apple tries to move developers to its next generation OS. Conceptually many of the ideas are the same, and many programmers will do fine with a NEXTSTEP book and an OpenStep API document. However, many [most?] will have problems. Last November I asked Simson Garfinkel about a new OpenStep book and received the following reply. I also spoke to him at a workshop, and he was down about NeXT's future. > On the record, I plan to rewrite my > NeXTSTEP book into OpenSTEP. However, I plan to wait for a stable version > of OpenStep to ship. I do not know if the book will ever be written. Since the Apple purchase of NeXT changed the equation, I thought I would ping him to see if he changed his mind. I received this automatic reply: > Unfortuantely, I'm really busy right now working on a book which is > deadlined at my publisher early this summer. Until then, I am absolutely > not taking on any new projects. Does anyone know what the book is? Todd
From: Stephen Peters <speters@cygnus.com> Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 28 Apr 1997 13:37:36 -0700 Organization: Cygnus Solutions Message-ID: <qdohayvq7j.fsf@blues.cygnus.com> References: <5jkpnl$rt@merkur.lynet.de> <5jmn9m$2j5$1@news.digifix.com> <5jpnbi$e5@merkur.lynet.de> <01bc53e8$066f8060$042168cf@test1> "L. Todd Heberlein" <heberlei@NetSQ.com> writes: [re: Simson Garfinkel] > Since the Apple purchase of NeXT changed the equation, I thought I would > ping him to see if he changed his mind. I received this automatic reply: > > > Unfortuantely, I'm really busy right now working on a book which is > > deadlined at my publisher early this summer. Until then, I am absolutely > > not taking on any new projects. > > Does anyone know what the book is? His `Web Security and Commerce' is due out real soon now from O'Reilly, but I doubt that that's the book he's talking about. -- Stephen L. Peters speters@cygnus.com PGP fingerprint: BFA4 D0CF 8925 08AE 0CA5 CCDD 343D 6AC6 "What, do you think soup is a biped?" -- Crow, MST3K
From: eike@cs.tu-berlin.de (Eike Dierks) Newsgroups: comp.sys.next.programmer Subject: kaffe-0.8.4-m68k-nextstep3.patch Date: 29 Apr 1997 05:20:28 GMT Organization: Technical University of Berlin, Germany Message-ID: <5k40es$bkg$1@news.cs.tu-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit This is a patch for kaffe-0.8.4 so that it runs on black NeXT HW. By appyling this patch I was able to run javac on HelloWorldApp.java and to run the resulting .class file --No other cases tested. This bug may also apply to other kaffe configurations. Maintainer: Please check if there are still more initializations missing in thread.c:startDaemon() and related places -- looks like ... <eike@ilink.de> *** kaffe-0.8.4/kaffe/kaffevm/thread.c Fri Apr 18 09:41:55 1997 --- /Users/eike/src/kaffe-0.8.4/kaffe/kaffevm/thread.c Tue Apr 29 06:39:02 1997 *************** *** 945,950 **** --- 945,954 ---- tid->priority = MAX_THREAD_PRIO; TCTX(tid)->priority = (uint8)tid->priority; tid->next = 0; + + TCTX(tid)->nextalarm = 0; /* eike@ilink.de, 970429 */ + TCTX(tid)->blockqueue = 0; /* eike@ilink.de, 970429 */ + TCTX(tid)->status = THREAD_SUSPENDED; TCTX(tid)->nextlive = liveThreads; liveThreads = tid; *************** *** 1009,1015 **** { ctx *ct; ! ct = checked_malloc(sizeof(ctx) + stackSize); ct->stackBase = (uint8*)(ct + 1); ct->stackEnd = ct->stackBase + stackSize; ct->restorePoint = ct->stackEnd; --- 1013,1019 ---- { ctx *ct; ! ct = checked_calloc(sizeof(ctx) + stackSize, 1); /* eike@ilink.de, 970429 */ ct->stackBase = (uint8*)(ct + 1); ct->stackEnd = ct->stackBase + stackSize; ct->restorePoint = ct->stackEnd;
From: Garance A Drosehn <gad@eclipse.its.rpi.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Seek work on when OS 4.2 will be released. New features Date: 28 Apr 1997 22:09:51 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Message-ID: <5k377f$3mq@usenet.rpi.edu> References: <5jchf3$24q@slip.net> <5jel4k$3ve@mulga.cs.mu.OZ.AU> <*NOSPAM~jbk~-ya02408000R2804971108070001@news.std.com> *NOSPAM~jbk~@world.std.com (Jeffrey Kane) wrote: > > Any idea on a projected release date (i.e. are they doing final > candidates yet)? We've been putting off ordering waiting for > the new release (our supplier didn't even reorder, as they were > waiting for 4.2 and didn't want 4.1 excess in stock). Current guess is "May/June" timeframe. Probably shortly after the WWDC. This guess is on my part, and not based on any insider info... --- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu Senior Systems Programmer (MIME & NeXTmail capable) Rensselaer Polytechnic Institute; Troy NY USA
From: yannick buisson (université de La Rochelle) Newsgroups: comp.sys.next.programmer Subject: return and nextKeyView Date: 29 Apr 1997 10:18:02 GMT Organization: Universite de La Rochelle Message-ID: <5k4hsq$djo@hpuniv.univ-lr.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi all, Just a little question about nextKeyView. When 2 fields are linked with the nextKeyView attribute you can go from one to another by pressing the tab key. How can i do if i want to do the same thing with the return key ?? (like the nextText in NextStep) thanks for your help YANNICK -- //// (. .) ----oOO--(_)--OOo-------------------------------------------- Yannick BUISSON Centre de Ressources Informatiques Université de La Rochelle tel prof. : 05 46 45 82 14. fax prof. : 05 46 45 82 45. yannick@cri.univ-lr.fr
From: uli@tallowcross.uni-frankfurt.de (Uli Zappe) Newsgroups: comp.sys.next.programmer Subject: Re: Books about OpenStep-Programming Date: 29 Apr 1997 11:18:16 GMT Organization: Frankfurt University Computing Center Message-ID: <5k4ldo$15b@tallowcross.uni-frankfurt.de> References: <5jkpnl$rt@merkur.lynet.de> <5jmn9m$2j5$1@news.digifix.com> <5jpnbi$e5@merkur.lynet.de> <01bc53e8$066f8060$042168cf@test1> "L. Todd Heberlein" <heberlei@NetSQ.com> wrote: > Last November I asked Simson Garfinkel about a new OpenStep book and > received the following reply. I also spoke to him at a workshop, and he > was down about NeXT's future. [...] > > Unfortuantely, I'm really busy right now working on a book which is > > deadlined at my publisher early this summer. Until then, I am absolutely > > not taking on any new projects. > > Does anyone know what the book is? Springer announced OPENSTEP Programming Part II for August this year. I'm not sure, though, if Garfinkel is still involved, or if it's just Mahoney. Bye Uli -- _____________________________________________________________________ Uli Zappe E-Mail: uli@tallowcross.uni-frankfurt.de (NeXTMail,Mime,ASCII) PGP on request Lorscher Strasse 5 WWW: - D-60489 Frankfurt Fon: +49 (69) 9784 0007 Germany Fax: +49 (69) 9784 0042 staff member of NEXTTOYOU - the German NEXTSTEP/OPENSTEP magazine _____________________________________________________________________
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin From: G.C.Th.Wierda@AWT.nl (Gerben Wierda) Subject: Re: BIND 4.9.5-P1 on OPENSTEP 4.x Message-ID: <E9EJA3.L0@AWT.NL> Sender: news@AWT.NL Organization: Adviesraad voor het Wetenschaps- en Technologiebeleid References: <01bc5395$03ddc7b0$09b429ce@fisher> Date: Tue, 29 Apr 1997 13:39:39 GMT "Steve Loranz" <sloranz@king.net> wrote: >Has anybody built BIND 4.9.5-P1 on OPENSTEP 4.x? I running into problems There is a BIND-4.9.5 installer package which I created in directory: ftp://ftp.nluug.nl/pub/comp/next/Internet Note, that this is a binary-only package and it only replaces named, nslookup and such, it does not install a new libresolv.a or header files. The new named and nslookup do use the BIND 4.9.5 libresolv.a (if I recall correctly). The reason is as follows: NeXT's resolver functions (gethostbyname() and such) are Netinfo-aware, but they still keep the BIND names. Which means that installing (and using) a libresolv.a from BIND would make Netinfo unavailable for programs linked with libresolv.a. NeXT's BIND installation is special, they have renamed all functions to something like _res_gethostbyname(), and the Netinfo-aware functions (like gethostbyname()) call these functions. If I had enough time, I would probably create a way to make a NeXT MachOS compatible libresolv.a that would give you a way to upgrade to BIND 4.9.5 seamlessly. But I do not know what all the naming conventions for NeXT's adaptation of BIND are, so thus far I have kept that project on hold. If someone can give me a reliable mapping between BIND names (like gethostbyname()) and NeXT names for BIND functions (like _res_gethostbyname()), I'll create a complete installer package, also for Developer installations. And don't forget, NeXT's istallation is multiple-architecture (with several endiannesses), so it is quite a bit of work to get the stuff transparantly working. If I only had the time to do it, I would. So far, let's keep it at named and nslookup, that at least gives you the extra security of running BIND 4.9.5. -- Gerben Wierda, Stafmedewerker Adviesraad voor het Wetenschaps- en Technologiebeleid. Staff member Advisory Council for Science and Technology Policy Javastraat 42, 2585 AP, 's-Gravenhage, The Hague, The Netherlands Tel (+31) 70 3639922 Fax (+31) 70 3608992 http://www.AWT.nl/ "One foolish wise man can state more than a thousand wise fools can question." "Doubters need to understand believes. Believers need not understand doubt."
Newsgroups: comp.sys.next.programmer From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: [NSView subviews] is evil Message-ID: <E9B76H.10v@shinto.nbg.sub.org> Sender: news@shinto.nbg.sub.org Organization: STEPeople's home (A NUGI member) Date: Sun, 27 Apr 1997 18:25:29 GMT Hi, I just ran into this silly problem and want to share my headache with you. Beware...[NSView subviews] is evil because it is badly documented. In order to remove all your subviews one usually would do: mySubviews = [self subviews] for( i=0; i<[mySubviews count]; i++ ) [[mySubviews objectAtIndex:i] removeFromSuperview]; Having done so you will realize that only some views get removed while others get not. The problem here is that -subviews returns a reference to the internal NSArray which really holds the NSViews subviews. It does not return a copy! While we could argue if this is good or bad...the documentation of this method is really evil since under OpenStep/NeXTSTEP it used to be common that methods which return object which are dangerous to mess around are documented to be that way. This is a potential problem with OpenStep as a standard for crossplatform issues. So while the code shown above might work under GNUstep (which might return a true copy of the internal array) under NeXTs OpenStep you must do a: mySubviews = [self subviews] while( [mySubviews count]>0 ) [[mySubviews objectAtIndex:0] removeFromSuperview]; in order to remove the subviews. But this code might not work under GNUstep. I hope that I could save someone out there from the same head scratching I had to go through. Are there more known "documentation-pitfalls" of this type ? Could someone at Apple please fix this for 4.2. Aloha Tomi
Newsgroups: comp.sys.next.programmer From: allan@ali.bc.ca (Allan Noordvyk) Subject: Re: [NSView subviews] is evil Message-ID: <E9EpA3.Gop@gateway.ali.bc.ca> Sender: nobody@gateway.ali.bc.ca Cc: tomi@shinto.nbg.sub.org Organization: ALI Technologies Date: Tue, 29 Apr 1997 15:49:15 GMT References: <E9B76H.10v@shinto.nbg.sub.org> In comp.sys.next.programmer Thomas Engel wrote: > I just ran into this silly problem and want to share my headache with you. > Beware...[NSView subviews] is evil because it is badly documented. > ... > In order to remove all your subviews one usually would do: > > mySubviews = [self subviews] > for( i=0; i<[mySubviews count]; i++ ) > [[mySubviews objectAtIndex:i] removeFromSuperview]; > ... > Having done so you will realize that only some views get removed while others > get not. ... under NeXTs OpenStep you must do a: > > mySubviews = [self subviews] > while( [mySubviews count]>0 ) > [[mySubviews objectAtIndex:0] removeFromSuperview]; > > in order to remove the subviews. But this code might not work under GNUstep. Perhaps a better version is one I frequently use when I don't know (or can't trust) whether a copy or an original of an array is going to be returned: mySubviews = [self subviews]; for( i = [mySubviewsCount]-1; i >= 0; i-- ) { [[mySubviews objectAtIndex:i] removeFromSuperview]; } Since you iterate through the array backwards it won't matter if the items are actually being removed from it while you do so. The removed item will be "behind" you and the remaining items will still be in their original locations in the array. It is also more efficient to remove items from the end of an array than the beginning, given NSArray's current implementation. There are still some circumstances where you are forced to make your own copy of the returned array, but these are few. -- Allan Noordvyk, Software Artisan e-mail: allan@ali.bc.ca ALI Technologies Voice: 604.279.5422 x 317 Richmond, Canada Fax: 604.279.5468 * NeXT and MIME mail welcome * "A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable." --- Les Lamport
From: johns@efn.org (John Selhorst) Newsgroups: comp.sys.next.programmer Subject: Re: [NSView subviews] is evil Date: Tue, 29 Apr 1997 09:42:57 -0700 Organization: himself Message-ID: <johns-2904970942580001@dynip97.efn.org> References: <E9B76H.10v@shinto.nbg.sub.org> In article <E9B76H.10v@shinto.nbg.sub.org>, tomi@shinto.nbg.sub.org (Thomas Engel) wrote: >Hi, > >I just ran into this silly problem and want to share my headache with you. >Beware...[NSView subviews] is evil because it is badly documented. > >In order to remove all your subviews one usually would do: > > mySubviews = [self subviews] > for( i=0; i<[mySubviews count]; i++ ) > [[mySubviews objectAtIndex:i] removeFromSuperview]; > > >Having done so you will realize that only some views get removed while others >get not. > >The problem here is that -subviews returns a reference to the internal >NSArray which really holds the NSViews subviews. It does not return a copy! >While we could argue if this is good or bad...the documentation of this >method is really evil since under OpenStep/NeXTSTEP it used to be common that >methods which return object which are dangerous to mess around are documented >to be that way. > >This is a potential problem with OpenStep as a standard for crossplatform >issues. So while the code shown above might work under GNUstep (which might >return a true copy of the internal array) under NeXTs OpenStep you must do a: > > mySubviews = [self subviews] > while( [mySubviews count]>0 ) > [[mySubviews objectAtIndex:0] removeFromSuperview]; > > >in order to remove the subviews. But this code might not work under GNUstep. A better workaround would be: mySubviews = [self subviews] for( i=[mySubviews count]-1; i>=0; i-- ) [[mySubviews objectAtIndex:i] removeFromSuperview]; This usage is more consistent with the meaning of objectAtIndex. As for [self subviews] yielding a copy of the subviews: That could be just as confusing as the way it is. Would the subviews list contain copies of the views? That wouldn't be very useful in this instance. Johnny
From: jrd@deltanet.com (John Deubert) Newsgroups: comp.sys.next.programmer Subject: Position Available: PostScript trainer, Acquired Knowledge, Inc. Date: Tue, 29 Apr 1997 10:12:48 -0700 Organization: Acquired Knowledge, Inc. Message-ID: <jrd-ya023680002904971012480001@news2.deltanet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Position Available: PostScript Trainer. Acquired Knowledge, Inc., an award-winning training and software company specializing in PostScript, needs a bright, energetic, motivated person with a good technical background and excellent people skills to teach week-long classes in PostScript programming and troubleshooting throughout the United States. Requirements: B.S. Computer Science or equivalent. One to two years of professional programming experience in C or C++ required. Knowledge of PostScript preferred but not necessary. Must like to travel. Sense of humor recommended. We will contribute significantly to the cost of relocating to San Diego. This is an ideal job for a successful programmer who would like a technical job with more people contact than a programmer position can provide. For more information regarding this position, go to http://www.acquiredknowledge.com/HelpWanted.html For more information regarding Acquired Knowledge, please go to http://www.acquiredknowledge.com -- John Deubert Acquired Knowledge, Inc. PostScript training and software San Diego, CA 1-800-482-1252 / 1-619-587-4668
From: "L. Todd Heberlein" <heberlei@NetSQ.com> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Prelude to Rhapsody at WWDC Date: 29 Apr 1997 18:13:42 GMT Organization: mother.com Internet Services Message-ID: <01bc54b8$2119dcf0$0e2168cf@test1> Sorry for the cross posting. Apple will be giving away OPENSTEP and WebObjects development tools at this year's World Wide Developers Conference (WWDC). Included in the bundle are o OPENSTEP User 4.2 for Mach Prerelease 2 o OPENSTEP Developer 4.2 for Mach Prerelease 2 o OPENSTEP Enterprise 4.2 for Windows NT and Win95 o WebObjects Developer 3.1 Associated on-line docs o Printed copy of 'Discovering OPENSTEP: A Developer Tutorial' For the press release, see http://product.info.apple.com/pr/press.releases/1997/q3/970429.pr.rel.wwdc.h tml For information on the WWDC, see http://devworld.apple.com/mkt/WWDC/index.html Cheers, Todd
From: andreas@merkur.lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: Remote-Build is not working Date: 29 Apr 1997 23:10:28 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5k5v54$mv@merkur.lynet.de> Hello, I've a small LAN here (2 PC'S connected via Ethernet). Working on one PC, I tried to build a Project with PB on the second PC. Therefore I entered the name of the remote host (venus) in the appropriate field, but the only thing I got is: Build failed! Couldn't connect to host venus I can ping venus in Terminal.app. Moreover I can execute application via OpenSesame on the remote hist. Why is the corresponding PB-facility not working? Any ideas? Andreas Hoeschler
From: andreas@merkur.lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: MultiThreadedDO-Example -- need help Date: 29 Apr 1997 13:20:02 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5k4si2$1oh@merkur.lynet.de> Hello, I'm new too OpenStep-Programming and urgently need more information (StepByStep-Introduction). I've managed to write some simple applications using multiple nib-files, showing some dialog-windows,... , but I hardly get any further now. The Online-Docu is confusing me and I seldom find what I look for. For example in ImplementingASubClassOfNSView.rtf they recommend to look for DPSClientLibrary Reference for programming with PostScript, but where is this File. I searched the whole disk in FileViewer and did not find it. Second I would like to learn something about multithread-programming, but the only thing I found about it is the MultiThreadedDO-Example withot any explanations. Any hints?
From: Charles William Swiger <cs4w+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Remote-Build is not working Date: Tue, 29 Apr 1997 23:31:21 -0400 Organization: Fifth yr. senior, Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <4nNfo9_00iWZAIC8tr@andrew.cmu.edu> References: <5k5v54$mv@merkur.lynet.de> In-Reply-To: <5k5v54$mv@merkur.lynet.de> Excerpts from netnews.comp.sys.next.programmer: 29-Apr-97 Remote-Build is not working by Andreas Hoeschler@merkur > Build failed! Couldn't connect to host venus > > I can ping venus in Terminal.app. Moreover I can execute > application via OpenSesame on the remote hist. > Why is the corresponding PB-facility not working? > Any ideas? Remote building requires the rexec daemon to be enabled; unfortunately, rexecd is insecure, and is typically disabled many sysadmins.... -Chuck Charles Swiger | cs4w@andrew.cmu.edu | standard disclaimer ----------------+---------------------+--------------------- I know you're an optimist if you think I'm a pessimist.
From: "Kurt E. Huhner" <khuhner@communique.net!> Newsgroups: comp.sys.next.programmer Subject: NSConcreteArray? Date: Tue, 29 Apr 1997 22:47:45 -0500 Organization: NCS, Inc; http://www.ncs-ssc.com Message-ID: <5k6fg2$2n1$1@kiyoko.communique.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 I am using the following line to sort what I tought was a NSMutableArray: [address sortUsingFunction:SortAddress context: (void *)sortBy]; When I faked creation (at compile time) of the receiver "address" this line worked fine. When I implemented Archive/Unarchive methods and removed the compile time creation of "address", with no other changes, the above line when executed yields: *** -[NSConcreteArray sortUsingFunction:context:]: selector not recognized How did my "address" variable end up being of NSConcreteArray type? Any suggestions? Kurt khuhner@communique.net
From: jalon@drakkar.ens.fr (Julien Jalon) Newsgroups: comp.sys.next.programmer Subject: Re: NSConcreteArray? Date: 30 Apr 1997 04:23:32 GMT Organization: Ecole Normale Superieure, Paris Message-ID: <5k6hg4$6f2$1@nef.ens.fr> References: <5k6fg2$2n1$1@kiyoko.communique.net> The problem is not that your array is a NSConcreteArray (to know why it is so, you can look at the concept of class cluster in : http://www.next.com/Pubs/Documents/OPENSTEP/ProgrammingTopics/IntroFoundation.pdf ) but that your array is an immutable array. You must have a mutable array if you want to modify (here : sort) it. you can sort [address mutableCopy] but not address (or initialize directly address as a NSMutableArray --Julien -- Julien Jalon | Ecole normale superieure jalon@clipper.ens.fr | 45 rue d'Ulm http://www.eleves.ens.fr:8080/home/jalon/ | 75230 Paris Cedex 05 | FRANCE
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: MultiThreadedDO-Example -- need help Date: 30 Apr 1997 07:46:28 GMT Organization: NeXT Software, Inc. Message-ID: <5k6tck$i2a@news.next.com> References: <5k4si2$1oh@merkur.lynet.de> Andreas Hoeschler writes > The Online-Docu is confusing me and I seldom find what I look for. > > For example in ImplementingASubClassOfNSView.rtf they recommend to > look for DPSClientLibrary Reference for programming with PostScript, > but where is this File. I searched the whole disk in FileViewer and did > not find it. This is OPENSTEP 4.1 (or 4.0), right? The files you're looking for are supposed to be in /NextLibrary/Frameworks/AppKit.framework/Resources/English.lproj/Documenta tion/Reference/Functions but they got omitted from the release accidentally. They're back in OPENSTEP 4.2, which should be out soon. > Second I would like to learn something about multithread-programming, > but the only thing I found about it is the MultiThreadedDO-Example > withot any explanations. > > Any hints? I think there's a better example on NeXTanswers somewhere, but I can't find it right now. The documentation for NSThread might be helpful. -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: [NSView subviews] is evil Date: 30 Apr 1997 08:12:51 GMT Organization: NeXT Software, Inc. Message-ID: <5k6uu3$j0a@news.next.com> References: <johns-2904970942580001@dynip97.efn.org> This message ended up being a lot longer than I originally intended. Sorry if I lose any of you along the way... tomi@shinto.nbg.sub.org (Thomas Engel) wrote: >The problem here is that -subviews returns a reference to the internal >NSArray which really holds the NSViews subviews. It does not return a >copy! >While we could argue if this is good or bad...the documentation of this >method is really evil since under OpenStep/NeXTSTEP it used to be >common that methods which return object which are dangerous to mess >around are documented to be that way. I can't speak for what was common under NEXTSTEP, but under OPENSTEP, you should always assume that if you don't want the value of a kit-supplied object changing out from under you, you'll need to copy it (except for those methods documented as returning a newly-created object). This is "hinted at" in zillions of places in the documentation, but we never really come out and say it (not that I could find, anyway). For instance: /NextLibrary/Documentation/NextDev/TasksAndConcepts/ProgrammingTopics/Obje ctOwnership.rtf... ...Ideally a body of code should never be concerned with releasing something it didn't create. The Foundation Framework therefore sets this policy: If you create an object you alone are responsible for releasing it. If you didn't create the object, you don't own it and shouldn't release it. /NextLibrary/Documentation/NextDev/ReleaseNotes/Foundation.rtf... More on Autoreleasing and Retaining The following statements are false: Returned objects are guaranteed to be valid for the scope of the current method. Returned objects are guaranteed to be valid until the current autorelease pool is released. Returned objects are guaranteed to be valid until the end of the current event loop. These are talking about objects getting released out from under you, but the principle is the same. Given the statements above, accessor methods for Foundation and Appkit classes could be implemented as either: //SAFE accessor method -(NSArray *)subviews { return [[_private_mutable_array copy]autorelease]; } or //FAST accessor method -(NSArray *)subviews { return _private_mutable_array; } In practice (i.e. NeXT's implementation), something like the second construct is almost always used. This is primarily an efficiency issue - creating lots of short-lived objects would have an adverse impact on performance. However, you can't depend on the implementation being one way or the other if you want to make sure that your code will work with any implementation of OPENSTEP, present or future. You can really only depend on an object returned from a kit method staying valid through the execution of the message expression that returned it. After that, it might be dealloced, or modified, or replaced inline with a different object... Take Thomas' original code fragment, for instance: >In order to remove all your subviews one usually would do: > > mySubviews = [self subviews] > for( i=0; i<[mySubviews count]; i++ ) > [[mySubviews objectAtIndex:i] removeFromSuperview]; It's entirely possible that mySubviews could get released before you even enter the loop. Turns out that it isn't, but you'd better not depend on that behavior. If you can't even assume that the object still *exists* inside the loop, you certainly can't assume that it's unchanged in value, right? The general rule is: If you don't want an object to disappear mysteriously on you, you have to retain it. If you don't want the contents to change, you need to make a deep copy of it. So, the "always right, never fail" version of the above code looks like: mySubviews = [[self subviews] copy]; for( i=0; i<[mySubviews count]; i++ ) [[mySubviews objectAtIndex:i] removeFromSuperview]; [mySubViews release]; Yes, this is ugly. Do you always have to do it this way? No, you can usually get away with making certain assumptions about the implementation (like that the programmer wasn't totally insane). The "good" news is that the copy message is probably very fast on immutable classes, so if an implementation uses the "safe" method above, the extra copy is probably not much overhead. It might seem more elegant to just use [[self subviews] makeObjectsPerform: @selector(removeFromSuperview)] but that isn't guaranteed to work, either - you're not allowed to perform a method that has the side effect of modifying the array...Of course, you can't possibly know that removeFromSuperView does that, except by the principle of "any method you call can invalidate previously returned values". Here's my best attempt at a clear, correct implementation: mySubviews = [[self subviews] copy]; [mySubViews makeObjectsPerform: @selector(removeFromSuperview)] [mySubViews release]; Alternatively, you could use: mySubviews = [NSArray arrayWithArray: [self subviews]]; [mySubViews makeObjectsPerform: @selector(removeFromSuperview)] Which creates an autoreleased mySubViews, which will disappear when the current autorelease pool gets released. -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: Maf Vosburgh <maf@mmcorp.com> Newsgroups: comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Prelude to Rhapsody at WWDC Date: 30 Apr 1997 13:16:11 GMT Organization: MultiMedia Corporation Distribution: world Message-ID: <5k7gmr$hqc@argon.btinternet.com> References: <01bc54b8$2119dcf0$0e2168cf@test1> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <01bc54b8$2119dcf0$0e2168cf@test1> L. Todd Heberlein, heberlei@NetSQ.com writes: >Apple will be giving away OPENSTEP and WebObjects development tools at this >year's World Wide Developers Conference (WWDC). Yeah, but it's the PC version. Is this really the right time for Apple to be encouraging Mac programmers to buy PC's? Maf ppleTalk, HFS, Objective-C, and a large suite of UNIX-style commands. Information on the release is available on Apple's MkLinux Web site: www.mklinux.apple.com In addition, an Apple-sponsored reference release is available, containing extensive reference material on Linux, Mach, NeXT, and the Power Macintosh: MkLinux: Microkernel Linux for the Power Macintosh Rich Morin, Editor Prime Time Freeware, 1997 ISBN 1-881957-24-1; $50 Visit www.ptf.com or send email to info@ptf.com for more information. -r
From: peiliw@ross.ncmi-gsl.com (Peili Wang) Newsgroups: comp.sys.next.programmer Subject: Re: Seek work on when OS 4.2 will be released. New features Date: 30 Apr 1997 13:29:51 GMT Organization: NationBanc Capital Markets,Inc.(NY) Message-ID: <5k7hgf$hsg@niven.ncmi-gsl.com> References: <5k377f$3mq@usenet.rpi.edu> In article <5k377f$3mq@usenet.rpi.edu> Garance A Drosehn <gad@eclipse.its.rpi.edu> writes: > *NOSPAM~jbk~@world.std.com (Jeffrey Kane) wrote: > > > > Any idea on a projected release date (i.e. are they doing final > > candidates yet)? We've been putting off ordering waiting for > > the new release (our supplier didn't even reorder, as they were > > waiting for 4.2 and didn't want 4.1 excess in stock). > > Current guess is "May/June" timeframe. Probably shortly after > the WWDC. This guess is on my part, and not based on any > insider info... > > --- > Garance Alistair Drosehn = gad@eclipse.its.rpi.edu > Senior Systems Programmer (MIME & NeXTmail capable) > Rensselaer Polytechnic Institute; Troy NY USA Here is info from NeXT on the availability of OPENSTEP Enterprise and OPENSTEP for MACH 4.2 FCS OSE 4.2 for NT : End of April FCS OPENSTEP 4.2 for Mach User and Developer: End of May
From: andreas@merkur.lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: What's [NSString stringWithCharacters:...] doing? Date: 30 Apr 1997 13:21:17 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5k7h0d$34h@merkur.lynet.de> Hello, I'm a little new to Objective-C and can't unserstand the following method of an example in the documentation. - (NSString *)rotateLettersInString:(NSString *)aString { NSString *newString; unsigned length; unichar *buf; unsigned i; length = [aString length]; buf = malloc( (length + 1) * sizeof(unichar) ); [aString getCharacters:buf]; buf[length] = (unichar)0; // not really needed.... for (i = 0; i < length; i++) { if (buf[i] >= (unichar)'a' && buf[i] <= (unichar) 'z') { buf[i] += 13; if (buf[i] > 'z') buf[i] -= 26; } else if (buf[i] >= (unichar)'A' && buf[i] <= (unichar) 'Z') { buf[i] += 13; if (buf[i] > 'Z') buf[i] -= 26; } } newString = [NSString stringWithCharacters:buf length:length]; free(buf); return newString; } The problem is the construction of newString. What's stringWithCharacters doing and when is newString deallocated? The procedure I know is the pair newString = [[Class alloc] init]; ... [newString release]; Thank you in advance! Andreas Hoeschler
From: maury@softarc.com (Maury Markowitz) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Prelude to Rhapsody at WWDC Date: Wed, 30 Apr 1997 11:39:41 -0400 Organization: SoftArc Inc. Distribution: world Message-ID: <maury-3004971139410001@199.166.204.230> References: <01bc54b8$2119dcf0$0e2168cf@test1> <5k7gmr$hqc@argon.btinternet.com> In article <5k7gmr$hqc@argon.btinternet.com>, Maf Vosburgh <maf@mmcorp.com> wrote: > Is this really the right time for Apple to be encouraging Mac programmers > to buy PC's? It's exactly the right time. Maury
From: abridge@wheel.dcn.davis.ca.us (Adam Bridge) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Prelude to Rhapsody at WWDC Date: Wed, 30 Apr 1997 08:15:11 -0700 Organization: Bridge Family Distribution: world Message-ID: <abridge-3004970815120001@dcn59.dcn.davis.ca.us> References: <01bc54b8$2119dcf0$0e2168cf@test1> <5k7gmr$hqc@argon.btinternet.com> In article <5k7gmr$hqc@argon.btinternet.com>, Maf Vosburgh <maf@mmcorp.com> wrote: >In article <01bc54b8$2119dcf0$0e2168cf@test1> L. Todd Heberlein, >heberlei@NetSQ.com writes: >>Apple will be giving away OPENSTEP and WebObjects development tools at this >>year's World Wide Developers Conference (WWDC). > >Yeah, but it's the PC version. >Is this really the right time for Apple to be encouraging Mac programmers >to buy PC's? > > >Maf It's what we've been CRYING for Maf. Most of us want the OPENSTEP experience but find the zillion bucks to acquire it a bit out of our league. This gives us TWO platforms rightaway to work with plus, when Rhapsody is released we can check cross-platform immediately. Apple is giving out a currently deployed technology! They are doing what their current developers need them to do in order to get a product to market quickly! Rhapsody products should be designed for both worlds -- to encourage cross-platform development -- maybe more people will look at Apple solutions and look away from Micro$oft. -- Adam Bridge
From: mpaque@wco.com (Mike Paquette) Newsgroups: comp.sys.next.programmer Subject: Re: Prelude to Rhapsody at WWDC Date: 30 Apr 1997 10:10:06 -0700 Organization: Electronics Service Unit No. 16 Sender: mpaque@mpaque Distribution: world Message-ID: <5k7ude$12v@mpaque.mpaque> References: <5k7gmr$hqc@argon.btinternet.com> In article <5k7gmr$hqc@argon.btinternet.com> Maf Vosburgh <maf@mmcorp.com> writes: > In article <01bc54b8$2119dcf0$0e2168cf@test1> L. Todd Heberlein, > heberlei@NetSQ.com writes: > >Apple will be giving away OPENSTEP and WebObjects development tools at this > >year's World Wide Developers Conference (WWDC). > > Yeah, but it's the PC version. > Is this really the right time for Apple to be encouraging Mac programmers > to buy PC's? Considering that: 1) The PowerPC OPENSTEP products doesn't exist yet 2) Many Mac developers are also PC developers, or have easy access to a PC, or have recently purchased old NeXT hardware. 3) Apple has OPENSTEP User and Developer for Mach, OPENSTEP Enterprise for Windows NT/95, and WebObjects products ready for delivery NOW. This lets Apple give the developers something to use NOW rather than promises of something soon. Tangible receivables generally have more impact than promises and press releases. -- Mike Paquette (mpaque@wco.com) Well, if there *were* anything to say, it would be with the understanding that the PR/Marketing people want to make the announcements on products, so anything I have to say wouldn't actually exist until after then, so what I might have to say now doesn't exist, and what I may say in future can't be said, so theoretically what exists, doesn't, for the immediate future. (With apologies to Joe Straczynski)
From: bueckle@schelling.dbag.ulm.DaimlerBenz.COM (Martin Böckle) Newsgroups: comp.sys.next.programmer Subject: DriverKit Date: 30 Apr 1997 12:57:41 GMT Organization: debis Network Services GmbH Message-ID: <5k7fk5$as5@news.sns-felb.debis.de> Hello, Driverkit gurus! I'm currently working on a kernel level driver for NEXTSTEP 3.3. I use the UNIX-style entry points (open, close, read, write, ioctl, etc.) for communication with user programs. The usage of open, close, read, write, ioctl is well documented, at least in the Driverkit examples. But how to use the mmap function? Does anybody know a driver, which is available in source code and uses the mmap function? Any help will be appreciated. Sincerely, Martin Bueckle ============================================ Martin Bueckle, Daimler-Benz AG, Research Center Ulm Institute of Information Technology Department of Pattern Recognition/Text Understanding P.O. Box 2360, 89013 Ulm, Germany Phone: +49 731 505 2399 Fax: +49 731 505 4113 Email: bueckle@dbag.ulm.daimlerbenz.com ============================================
From: Shapiro@AOL.com (Eric Shapiro) Newsgroups: comp.sys.next.programmer Subject: Re: Apple Dev Conference -- when where howe much Date: Wed, 30 Apr 1997 13:10:01 -0400 Organization: Relium Corp. Message-ID: <Shapiro-3004971310010001@unknown.branch.com> References: <5jdqvt$9gu@news.cc.oberlin.edu> In article <5jdqvt$9gu@news.cc.oberlin.edu>, cjs@occs.cs.oberlin.edu (Miles Standish) wrote: > I'd like to attend the upcoming Apple Developer's conference, when is it > > where is it > > how much is it > > discounts for stduents? May 13-16th San Jose Convention Center $995 No See: <http://www.devworld.apple.com/mkt/WWDC/index.html> There is an internet simulcast for about 20 hours worth of sessions for $100. The web page has more info on this. -Eric -- Eric Shapiro Relium Corp. shapiro@aol.com
From: mcgredo@crl.com (Donald R. McGregor) Newsgroups: comp.sys.next.programmer Subject: Re: Prelude to Rhapsody at WWDC Date: 30 Apr 1997 12:48:51 -0700 Organization: Miskatonic University Department of Classics Message-ID: <5k87n3$apl@crl.crl.com> References: <5k7gmr$hqc@argon.btinternet.com> <5k7ude$12v@mpaque.mpaque> >> >Apple will be giving away OPENSTEP and WebObjects development tools at >this >> >year's World Wide Developers Conference (WWDC). Anyone know if java will be included in the 4.2 release? It might be worth heading up there for a day if so, otherwise I'll probably skip it. -- Don McGregor | Whenever anyone says, "theoretically", they really mean, mcgredo@crl.com | "not really".
From: MaRK_BeSSeY@NeXT.CoM (Mark Bessey) Newsgroups: comp.sys.next.programmer Subject: Re: What's [NSString stringWithCharacters:...] doing? Date: 30 Apr 1997 20:58:53 GMT Organization: NeXT Software, Inc. Message-ID: <5k8bqd$hl9@news.next.com> References: <5k7h0d$34h@merkur.lynet.de> Andreas Hoeschler writes > Hello, > > I'm a little new to Objective-C and can't unserstand the following > method of an example in the documentation. > > newString = [NSString stringWithCharacters:buf length:length]; > The problem is the construction of newString. What's > stringWithCharacters doing and when is newString deallocated? The method [NSString stringWithCharacters: length:] produces an autoreleased NSString object, which will get deallocated when the current autorelease pool is released (typically, at the end of the current event cycle). Almost every OPENSTEP method that returns an object returns an autoreleased object. If you want the object to stay around, you need to retain it, then release it when you're done with it. -- Mark Bessey Apple Computer, Inc. -->I DON'T SPEAK FOR APPLE<--
From: mike@home.telepool.com (Mike Selner) Newsgroups: comp.sys.next.programmer Subject: ATX power off program wanted Date: 30 Apr 1997 20:58:31 GMT Organization: Telepool/Tela Internet Services Message-ID: <5k8bpn$nnk@wolf.tela.com> I would like to write a program to "power" off my ATX (NS 3.3) system. Does anyone have specs on this or know a way to do it? Thanks! Mike Selner Mike@tela.com
From: Chuck_Esterbrook@orcacomputer.com Newsgroups: comp.sys.next.programmer Subject: Re: [NSView subviews] is evil Date: 30 Apr 1997 21:15:18 GMT Organization: Virginia Tech, Blacksburg, Virginia Message-ID: <5k8cp6$aue$1@solaris.cc.vt.edu> References: <johns-2904970942580001@dynip97.efn.org> <5k6uu3$j0a@news.next.com> MaRK_BeSSeY@NeXT.CoM (Mark Bessey) wrote: > This message ended up being a lot longer than I originally intended. Sorry > if I lose any of you along the way... My messaage is also quite long. Sorry, but I had some important things to say and to ask. > tomi@shinto.nbg.sub.org (Thomas Engel) wrote: > >The problem here is that -subviews returns a reference to the internal > >NSArray which really holds the NSViews subviews. It does not return a > >copy! > >While we could argue if this is good or bad...the documentation of this > >method is really evil since under OpenStep/NeXTSTEP it used to be > >common that methods which return object which are dangerous to mess > >around are documented to be that way. > > I can't speak for what was common under NEXTSTEP, but under OPENSTEP, you > should always assume that if you don't want the value of a kit-supplied > object changing out from under you, you'll need to copy it (except for > those methods documented as returning a newly-created object). > [big snip] > The general rule is: If you don't want an object to disappear mysteriously > on you, you have to retain it. If you don't want the contents to change, > you need to make a deep copy of it. > > So, the "always right, never fail" version of the above code looks like: > mySubviews = [[self subviews] copy]; > for( i=0; i<[mySubviews count]; i++ ) > [[mySubviews objectAtIndex:i] removeFromSuperview]; > [mySubViews release]; Isn't that a "shallow" copy rather than a "deep"? If it was "deep" then the views would be copied as well and the entire peice of code would be rather pointless. I do agree with the original poster that there is some rigor lacking in policies about the Foundation and AppKit frameworks. Yes, we can always work around them by writing ultra-paranoid code, but that slows down both our programs and our progress. In practice I doubt that everyone writes every method such that the principe of: > "any method you call can invalidate previously returned values". cannot affect them. Going back and forth from NT and Mach doesn't seem to be too bad (although there are plenty of pitfalls) because the ObjC source is mostly the same. However, there are lots of subtle issues and seemingly arbitrary bug fixes. Often I discover that the behavior of a method is more complex that what the docs say. A large program is going to depend on many of these complexities--you can't avoid it because it will just happen. The bottom line is that under the current scheme I seriously doubt that you will ever take a large project from Apple's domain to GNUstep or Sun and get it working quickly. You will be bogged down is subtle differences between API implementation and behavior. Hell I even had that going from Mach to Windows. Most of my app's windows wouldn't update under NT rendering the app useless! You can't click on the right browser cell if it's not there! The problem was that under Windows an -update message is not always sent to the windows after an event is handled. Under Mach it is. I use this mechanism for keeping the display correct, but it's broken under Windows. As far as I can tell, I should be able to use that mechanism according to the docs. In fact, I thought that was the whole point of it. My fix, which was quite ugly, was to post a dummy event whenever an object gets modified (all my objects say [self changed] when appropriate), which is less efficient, but at least now my program is usable! Of course, I have it #ifdef WIN32 #endif. I have quite a few of those, in fact... That problem took several hours to nail down and then to fix. And that's going from one vendor's Mach OPENSTEP to the *same* vendor's NT OPENSTEP. What would happen if I went to Sun's OPENSTEP or GNUstep? I dare not imagine... Getting back to biz, I do the following, as Mark suggests, whenever I know that the data structure is going to be modified. > Here's my best attempt at a clear, correct implementation: > mySubviews = [[self subviews] copy]; > [mySubViews makeObjectsPerform: @selector(removeFromSuperview)] > [mySubViews release]; BTW Mark, I think the reason that OPENSTEP/NT doesn't always send -update immediately after the event is that when the current event is basically finished, the app sometimes sits inside of NSApp-sendEvent: polling for the next one (I got this idea by breaking in gdb in showing the stack). This doesn't always happen. Just often enough to be a problem. It might be related to modal sessions and/or pop up menus. Because the app was waiting in NSApp-sendEvent: I couldn't even override it to fix it by doing my own [NSApp updateWindows] which I'm sure is already in the NT code anyway. This should be fixed by someone, as it decreases the portability of OPENSTEP code and makes a very nice mechanism very crippled in NT. Do you recommend that I fill out a bug_next report, or will you take it, or forward it, from here? Thanks, -- Chuck Esterbrook, Software Eng. http://www.orcacomputer.com/~chuck --------------------------------------------------------------------- chuck_esterbrook@orcacomputer.com / vo 540 231-3475 / fx 540 231-3480 Orca Computer, Inc. / 1800 Kraft Dr. Suite 111 / Blacksburg, VA 24060
From: andreas@merkur.lynet.de (Andreas Hoeschler) Newsgroups: comp.sys.next.programmer Subject: Programmitically create a NSTextView - does not work Date: 30 Apr 1997 22:46:50 GMT Organization: LyNet Kommunikation und Netzwerkdienste GmbH Message-ID: <5k8i4q$229@merkur.lynet.de> Hello, I'm just studying the file TextOverview.rtfd of the FoundationFrameworkDocumentation. Therein is described how to programmatically create a NSTextView and set it as the new contents of a NSWindow. I dragged a new Window from the Palette to my nibFile, connected the outlet aWindow of my MainController-Class to this window and put the following code in an action-method of the controller-class. - (void)createMyTextView:(id)sender { NSRect contentRect; contentRect = [[aWindow contentView] frame]; theTextView = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, contentRect.size.width, contentRect.size.height)]; [aWindow SetContentView:theTextView]; [aWindow makeKeyAndOrderFront:sender]; [aWindow makeFirstResponder:theTextView]; } But, when I press the button, wich is connected to this action-method, nothing happens (no window is displayed). When I modify this method to the following, the Window is displayed, but the root-view was obviously not replaced, because a test-button, previously added to this window in InterfaceBuilder is still visible. - (void)createMyTextView:(id)sender { NSRect contentRect; contentRect = [[aWindow contentView] frame]; theTextView = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, contentRect.size.width, contentRect.size.height)]; [aWindow makeKeyAndOrderFront:sender]; [aWindow SetContentView:theTextView]; [aWindow makeFirstResponder:theTextView]; } Is this a bug, or did I do something wrong? Thanks for help in advance. Andreas Hoeschler
Newsgroups: comp.sys.mac.scitech,comp.sys.next.hardware,comp.sys.next.programmer,comp.sys.netx.software,comp.sys.mac.programmer.codewarrior,comp.sys.mac.programmer.misc,comp.sys.mac.oop.macapp3 From: hammond_g@drkclu.meng.ucl.ac.uk (Java G) Subject: Re: Developers Coalition idea Sender: news@ucl.ac.uk (Usenet News System) Message-ID: <1997Apr23.132544.68046@ucl.ac.uk> Date: Wed, 23 Apr 1997 13:25:44 GMT References: <335C1958.CE3@ridgecrest.ca.us> Organization: UCL Dept Mech Eng In article <335C1958.CE3@ridgecrest.ca.us>, paul maddox <pmaddox@ridgecrest.ca.us> writes: |> What Apple does not seem to have, however, is the crucial third piece |>of the computer puzzle-- applications. In order to |>make their new strategy compelling to the average consumer, Apple needs |>the support of developers to make office tools, |>games, and other applications that take advantage of this great hardware |>and OS. Without this support, and a large measure of |>it, Apple will go nowhere. Interestingly, Apple are dumping GameSprockets and going for a corporate image when they really should be competing with MS's w95 gaming strategy. -- /** Java G <hammond_g@meng.ucl.ac.uk> * Virtual Reality ROV Docking Planner * http://www.ucl.ac.uk/~zcemm23 * You broke the light, and now... it's dark. */
From: ctm@ardi.com (Clifford T. Matthews) Newsgroups: comp.sys.mac.programmer.misc,comp.sys.mac.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Prelude to Rhapsody at WWDC Followup-To: comp.sys.mac.advocacy,comp.sys.next.advocacy Date: 30 Apr 1997 19:58:53 -0600 Organization: ARDI Sender: ctm@ftp.ardi.com Message-ID: <ufwwpkt0ki.fsf@ftp.ardi.com> References: <01bc54b8$2119dcf0$0e2168cf@test1> <5k7gmr$hqc@argon.btinternet.com> <maury-3004971139410001@199.166.204.230> >>>>> "Maury" == Maury Markowitz <maury@softarc.com> writes: Maury> In article <5k7gmr$hqc@argon.btinternet.com>, Maf Vosburgh Maury> <maf@mmcorp.com> wrote: >> Is this really the right time for Apple to be encouraging Mac >> programmers to buy PC's? Maury> It's exactly the right time. Only because we don't have time travel. Exactly the right time was when Apple switched from Motoroloa 680x0 based systems to a new processor. They could have switched to PPC *and* 80x86 at the same time for only slightly more development cost and then headed off some of the defection to Windows 95. But, assuming it's impossible to go backward in time, now is indeed the right time. Maury> Maury --Cliff ctm@ardi.com http://www.ardi.com/
From: Rich@aol.com Newsgroups: comp.sys.next.programmer Subject: All writers seeking publication Date: Wed, 30 Apr 1997 22:59:28 Organization: Earthlink Network, Inc. Message-ID: <5k90to$m6c@chile.earthlink.net> Now*accepting <new> and <previously published> writers for publication. We are a NEW=YORK based international literary agency with three offices: 2 in NEW=YORK and one in <FLORIDA.> <Please follow guidelines for submission:> For ALL fiction, including screenplays for TV & Movies: Send us a <brief synopsis>, the first chapter, and include a self-addressed, stamped envelope=S.A.S.E. Short Stories: Send brief synopsis, 3 pages, S.A.S.E. Poetry: Send 3 poems, S.A.S.E. For ALL nonfiction: Send us a <brief synopsis>, the first chapter, and include a S.A.S.E. Do not send complete manuscript unless invited. <WOODSIDE=INTERNATIONAL=LITERARY=AGENCY> <Thirty Three Twenty Nine 58 St.> <Wood-Side, New York> <zip: 1.1.3.7.7> <(Tel)=={718}=651=8145>
From: embuck@palmer.cca.rockwell.com (Erik M. Buck) Newsgroups: comp.sys.next.programmer Subject: Re: What's [NSString stringWithCharacters:...] doing? Date: 30 Apr 1997 21:54:17 GMT Organization: Rockwell Collins Message-ID: <5k8f29$n01@castor.cca.rockwell.com> References: <5k7h0d$34h@merkur.lynet.de> Cc: andreas@merkur.lynet.de In <5k7h0d$34h@merkur.lynet.de> Andreas Hoeschler wrote: > The problem is the construction of newString. What's stringWithCharacters > doing and when is newString deallocated? The procedure I know is the pair > > newString = [[Class alloc] init]; > ... > [newString release]; > > Thank you in advance! > > Andreas Hoeschler > > All methods with names like classnameWith... return autoreleased instances. -stringWithCString: and all similar methods return autoreleased instances of NSString. See documentation about release, autorelease, retain

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Marcel Waldvogel and Netfuture.ch.